Analysis of the Relationship Between Programming Fundamentals and Computational Thinking Concepts in Students' Portfolios in a Distance Learning Programming Course

Abstract


The teaching of programming is fundamental for the development of abstraction and problem-solving skills in high school students and is related to the development of computational thinking. To facilitate the learning of programming concepts, block-based programming language tools have been developed in recent years, such as App Inventor. However, the scarcity of specialized teachers in the area poses a challenge to the widespread teaching of this type of content in conventional basic education. Distance education (EaD) is one of the alternatives to overcome this problem. This article presents an evaluation carried out with high school students from public schools in the state of Ceará, who participated in a distance programming course called "Fábrica de Programadores - Aprendendo a programar com Games". In this course, the App Inventor platform was used for the development of practical programming projects, and the evaluation proposed in this article was conducted through a rubric that relates programming fundamentals to levels of development in computational thinking by analyzing the portfolios of practical exercises submitted by the students participating in the course.In the analyzed module, 200 submissions were made, of which 123 were deemed suitable for analysis. Among these, 5 contained errors, highlighting the challenges faced by the students who submitted them, while 99 submissions, equivalent to 80,48% of the submissions eligible for analysis, achieved the highest level in the computational thinking concepts addressed in the module. This demonstrates that using App Inventor as a programming learning tool for students in a distance learning format was effective.

Keywords: computational thinking, programming fundamentals, app inventor, distance learning, high school

References

Bordini, A., Avila, C. M. O., Weisshahn, Y., da Cunha, M. M., da Costa Cavalheiro, S. A., Foss, L., Aguiar, M. S., and Reiser, R. H. S. (2016). Computaçao na educaçao básica no brasil: o estado da arte. Revista de Informática Teórica e Aplicada, 23(2):210–238.

Code.org (2023). Code.org. Acessado em 13 de outubro de 2023.

Council, N. R. et al. (2011). Report of a workshop on the pedagogical aspects of computational thinking. National Academies Press. Acessado em 30 de setembro de 2023.

da Cruz Alves, N. and von Wangenheim, C. G. (2023). Uma análise em larga-escala das funcionalidades de aplicativos criados com app inventor. In Anais do III Simpósio Brasileiro de Educação em Computação, pages 27–36. SBC.

da Cruz Alves, N., von Wangenheim, C. G., and Hauck, J. C. R. (2020). Teaching programming to novices: A large-scale analysis of app inventor projects. In 2020 XV Conferencia Latinoamericana de Tecnologias de Aprendizaje (LACLO). IEEE. Acessado em 16 de setembro de 2023.

dos Santos, V. G. and da Silva, S. L. (2020). Educação tecnológica: o ensino da programação para crianças do ensino fundamental através do ambiente code. org. Conecte-se! Revista Interdisciplinar de Extensão, 4(7):23–39.

fdr (2023). Aprendendo a programar com games. Acessado em 7 de outubro de 2023.

Kaminski, M. R. and Boscarioli, C. (2019). Uso do ambiente code. org para ensino de programação no ensino fundamental i-uma experiência no desafio hora do código. Revista ENCITEC, 9(1):63–76.

MEC (2017). Base nacional comum curricular educação é a base. pages 477–544. Acessado em 16 de setembro de 2023.

MEC (2022). Computação na educação básica - complemento à bncc. Acessado em 24 de junho de 2024.

MIT (2022a). Mit app inventor. Acessado em 12 de agosto de 2024.

MIT (2022b). Sharing and remixing apps. Acessado em 23 de novembro de 2023.

MIT (2023). Scratch. Acessado em 13 de outubro de 2023.

Monroy-Hernández, A. and Resnick, M. (2008). Empowering kids to create and share programmable media. interactions, 15(2):50–53. Acessado em 14 de agosto de 2024.

Moreno-León, J., Robles, G., and Román-González, M. (2015). Dr. scratch: Automatic analysis of scratch projects to assess and foster computational thinking. RED. Revista de Educación a Distancia, (46):1–23. Acessado em 30 de setembro de 2023.

Nascimento, R. d. S. (2023). O uso da ferramenta app inventor no ensino de programação em cursos de ti. Acessado em 2 de outubro de 2023.

Oliveira, W. and Cambraia, A. C. (2020). Desafios na formação de professores de computação: Reflexões e ações em construção. In Anais do XXVI Workshop de Informática na Escola, pages 319–328. SBC.

Park, Y. and Shin, Y. (2019). Comparing the effectiveness of scratch and app inventor with regard to learning computational thinking concepts. Electronics, 8(11):1269. Acessado em 16 de setembro de 2023.

Patton, E. W., Tissenbaum, M., and Harunani, F. (2019). Mit app inventor: Objectives, design, and development. Computational thinking education, pages 31–49. Acessado em 2 de outubro de 2023.

Scherer, R., Siddiq, F., and Viveros, B. S. (2019). The cognitive benefits of learning computer programming: A meta-analysis of transfer effects. Journal of Educational Psychology, 111(5):764–792. Acessado em 9 de setembro de 2023.

Sherman, M. and Martin, F. (2015). The assessment of mobile computational thinking. Journal of Computing Sciences in Colleges, 30(6):53–59. Acessado em 27 de novembro de 2023.

Sherman, M., Martin, F., Baldwin, L., and DeFilippo, J. (2014). App inventor project rubric–computational thinking through mobile computing. [link]. Acessado em 27 de novembro de 2023.

Sousa, L. D. L., Farias, E. J., and de Carvalho, W. V. (2020). Programação em blocos aplicada no ensino do pensamento computacional: Um mapeamento sistemático. In Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). Sociedade Brasileira de Computação.

Tang, X., Yin, Y., Lin, Q., Hadad, R., and Zhai, X. (2020). Assessing computational thinking: A systematic review of empirical studies. Computers & Education, 148:103798. Acessado em 1 de outubro de 2023.

Tsai, C.-Y. (2019). Improving students’ understanding of basic programming concepts through visual programming language: The role of self-efficacy. Computers in Human Behavior, 95:224–232. Acessado em 2 de outubro de 2023.

UFC (2022). Fundamentos de programação. Acessado em 13 de outubro de 2023.

USP (2017). Fundamentos de linguagem de programação. Acessado em 13 de outubro de 2023.

von Wangenheim, C. G., Hauck, J. C., Demetrio, M. F., Pelle, R., da Cruz Alves, N., Barbosa, H., and Azevedo, L. F. (2018). Codemaster–automatic assessment and grading of app inventor and snap! programs. Informatics in Education, 17(1):117–150. Acessado em 30 de setembro de 2023.

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3):33–35. Acessado em 12 de agosto de 2024.
Published
2024-11-04
ARAUJO, Elias Dias de; TEIXEIRA, Deglaucy Jorge; MENEZES, Maria Viviane de. Analysis of the Relationship Between Programming Fundamentals and Computational Thinking Concepts in Students' Portfolios in a Distance Learning Programming Course. In: BRAZILIAN SYMPOSIUM ON COMPUTERS IN EDUCATION (SBIE), 35. , 2024, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 2037-2050. DOI: https://doi.org/10.5753/sbie.2024.241811.