Ampliando a Compreensão de Problemas em Programação: Avaliação de uma Estratégia Educacional Baseada em Teste de Software

Resumo


Programar requer a habilidade de converter problemas iniciais em instruções claras e bem definidas que produzem resultados, uma competência essencial em cursos introdutórios. No entanto, alunos iniciantes frequentemente enfrentam dificuldades, especialmente na compreensão inicial dos problemas. Este estudo examina o uso de uma estratégia baseada em teste de software que ajuda a esclarecer as especificações dos problemas. Investigamos a eficácia dessa abordagem em melhorar a compreensão dos alunos e favorecer a correta resolução dos exercícios. No estudo empírico realizado, observamos uma melhora significativa no desempenho dos alunos, destacando a estratégia proposta como valiosa para o processo de resolução de problemas em programação.
Palavras-chave: programação introdutória, resolução de problemas, teste de software

Referências

Almeida, A., Araújo, E., e Figueiredo, J. (2023). Investigando o uso de testes para apoiar a resolução de problemas de programação. In Anais do XXXIV Simpósio Brasileiro de Informática na Educação, páginas 357–367, Porto Alegre, RS, Brasil. SBC.

Basu, S., Wu, A., Hou, B., e DeNero, J. (2015). Problems before solutions: Automated problem clarification at scale. In Proceedings of the Second (2015) ACM Conference on Learning@ Scale, páginas 205–213.

Beck, K. (2003). Test-driven development: by example. Addison-Wesley Professional.

Cabo, C. (2019). Fostering problem understanding as a precursor to problem-solving in computer programming. In 2019 IEEE Frontiers in Education Conference (FIE), páginas 1–9. IEEE.

Denny, P., Prather, J., Becker, B. A., Albrecht, Z., Loksa, D., e Pettit, R. (2019). A closer look at metacognitive scaffolding: Solving test cases before programming. In Proceedings of the 19th Koli Calling International Conference on Computing Education Research, páginas 1–10.

Edwards, S. H., e Perez-Quinones, M. A. (2008). Web-cat: automatically grading programming assignments. In Proceedings of the 13th annual conference on Innovation and Technology in Computer Science Education, páginas 328–328.

Feitosa, Y. R. G., Silva, M. A. G., e Fabri, J. A. (2021). Mapeamento sistemático sobre resolução de problemas em disciplina introdutória de programação com teste de software. In Anais do XXIX Workshop sobre Educação em Computação, páginas 358–367. SBC.

Grady, J. O. (1995). System engineering planning and enterprise identity, volume 7. CRC Press.

Özmen, B., e Altun, A. (2014). Undergraduate students’ experiences in programming: difficulties and obstacles. Turkish Online Journal of Qualitative Inquiry, 5(3):1–27.

Polya, G., e Conway, J. (2004). How to Solve It: A New Aspect of Mathematical Method. Penguin Mathematics. Princeton University Press.

Wrenn, J., e Krishnamurthi, S. (2019). Executable examples for programming problem comprehension. In Proceedings of the 2019 ACM Conference on International Computing Education Research, ICER ’19, páginas 131–139, New York, NY, USA. Association for Computing Machinery.

Wrenn, J., e Krishnamurthi, S. (2021). Reading between the lines: Student help-seeking for (un)specified behaviors. In Proceedings of the 21st Koli Calling International Conference on Computing Education Research, páginas 1–6.
Publicado
04/11/2024
ALMEIDA, André; ANDRADE, Wilkerson L.; GUERRERO, Dalton D. S.. Ampliando a Compreensão de Problemas em Programação: Avaliação de uma Estratégia Educacional Baseada em Teste de Software. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 35. , 2024, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 276-288. DOI: https://doi.org/10.5753/sbie.2024.242446.