Development and usability testing of a web application to streamline the creation of problems packages for BOCA-administered programming competitions
Resumo
BOCA is a programming contest management system widely used in Brazil. To register a programming problem in BOCA, a problem package consisting of a PDF problem statement and test case files for automated code assessment is required. However, the problem package creation feature in BOCA is rather limited. Therefore, in this paper, we present BOCA Problems Builder — a web application to streamline the creation of problems packages for BOCAadministered competitions. A key feature of the application is an extensive builtin catalog of programming problems sourced from the archives of the OBI and the Programming Marathon. A formative usability testing was conducted to evaluate the application and its results indicated a satisfactory user experience.
Referências
Alves, E. (2019). ejtools. [link].
Audrito, G., Ciobanu, M., Laura, L., et al. (2023). Giochi di Fibonacci: Competitive programming for young students. Olympiads in Informatics, pages 19–31.
Cheah, C. S. (2020). Factors contributing to the difficulties in teaching and learning of computer programming: A literature review. Contemporary Educational Technology, 12(2):ep272.
Cheah, W. H., Jusoh, N. M., Aung, M. M. T., Ab Ghani, A., and Rebuan, H. M. A. (2023). Mobile technology in medicine: Development and validation of an adapted System Usability Scale (SUS) questionnaire and modified Technology Acceptance Model (TAM) to evaluate user experience and acceptability of a mobile application in MRI safety screening. Indian Journal of Radiology and Imaging, 33(1):36–45.
Cimon, L., Thoma, M., and Peveler, M. (2024). pypdf. [link].
da Cruz, A. K. B. S., Neto, C. d. S. S., da Cruz, P. T. M. B., and Teixeira, M. A. M. (2022). 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. SBC.
Davis, F. D. (1989). Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Quarterly, pages 319–340.
de Campos, C. P. (2024). BOCA: BOCA Online Contest Administrator. [link].
de Campos, C. P. and Ferreira, C. E. (2004). BOCA: Um sistema de apoio a competições de programação. In Workshop de Educação em Computação. Sociedade Brasileira de Computação.
Flórez, F. B., Casallas, R., Hernández, M., Reyes, A., Restrepo, S., and Danies, G. (2017). Changing a generation’s way of thinking: Teaching computational thinking through programming. Review of Educational Research, 87(4):834–860.
Gold, Z. and Latonero, M. (2017). Robots welcome: Ethical and legal considerations for web crawling and scraping. Wash. JL Tech. & Arts, 13:275.
Han, S. (2024). Googletrans. [link].
International Organization for Standardization (ISO) (2018). Ergonomics of human-system interaction—Part 11: Usability: Definitions and concepts (ISO 9241-11: 2018).
Knightley, S. (2024). JSZip. [link].
Kurtanović, Z. and Maalej, W. (2017). Automatically classifying functional and non-functional requirements using supervised machine learning. In 2017 IEEE 25th International Requirements Engineering Conference (RE), pages 490–495. IEEE.
Lammes, S. (2024). Dexie.js. [link].
Lewis, J. R. (2018). The system usability scale: Past, present, and future. International Journal of Human–Computer Interaction, 34(7):577–590.
Lima, D. T., Moura, F. R. T., Alves, A. V. N., de Moura Parracho, T., Zacarias, R. O., dos Santos, R. P., and da Rocha Seruffo, M. C. (2022). Ux-tracking: Web and multimodal tool for user experience evaluation. In Anais Estendidos do XXVIII Simpósio Brasileiro de Sistemas Multimídia e Web, pages 107–110. SBC.
Lourenço, D. F., Carmona, E. V., and Lopes, M. H. B. d. M. (2022). Tradução e adaptação transcultural da System Usability Scale para o português do Brasil. Aquichan, 22(2).
Maggiolo, S. and Mascellani, G. (2012). Introducing CMS: A contest management system. Olympiads
Moreno, J. and Pineda, A. F. (2018). Competitive programming and gamification as a strategy to engage students in computer science courses. Revista ESPACIOS, 39(35).
Nunes, D. (2024). ds-contest-tools. [link].
Otto, M. and Thornton, J. (2024). Bootstrap. [link].
Pampuch, B. and M., L. (2024). pdfmake. [link].
Perrig, S. A., von Felten, N., Honda, M., Opwis, K., and Brühlmann, F. (2023). Development and validation of a positive-item version of the visual aesthetics of websites inventory: The VISAWI-POS. Indian Journal of Radiology and Imaging, pages 1–25.
Piekarski, A. E., Miazaki, M., Hild, T., Mulati, M. H., and Kikuti, D. (2015). A metodologia das maratonas de programação em um projeto de extensão: Um relato de experiência. In Anais dos Workshops do Congresso Brasileiro de Informática na Educação, volume 4, page 1246.
Piekarski, A. E. T., Miazaki, M., da Rocha Junior, A. L., Militão, E. P., and da Silva, J. V. P. (2023). Programação competitiva em um projeto de extensão para o ensino técnico em informática. Revista Conexão UEPG, 19(1):1–14.
Riihiaho, S. (2018). Usability testing. The Wiley Handbook of Human-Computer Interaction, 1:255–275.
Rühsen, T., Shah, D., and Scrivano, G. (2024). GNU Wget2. [link].
Sarsa, S., Denny, P., Hellas, A., and Leinonen, J. (2022). Automatic generation of programming exercises and code explanations using large language models. In Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1, pages 27–43.
Silva, T. R. d. M. B., Braga, G., Silva, M. A. L., Araújo, M., et al. (2023). Maratonando! Inspirando e capacitando programadores com diversidade de gênero e variedade de competições. In Anais do XVII Women in Information Technology, pages 346–351. SBC.
Singer-Vine, J. (2024). pdfplumber. [link].
Vaithilingam, P. and Guo, P. J. (2019). Bespoke: Interactively synthesizing custom GUIs from command-line applications by demonstration. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology, pages 563–576.
Xia, B. S. (2017). A pedagogical review of programming education research: What have we learned? International Journal of Online Pedagogy and Course Design (IJOPCD), 7(1):33–42.
Yuen, K. K., Liu, D. Y., and Leong, H. V. (2023). Competitive programming in computational thinking and problem solving education. Computer Applications in Engineering Education, 31(4):850–866.
Zavala, L. and Mendoza, B. (2018). On the use of semantic-based AIG to automatically generate programming exercises. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, pages 14–19.