ABSTRACT
With the continuously increasing population of students enrolling in introductory programming courses, instructors are facing challenges to provide timely and qualitative feedback. Automated systems are appealing to address scalability issues and provide personalized feedback to students. Many of the current approaches fail to handle flexible grading schemes and low-level feedback regarding (a set of) program statements. The combination of program static analysis in the form of program dependence graphs and approximate graph comparisons is promising to address the previous shortcomings. Current techniques require pairwise comparisons of student programs that does not scale in practice. We explore techniques to learn models that are able to recognize whether an unseen program statement belong to a semantically-similar set of program statements. Our initial results on a publicly-available introductory programming assignment indicate that it is possible to assign with high accuracy an individual program statement to some of the popular semantically-similar sets, and a large proportion is covered with these, which suggests feedback provided by instructors can be automatically propagated to other student programs.
- Tracy Camp, Stuart H. Zweben, Duncan Buell, and Jane Stout. 2016. Booming Enrollments: Survey Data. In SIGCSE. 398--399.Google ScholarDigital Library
- Sue Fitzgerald, Brian Hanks, Raymond Lister, René e McCauley, and Laurie Murphy. 2013. What are we thinking when we grade programs?. In SIGCSE. 471--476.Google Scholar
- Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. 2019. A Systematic Literature Review of Automated Feedback Generation for Programming Exercises. TOCE, Vol. 19, 1 (2019), 3:1--3:43.Google ScholarDigital Library
- Victor J. Marin and Carlos R. Rivero. 2019. Clustering Recurrent and Semantically Cohesive Program Statements in Introductory Programming Assignments. In CIKM. 911--920.Google Scholar
Index Terms
- Learning to Recognize Semantically Similar Program Statements in Introductory Programming Assignments
Recommendations
Clustering Recurrent and Semantically Cohesive Program Statements in Introductory Programming Assignments
CIKM '19: Proceedings of the 28th ACM International Conference on Information and Knowledge ManagementStudents taking introductory programming courses are typically required to complete assignments and expect timely feedback to advance their learning. With the current popularity of these courses in both traditional and online versions, graders are ...
Combining unsupervised and invigilated assessment of introductory programming
ACSW '16: Proceedings of the Australasian Computer Science Week MulticonferenceWe compared student performance on large-scale take-home assignments and small-scale invigilated tests that require competency with exactly the same programming concepts. The purpose of the tests, which were carried out soon after the take home ...
Natural language in introductory programming: an experimental study
ITiCSE '11: Proceedings of the 16th annual joint conference on Innovation and technology in computer science educationAlthough characterized as being "high level", classical programming languages such as Pascal and C have a grammar that is very different from natural language. In this research field, two main streams are noteworthy, one of them is characterized by an ...
Comments