Article Preview
TopIntroduction
Programming online judges are applications that automate the process of compiling and testing the solutions to problems that the same tool contains. Each year the presence in the Web of these kinds of applications increases. Worth of note are the ACM-ICPC1 Live Archive (http://eduvalab.uva.es/en/projects/edujudge-project), whose only purpose is the integration of the UVa in an effective educational environment. Also in the University of Informatics Sciences (UCI), in Cuba, there had been some successful experiences focused on the integration of online judges into undergraduate courses programs.
As web applications, online judges are subject to the information overload associated to the World Wide Web in the last few years. The data maintained by the aforementioned applications include a great number of problems and registered users, and lots of code in the submitted solutions, both correct and erroneous. In the UCI intranet currently reside two online judges, containing 850+ problems, 1800+ users, and tens of thousands of solutions submitted, and growing. This amount of data causes that users usually are not able to select the appropriate problem to solve according to their profile.
A classical solution to this information overload is the development of recommender systems (Resnick & Varian, 1997) focused on specific domains. In this paper, we propose the application of traditional recommendation techniques to the new online judge domain, to obtain an online judge recommender system. Firstly, we make a brief overview of online judges, specifying their main functionalities and purposes. After this, we justify the novelty of the online judge recommender scenario over other current state-of-art e-learning recommenders. Then, we develop a new approach to recommend problems to solve in this scenario using their specific data, and we design an experiment to measure its accuracy against baseline methods. Finally, we show our conclusions and the future works.