Mapeamento sistemático sobre resolução de problemas em disciplina introdutória de programação com teste de software

Resumo


Teste de software é um forma de tratar as dificuldades enfrentadas no processo de aprendizagem de programação para alunos iniciantes nos cursos de Computação. O objetivo desta pesquisa é identificar estudos neste tema com relação à resolução de problemas em disciplinas introdutórias de programação. Para isto, foi realizado um mapeamento sistemático com base na resolução de problemas em disciplinas introdutórias de programação com a aplicação de técnicas de teste de software e TDD (Test-Driven Development) como forma de estruturar melhor o raciocino lógico do aluno. Diversas abordagens foram identificadas, com resultados positivos quanto à resolução de problemas em disciplinas introdutórias de programação com auxílio de teste de software.
Palavras-chave: Educação em Computação, TDD, Teste de Software

Referências

Beaubouef, T. e Mason, J. (2005). Why the high attrition rate for computer science students: Some thoughts and observations. SIGCSE Bulletin, 37(2):103–106.

Bell, J., Linn, M., e Clancy, M. (1994). Knowledge Integration in Introductory Programming: CodeProbe and Interactive Case Studies. Interactive Learning Environments, 4(1):75–95.

Bennedsen, J. e Caspersen, M. E. (2019). Failure rates in introductory programming: 12 years later. Inroads, 10(2):30–36.

Brennan, K. e Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. In Annual Meetting 2012 – American Educational Research Association, p. 1–25.

Buffardi, K. e Edwards, S. H. (2012). Exploring influences on student adherence to test-driven development. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, p. 105–110, Haifa, Israel. ACM.

Caspersen, M. e K¨olling, M. (2006). A novice’s process of object-oriented programming. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA, volume 2006, p. 892–900, Portland, OR.

Cohen, J. (1960). A coefficient of agreement for nominal scales. Educational and Psychological Measurement, 20(1):37–46.

De Souza, D., K¨olling, M., e Barbosa, E. (2017). Most common fixes students use to improve the correctness of their programs. In Proceedings - Frontiers in Education Conference, FIE, volume 2017-October, p. 1–9. IEEE. ISSN: 15394565.

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. 1–10, Koli, Finland. ACM.

Edwards, S. H. (2004). Using software testing to move students from trial-and-error to reflection-in-action. In 35th SIGCSE Technical Symposium on Computer Science Education, p. 26–30, New York, NY, EUA. ACM.

Edwards, S. H., B¨orstler, J., Cassel, L. N., Hall, M. S., e Hollingsworth, J. (2008). Developing a common format for sharing programming assignments. ACM SIGCSE Bulletin, 40(4):167–182.

Garousi, V., Rainer, A., Lauv°as, P., e Arcuri, A. (2020). Software-testing education: A systematic literature mapping. Journal of Systems and Software, 165.

Hilton, A. D., Lipp, G. M., e Rodger, S. H. (2019). Translation from Problem to Code in Seven Steps. In Proceedings of the ACM Conference on Global Computing Education, p. 78–84, Chengdu,Sichuan, China. ACM.

Hsia, P. e Petry, F. (1980). A Framework for Discipline in Programming. IEEE Transactions on Software Engineering, SE-6(2):226–232.

Janzen, D. S., Clements, J., e Hilton, M. (2013). An evaluation of interactive test-driven labs with WebIDE in CS0. In 35th International Conference on Software Engineering, p. 1090–1098, Piscataway, NJ, EUA. IEEE.

Kitchenham, B. A., Budgen, D., e Brereton, O. P. (2010). The value of mapping studies –a participant-observer case study. In 14th International Conference on Evaluation and Assessment in Software Engineering (EASE), p. 1–9, Swinton, Reino Unido. British Computer Society.

Koulouri, T., Lauria, S., e Macredie, R. D. (2015). Teaching introductory programming: A quantitative evaluation of different approaches. Transactions on Computing Education, 14(4):26:1–26:28.

Mendonça, A., Guerrero, D., e Costa, E. (2009). An approach for problem specification and its application in an Introductory Programming Course. In 2009 39th IEEE Frontiers in Education Conference, p. 1–6. ISSN: 2377-634X.

Mourão, A. B. (2017). Uma proposta da eficiência do uso da metodologia ativa baseada em problemas, utilizando dojo de programação, aplicada na disciplina de lógica de programação. (10):667–676.

Pachulski Camara, B. H. e Graciotto Silva, M. A. (2016). A Strategy to Combine Test-Driven Development and Test Criteria to Improve Learning of Programming Skills. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education, p. 443–448, Memphis, Tennessee, USA. ACM.

Petersen, K., Feldt, R., Mujtaba, S., e Mattsson, M. (2008). Systematic mapping studies in software engineering. In 12th International Conference on Evaluation and Assessment in Software Engineering (EASE 2008), p. 68–77, Swindon, Reino Unido. BCS Learning & Development.

Salehi, S., Wang, K. D., Toorawa, R., e Wieman, C. (2020). Can majoring in computer science improve general problem-solving skills? In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, p. 156–161, New York, NY, EUA. ACM.

Scatalon, L. P., Barbosa, E. F., e Garcia, R. E. (2017). Challenges to integrate software testing into introductory programming courses. In 2017 IEEE Frontiers in Education Conference (FIE), p. 1–9, Piscaway, NY, EUA. IEEE.

Scatalon, L. P., Carver, J. C., Garcia, R. E., e Barbosa, E. F. (2019). Software testing in introductory programming courses: A systematic mapping study. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education, p. 421–427, New York, NY, EUA. ACM.

Utting, I., Tew, A. E., McCracken, M., Thomas, L., Bouvier, D., Frye, R., Paterson, J., Caspersen, M., Kolikant, Y. B.-D., Sorva, J., e Wilusz, T. (2013). A fresh look at novice programmers’ performance and their teachers’ expectations. In 18th Annual Conference on Innovation and Technology in Computer Science Education, p. 15–32, New York, NY, EUA. ACM.

Valle, P., Barbosa, E. F., e Maldonado, J. (2015). Um mapeamento sistemático sobre ensino de teste de software. In SBC, editor, 26th Brazilian Symposium on Informatics in Education, Porto Alegre, RS,. SBC.

Watson, C. e Li, F. W. B. (2014). Failure rates in introductory programming revisited. In Proceedings of the 2014 Conference on Innovation and Technology in Computer Science Education, p. 39–44, New York, NY, EUA. ACM.
Publicado
20/07/2021
FEITOSA, Yuri Rafael Grajefe; SILVA, Marco Aurélio Graciotto; FABRI, José Augusto. Mapeamento sistemático sobre resolução de problemas em disciplina introdutória de programação com teste de software. In: WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO (WEI), 29. , 2021, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 358-367. ISSN 2595-6175. DOI: https://doi.org/10.5753/wei.2021.15927.