Uma nova metodologia para o desenvolvimento de sistemas de correção automática de listas de exercícios de programação baseada em testes de unidade
Resumo
Este trabalho propõe uma nova metodologia para o desenvolvimento de sistemas de correção automática de listas de exercícios de programação baseada em testes de unidade. Utilizando esta metodologia, os alunos tem cada unidade de seu código avaliada imediatamente após a sua codificação sem a necessidade de intervenção do professor. No caso de alguma unidade (procedimento ou função) estar incorreta, uma mensagem de erro é exibida para o aluno, acompanhada por uma explicação que pode ajudá-lo a implementar aquela unidade corretamente. Um estudo de caso em turmas de Algoritmos e Estruturas de Dados da UFMG mostrou que o uso dos testes de unidade permitiu que os alunos rapidamente identificassem e corrigissem os erros de seu código sem a ajuda do professor da disciplina.
Referências
Cheang, B., Kurnia, A., and Oon, A. L. W. (2003). On automated grading of programming assignments in an academic institution. Computers and Education, 41:121–131.
Dustin, E., Rashka, J., and Paul, J. (1999). Automated Software Testing - Introduction, Management and Performance. Addison-Wesley, Reading.
Google Test (2010). [link] (referência on-line).
Hamill, P. (2004). Unit Test Frameworks Tools for High-Quality Software Development. O’Reilly Media, Reading.
ICPC (2010). Acm-icpc. [link] (referência on-line).
JUNIT (2010). [link] (referência on-line).
Kurnia, A., Lim, A., and Oon, W.-C. (2001). Online Judge. Computers and Education, 36:299–315.
Kurnia, A., Malafiejsk, M., and Noinsk, T. (2008). Application of an Online Judge and Contester System in Academic Tuition. Advances in Web Based Learning in ICWL 2007, 4823-2008:343–354.
Misra, S. (2003). Evaluating four white-box test coverage methodologies. In Evaluating four white-box test coverage methodologies, volume 3, pages 1739 – 1742 vol.3.
MOODLE (2010). [link] (referência on-line).
Schleimer, S., Wilkerson, D. S., and Aiken, A. (2003). Winnowing: local algorithms for document fingerprinting. In SIGMOD ’03: Proceedings of the 2003 ACM SIGMOD international conference on Management of data, pages 76–85, New York, NY, USA. ACM.
Schleimer, S., Wilkerson, D. S., and Aiken, A. (2010). Moss plugin. [link] (referência on-line).
Woo, Y.-H., Hong, S.-W., and Kim, S.-B. (2008). A study on the self-directed learning management system. In NCM ’08: Proceedings of the 2008 Fourth International Conference on Networked Computing and Advanced Information Management, pages 119–122, Washington, DC, USA. IEEE Computer Society.