É importante entender os motivos por que alguns alunos são mais bem-sucedidos do que outros ao fazer um curso, para que possamos aprimorar os métodos de ensino ao identificar as necessidades dos alunos e oferecer uma educação personalizada. Um ambiente de aprendizagem inteligente é aquele que provê visualizações, simulações e inferências aos alunos e educadores a partir de dados coletados dinamicamente [1]. Sabe-se que a adoção de um ambiente de aprendizagem inteligente em salas de aula e em ambientes de auto-aprendizagem ajuda a motivar os alunos [2]-[5], melhorar a aprendizagem, diminuir os casos de abandono e a reprovação [2], [6]-[8], enquanto aumenta a autoconfiança dos alunos, especialmente em estudantes do sexo feminino [6].
Além disso, o Python é uma linguagem de propósito geral, o que significa que pode ser usada em uma grande variedade de projetos. Isso é ótimo para estimular os alunos, pois eles podem trabalhar em projetos com os quais realmente se identificam. Python também possui uma interface amigável e, nos últimos sete anos, tem sido a linguagem de programação com maior crescimento em termos de adoção [9], estando correlacionada com carreiras em alta, como DevOps e Cientista de Dados [10]. De acordo com a revisão de 2015 [8],apenas 11 dos artigos de Mineração de Dados Educacionais e Learning Analytics sobre cursos de programação relataram o uso de Python como a linguagem utilizada no curso. No entanto, isso está mudando. Uma revisão de 2017 sobre os cursos de Introdução à Programação nas universidades da Australásia [11] relatou uma mudança de Java para Python nos últimos anos enquanto a revisão de 2018 [12] já apresentou um número maior de artigos usando Python como a linguagem principal do curso. Ainda assim, embora já tenhamos diferentes ferramentas para apoiar a aprendizagem online, ainda é difícil encontrar bancos de dados abertos contendo respostas e submissões de alunos para problemas em Python e outras informações importantes para se obter uma melhor percepção do conhecimento dos alunos.
As condições apresentadas motivam nossos principais objetivos: o desenvolvimento, a implantação e o uso de sistemas inteligentes online em aulas de Introdução à Programação usando a linguagem Python como uma forma de descobrir as dificuldades dos alunos, compreender seus conhecimentos e processos cognitivos de aprendizado e fornecer feedback para mantê-los envolvidos e engajados.
Referências
[1] P. Brusilovsky et al., “Increasing Adoption of Smart Learning Content for Computer Science Education,” 2014, doi: 10.1145/2713609.2713611.
[2] L. Benotti, M. J. Gomez, F. Aloi, and F. Bulgarelli, “The effect of a web-based coding tool with automatic feedback on students’ performance and perceptions,” SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education. 2018.
[3] I. Jivet, M. Scheffel, M. Specht, and H. Drachsler, “License to evaluate: Preparing learning analytics dashboards for educational practice,” ACM International Conference Proceeding Series. 2018.
[4] A. Latham, K. Crockett, D. McLean, and B. Edmonds, “A conversational intelligent tutoring system to automatically predict learning styles,” Computers and Education, vol. 59, no. 1, pp. 95–109, 2012, doi: 10.1016/j.compedu.2011.11.001.
[5] R. Lobb and J. Harlow, “Coderunner: A tool for assessing computer programming skills,” ACM Inroads, 2016, doi: 10.1145/2810041.
[6] A. N. Kumar, “The effect of using problem-solving software tutors on the self-confidence of female students,” ACM SIGCSE Bulletin, 2008, doi: 10.1145/1352322.1352309.
[7] E. Johns, O. M. Aodha, and G. J. Brostow, “Becoming the expert - Interactive multi-class machine teaching,” in Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2015, vol. 07-12-June, pp. 2616–2624, doi: 10.1109/CVPR.2015.7298877.
[8] P. Ihantola et al., “Educational Data Mining and Learning Analytics in Programming : Literature Review and Case Studies,” ITiCSE WGR’16, 2015, doi: 10.1145/2858796.2858798.
[9] “The Incredible Growth of Python | Stack Overflow,” Stack Overflow Blog, Sep. 06, 2017. https://stackoverflow.blog/2017/09/06/incredible-growth-python/ (accessed Aug. 28, 2020).
[10] “Stack Overflow Developer Survey 2018,” Stack Overflow. https://insights.stackoverflow.com/survey/2018/?utm_source=so-owned&utm_medium=social&utm_campaign=dev-survey-2018&utm_content=social-share (accessed Aug. 28, 2020).
[11] R. Mason and Simon, “Introductory Programming Courses in Australasia in 2016,” in Proceedings of the Nineteenth Australasian Computing Education Conference, Geelong, VIC, Australia, Jan. 2017, pp. 81–89, doi: 10.1145/3013499.3013512.
[12] A. Luxton-Reilly et al., “Introductory programming: a systematic literature review,” in Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, Larnaca, Cyprus, Jul. 2018, pp. 55–106, doi: 10.1145/3293881.3295779.