← Dataset Catalog

CSEDM 2019 Data Challenge

Publisher DataShop
Description The dataset used in the challenge comes from a study of novice Python programmers working with the ITAP intelligent tutoring system. For more information on the original experiment, see . There are 89 total students represented, and they worked on 38 problems over time. The study lasted over 7 weeks. The students could attempt the problems in any order, though there was a default order. Students could attempt the problem any number of times, receiving feedback from test cases each time, and they could also request hints from ITAP (though access was limited for students, depending on the week and their experimental condition). The dataset itself contains a record for each attempt and hint request that students made while working.
Resource Type URL
Data Type Programming
Creator Rivers, Kelly
Availability open (through signup on Datashop)
Rights 0
Programming Language Python
Collection Start Date 2016
Collection End Date 2016
Publication Year 2019
Number of Semesters 1
Data Protection Anonymized
Measurement Type Knowledge Tracing
Population Students
Sample Size 89
Country USA
Educational Institution Carnegie Mellon University
Data Standard 0
Learning Environment ITAP intelligent tutoring system
Aggregation yes
Aggregation Level Submissions/Hint events
Related Publication @inproceedings{10.1145/2960310.2960333, author = {Rivers, Kelly and Harpstead, Erik and Koedinger, Ken}, title = {Learning Curve Analysis for Programming: Which Concepts do Students Struggle With?}, year = {2016}, isbn = {9781450344494}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/2960310.2960333}, doi = {10.1145/2960310.2960333}, abstract = {The recent surge in interest in using educational data mining on student written programs has led to discoveries about which compiler errors students encounter while they are learning how to program. However, less attention has been paid to the actual code that students produce. In this paper, we investigate programming data by using learning curve analysis to determine which programming elements students struggle with the most when learning in Python. Our analysis extends the traditional use of learning curve analysis to include less structured data, and also reveals new possibilities for when to teach students new programming concepts. One particular discovery is that while we find evidence of student learning in some cases (for example, in function definitions and comparisons), there are other programming elements which do not demonstrate typical learning. In those cases, we discuss how further changes to the model could affect both demonstrated learning and our understanding of the different concepts that students learn.}, booktitle = {Proceedings of the 2016 ACM Conference on International Computing Education Research}, pages = {143–151}, numpages = {9}, keywords = {educational data mining, knowledge components, learning curve analysis, programming syntax}, location = {Melbourne, VIC, Australia}, series = {ICER '16} }
Research Question What are the KCs (Knowledge components) of programming? What are the steps and opportunities in a programming problem? How should correctness be measured for each of these steps?
Future Work In future work, we plan to modify the KCs used in the models we’ve generated to see if we can improve the modeling of the student data.
Fairness Score Total score: 4% (initial) Findability: 1 of 7 Accessibility: 0 of 3 Interoperability: 0 of 4 Reusability: 0 of 10
ResourceOpen Dataset