A Cloud Based Recommender System for Competitive Programming Platforms with Machine and Deep Learning

  • Wilson Julca-Mejia UNMSM
  • Herminio Paucar-Curasma UNMSM / USP

Abstract


Nowadays, online judges are very important to improve programming skills for education and technology companies. For this reason, there are many online judges that include large sets of programming challenges. This creates an information overload problem that affects students due to their lack of expertise in choosing the correct challenge to solve, resulting in frustration and a loss of interest in this topic. To solve this scenario, recommender systems appear, but programming judges have not delved much into it. Consequently, this research aims to evaluate the performance of six selected collaborative filtering techniques via a cloud-based software architecture. To validate our experiments we used real online programming judges like CodeChef and NinjaCoding using cloud based architecture with Amazon Web Services, evaluated through Friedman and Wilcoxon statistical tests. The results indicated that Singular Value Decomposition is the best model evaluated with RMSE metric and the fastest in execution time with big datasets.

Keywords: Programming Online Judges, Recommender Systems, Collaborative Filtering, Machine Learning, Deep Learning

References

M. F. Aljunid and M. Dh. An efficient deep learning approach for collaborative filtering recommender system. Procedia Computer Science, 171:829–836, 2020.

N. Bhalse and R. Thakur. Algorithm for movie recommendation system using collaborative filtering. Materials Today: Proceedings, 2021.

J. Bobadilla, F. Ortega, A. Gutiérrez, and S. Alonso. Classification-based deep neural network architecture for collaborative filtering recommender systems. 2020.

M. Caro-Martinez and G. Jimenez-Diaz. Similar users or similar items? comparing similarity-based approaches for recommender systems in online judges. In International Conference on Case-Based Reasoning, pages 92–107. Springer, 2017.

A. Cruz, C. S. Neto, P. Cruz, and M. Teixeira. Utilização da plataforma beecrowd de maratona de programação como estratégia para o ensino de algoritmos. In Anais Estendidos do XXI Simpósio Brasileiro de Jogos e Entretenimento Digital, pages 754–764, Porto Alegre, RS, Brasil, 2022. SBC. doi: 10.5753/sbgames estendido.2022.225898. URL [link].

N. M. Devadiga. Tailoring architecture centric design method with rapid prototyping. In 2017 2nd International Conference on Communication and Electronics Systems (ICCES), pages 924–930. IEEE, 2017.

P. Fantozzi and L. Laura. Collaborative recommendations in online judges using autoencoder neural networks. In International Symposium on Distributed Computing and Artificial Intelligence, pages 113–123. Springer, 2020.

C. M. Intisar, Y. Watanobe, M. Poudel, and S. Bhalla. Classification of programming problems based on topic modeling. In Proceedings of the 2019 7th International Conference on Information and Education Technology, pages 275–283, 2019.

W. Julca-Mejia, H. D. Calderon-Vilca, and F. C. Cárdenas-Mariño. Evaluation of source code in acm icpc style programming and training competitions. In Avances en Ingenieria de Software a Nivel Iberoamericano, CIbSE 2018, 2018.

D. Kluver, M. D. Ekstrand, and J. A. Konstan. Rating-based collaborative filtering: algorithms and evaluation. Social Information Access, pages 344–390, 2018.

R. Lara-Cabrera, Á. González-Prieto, and F. Ortega. Deep matrix factorization approach for collaborative filtering recommender systems. Applied Sciences, 10(14):4926, 2020.

F. Martínez-Plumed, L. Contreras-Ochando, C. Ferri, J. Hernández-Orallo, M. Kull, N. Lachiche, M. J. Ramírez-Quintana, and P. Flach. Crisp-dm twenty years later: From data mining processes to data science trajectories. IEEE Transactions on Knowledge and Data Engineering, 33(8):3048–3061, 2019.

G. L. McDowell. Cracking the coding interview: 189 programming questions and solutions. CareerCup, LLC, 2015.

F. Ortega, A. Hernando, J. Bobadilla, and J. H. Kang. Recommending items to group of users using matrix factorization based collaborative filtering. Information Sciences, 345:313–324, 2016.

F. D. Pereira, H. B. Junior, L. Rodriguez, A. Toda, E. H. Oliveira, A. I. Cristea, D. B. Oliveira, L. S. Carvalho, S. C. Fonseca, A. Alamri, et al. A recommender system based on effort: Towards minimising negative affects and maximising achievement in cs1 learning. In International Conference on Intelligent Tutoring Systems, pages 466–480. Springer, 2021.

M. M. Rahman, Y. Watanobe, R. U. Kiran, T. C. Thang, and I. Paik. Impact of practical skills on academic performance: A data-driven analysis. IEEE Access, 9:139975–139993, 2021.

M. M. Rahman, Y. Watanobe, T. Matsumoto, R. U. Kiran, and K. Nakamura. Educational data mining to support programming learning using problem-solving data. IEEE Access, 10:26186–26202, 2022.

R. Y. Toledo and Y. C. Mota. An e-learning collaborative filtering approach to suggest problems to solve in programming online judges. International Journal of Distance Education Technologies (IJDET), 12(2):51–65, 2014.

H. Wu, Y. Liu, L. Qiu, and Y. Liu. Online judge system and its applications in c language teaching. In 2016 International Symposium on Educational Technology (ISET), pages 57–60. IEEE, 2016.

R. Yera and L. Martínez. A recommendation approach for programming online judges supported by data preprocessing techniques. Applied Intelligence, 47(2):277–290, 2017.
Published
2023-08-23
JULCA-MEJIA, Wilson; PAUCAR-CURASMA, Herminio. A Cloud Based Recommender System for Competitive Programming Platforms with Machine and Deep Learning. In: CONGRESS ON TECHNOLOGIES IN EDUCATION (CTRL+E), 8. , 2023, Santarém/PA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 11-20. DOI: https://doi.org/10.5753/ctrle.2023.231448.