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

Support




`

Universities using this research