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

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

Resumo


Hoje em dia, os juízes online são muito importantes para melhorar as habilidades de programação para empresas de educação e tecnologia. Por esse motivo, existem muitos juízes online que incluem grandes conjuntos de desafios de programação. Isso cria um problema de sobrecarga de informações que afeta os alunos devido à falta de experiência em escolher o desafio correto para resolver, resultando em frustração e perda de interesse por esse tópico. Para resolver esse cenário, surgiram os sistemas de recomendação, mas os juízes de programação não se aprofundaram muito nisso. Consequentemente, esta pesquisa visa avaliar o desempenho de seis técnicas de filtragem colaborativa selecionadas por meio de uma arquitetura de software baseada em nuvem. Para validar nossos experimentos, usamos juízes de programação online reais como CodeChef e NinjaCoding usando arquitetura baseada em nuvem com Amazon Web Services, avaliados por meio de testes estatísticos de Friedman e Wilcoxon. Os resultados indicaram que a Singular Value Decomposition é o melhor modelo avaliado com a métrica RMSE e o mais rápido em tempo de execução com grandes conjuntos de dados.

Palavras-chave: Programming Online Judges, Recommender Systems, Collaborative Filtering, Machine Learning, Deep Learning

Referências

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.
Publicado
23/08/2023
JULCA-MEJIA, Wilson; PAUCAR-CURASMA, Herminio. A Cloud Based Recommender System for Competitive Programming Platforms with Machine and Deep Learning. In: CONGRESSO SOBRE TECNOLOGIAS NA EDUCAÇÃO (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.