Programming contests such as International Olympiads in Informatics (IOI) and ACM
International Collegiate Programming Contest (ICPC) are becoming increasingly popular in recent years. To train for these contests, there are several Online Judges available, in which users can test their skills against a usually large set of programming tasks.
In the literature, so far few papers have addressed the problem of recommending tasks in online judges. Most notably, as opposed with traditional Recommender Systems, since the learners improve their skills as they solve more problems, there is an intrinsic dynamic dimension that has to be considered: when recommending movies or books, it is likely that the preferences of the users are more or less stable, whilst in recommending tasks this does not hold true.
In order to help the learners, it is crucial to recommend them tasks that are challenging but not unsolvable compared with their current set of skills. In this paper we present a Recommender System (RS) for Online Judges based on an Autoencoder (Artificial) Neural Network (ANN).
We also discuss the results of an experimental evaluation of our approach in both the scenarios in which we consider, or not, the intrinsic dynamic dimension of the problem. The ANNs are trained with the dataset of all the submissions in the Italian National Online Judge, used to train students for the Italian Olympiads in Informatics.