Português

About this research

It is important to understand why students succeed or fail when taking a course so we can improve teaching methods by identifying students needs and to provide personalized education. Smart learning content is defined as visualizations, simulations and web-based environments that provide outputs for students based on the students input [1]. The adoption of smart learning content in classrooms and in self-learning environments motivates students [2]–[5], improves student learning, decreases student dropout or failure [2], [6]–[8] while increasing their self-confidence, especially in female students [6].

Also, Python is a general-purpose language, which means it can be used in a large variety of projects. This can be great to stimulate students, since they can work in projects they actually relate to. Python is also user-friendly and for the past seven years, it has been the fastest-growing major programming language [9], being correlated with trending careers, such as DevOps and Data Scientist [10]. According to the 2015 review [8], only 11 of the Educational Data Mining and Learning Analytics papers about programming courses reported using Python as the course language. However, this is changing. A 2017 review on the Introductory Programming courses in Australasia universities [11] reported a shift from Java to Python in the past years and the 2018 review on Introductory Programming literature [12] already presents a higher number of papers using Python as the course language. Nonetheless, even though we already have different tools to support online learning, it is still hard to find open datasets containing student submissions for Python problems and related information that can be important to get a better insight on students knowledge.

These factors motivate our objective: the creation, deployment and use of online intelligent systems in Introduction to Programming classes using the Python language as a way to uncover students’ difficulties, to understand their knowledge and to provide timely feedback to keep students engaged.

References

[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.

Interested? Take a look at

1. Our Github

2. Festival do Conhecimento da UFRJ 2021

1. Laura O. Moraes, Carlos Eduardo Pedreira (2020). Designing an Intelligent Tutoring System Across Multiple Classes. 4th Educational Data Mining in Computer Science Education (CSEDM), 2020, Virtual Workshop.

2. Laura O. Moraes, Carlos Eduardo Pedreira (2021). Clustering Introductory Computer Science Exercises Using Topic Modeling Methods. IEEE Transactions on Learning Technologies, vol. 14, no. 1, pp. 42-54, Feb. 2021.

3. Laura O. Moraes, Carlos Eduardo Pedreira (2021). Unsupervised Concept Extraction in an Introduction to Programming Course. PhD Thesis in Systems Engineering and Computer Science - COPPE, Universidade Federal do Rio de Janeiro (UFRJ), Rio de Janeiro.
PDF Video Slides

4. Chunpai Wang, Shaghayegh Sahebi, Siqian Zhao, Peter Brusilovsky, Laura O. Moraes (2021). Knowledge Tracing for Complex Problem Solving: Granular Rank-Based Tensor Factorization. Proceedings of the 29th ACM Conference on User Modeling, Adaptation and Personalization (UMAP 21).
PDF Code Video

5. Laura O. Moraes, Carlos Eduardo Pedreira, Carla Delgado, João Pedro Freire (2021). Supporting Decisions Using Educational Data Analysis. Anais Estendidos do XXVII Simpósio Brasileiro de Sistemas Multimídia e Web (WebMedia 2021), pp. 99-102, Novembro 2021, Virtual.
PDF Code Slides

6. Laura O. Moraes, Carlos Eduardo Pedreira, Carla Delgado, João Pedro Freire (2021). Machine Teaching: uma ferramenta didática e de análise de dados para suporte a cursos introdutórios de programação. Anais do II Simpósio Brasileiro de Educação em Computação, pp. 213-223, 24 a 29 de Abril, 2022, Virtual.
PDF Code Video

Team

Arthur Sasse is a Computer Science student at UFRJ. He started to work on the project by adapting Numerical Calculus questions for the platform. Currently, he is working on his undergraduate thesis in the AI field, focusing on analyzing the similarity between the codes submitted by students in Machine Teaching.
Beatriz Queiroz is a student of Information Systems at UNIRIO. She recently started to venture into the infrastructure field and saw in Machine Teaching a good opportunity to develop her knowledge by helping to improve a project that democratizes computing learning. She is currently a volunteer student in Scientific Initiation.
Carla Delgado is a professor at the UFRJ Computational Institute and has numerous publications in the educational technologies and computer science learning field. She has a great interest in the didactics of computing and information technology applied to education, by leading a group research group on these topics. She is co-responsible for the development and management of the methodology and educational didactic materials for programming courses offered by the Computing Institute to students from almost all graduating courses at UFRJ in the exact sciences field (including, for example, graduating courses in mathematics, meteorology, and all engineering disciplines).
Carlos Eduardo Pedreira has bachelor degree (1975) and master 's degree in Electrical Engineering at Pontificia Catholic University of Rio de Janeiro. In 1987, he finished his doctorate degree at Imperial College of Science, Technology and Medicine, University of London. At the moment he’s a teacher from Federal University of Rio de Janeiro where he leads the Artificial Intelligence sector from the Systems and Computing department at COPPE (PESC/COPPE). He's been a visiting researcher at University of Salamanca, from Spain, since 2002. His main research interests are Pattern Classification and Machine Learning. He was the founder president of the Brazilian Society of Computational Intelligence and received the Science and Innovation Santander Bank Award in 2006. He was the Laura O. Moraes doctoral supervisor.
Gabriel Xará is a student in the Computer Engineering program. He became involved in the project due to his interest in programming education. He is responsible for assisting in the infrastructure of Machine Teaching, as well as implementing actions to ensure integration and continuous delivery to the project developers.
Hugo Folloni is a Computer Science student at UFRJ. He has a great interest in technology-focused education and saw the project as an opportunity to combine his interest with his education by participating in the selection process and working with the platform's functional and infrastructure areas. Currently, he is a Scientific Initiation student in the project with a private scholarship.
João Pedro Freire is a student in the Statistics program at UFRJ. He started in the project as a student, using the Machine Teaching system during the introduction to programming course. After completing the course, he volunteered to incorporate improvements and advance the system with new functionalities. Currently, he is a Scientific Initiation student with a scholarship from CNPq in this project.
Juliana Barros de Sousa is an undergraduate student in Electronic and Computer Engineering at UFRJ, with an interest in data science and artificial intelligence. She is being advised by Laura Moraes on her final project, which studies whether LLM models (Large Language Models like GPT and LLAMA) are good study tools for beginners in Python programming logic.
Laura Moraes was the one who initiated the project. She developed the platform during her doctorate degree in Computer Engineering and Systems (COPPE/PESC) in the Artificial Intelligence research line. Currently, she is a professor at Colégio Pedro II and dedicates herself to research activities in the field of technology for education, particularly in computer education. In 2018, she was a fellow in the Data Science for Social Good program, where she created models for predicting individuals at risk of long-term unemployment organized by the University of Chicago with Nova SBE. In 2019, she was a finalist at the 2nd PFL Engineering PhD Summit in Switzerland, where she presented the preliminary results of the project.
Lucca Braga is an Information Systems student at UNIRIO. Seeking to deepen his knowledge and experiences in the field of programming, he saw in Machine Teaching the possibility to expand his studies in the area and collaborate in the development of a project that contributes to the learning and teaching of programming. Currently, he works on the project as a PRADIG (Programa de Acompanhamento de Discente de Graduação) scholarship holder.

Past collaborators

Renan Alves is a student of Information Systems at UNIRIO. Aiming to combine his interest in development and new technologies with his education, he noticed in Machine Teaching a way to leverage his studies in the field and to promote a tool capable of facilitating and boosting the relationship of more and more people with programming. Currently, he is a volunteer student in Scientific Initiation.

Support




`

Universities using this research