Abstract
The number of introductory programming learners is increasing worldwide. Delivering feedback to these learners is important to support their progress; however, traditional methods to deliver feedback do not scale to thousands of programs. We identify several opportunities to improve a recent data-driven technique to analyze individual program statements. These statements are grouped based on their semantic intent and usually differ on their actual implementation and syntax. The existing technique groups statements that are semantically close, and considers outliers those statements that reduce the cohesiveness of the clusters. Unfortunately, this approach leads to many statements to be considered outliers. We propose to reduce the number of outliers through a new clustering algorithm that processes vertices based on density. Our experiments over six real-world introductory programming assignments show that we are able to reduce the number of outliers and, therefore, increase the total coverage of the programs that are under evaluation.
This material is based upon work supported by the National Science Foundation under Grant No. 1915404.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Camp, T., Zweben, S.H., Buell, D.A., Stout, J.: Booming enrollments: survey data. In: ACM Technical Symposium Computing Science Education, SIGCSE 2016, pp. 398–399 (2016)
Cheng, J., Ke, Y., Chu, S., Özsu, M.T.: Efficient core decomposition in massive networks. In: IEEE International Conference on Data Engineering, ICDE 2011, pp. 51–62 (2011)
Fitzgerald, S., Hanks, B., Lister, R., McCauley, R., Murphy, L.: What are we thinking when we grade programs? In: ACM Technical Symposium on Computer Science Education, SIGCSE 2013, pp. 471–476 (2013)
Huang, J., Piech, C., Nguyen, A., Guibas, L.J.: Syntactic and functional variability of a million code submissions in a machine learning MOOC. In: Workshops at the International Conference on Artificial Intelligence in Education, AIED Workshops 2013 (2013)
Jawalkar, M.S., Hosseini, H., Rivero, C.R.: Learning to recognize semantically similar program statements in introductory programming assignments. In: ACM Technical Symposium on Computer Science Education, SIGCSE 2021, p. 1264 (2021)
Keuning, H., Jeuring, J., Heeren, B.: A systematic literature review of automated feedback generation for programming exercises. ACM Trans. Comput. Educ. (TOCE) 19(1), 3:1–3:43 (2019)
Marin, V.J., Pereira, T., Sridharan, S., Rivero, C.R.: Automated personalized feedback in introductory Java programming MOOCs. In: IEEE International Conference on Data Engineering, ICDE 2017, pp. 1259–1270 (2017)
Marin, V.J., Rivero, C.R.: Clustering recurrent and semantically cohesive program statements in introductory programming assignments. In: ACM International Conference on Information and Knowledge Management, CIKM 2019, pp. 911–920 (2019)
Singh, R., Gulwani, S., Solar-Lezama, A.: Automated feedback generation for introductory programming assignments. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2013, pp. 15–26 (2013)
Wang, K., Singh, R., Su, Z.: Search, align, and repair: data-driven feedback generation for introductory programming exercises. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, pp. 481–495 (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Marin, V.J., Hosseini, H., Rivero, C.R. (2021). Customizing Feedback for Introductory Programming Courses Using Semantic Clusters. In: Cristea, A.I., Troussas, C. (eds) Intelligent Tutoring Systems. ITS 2021. Lecture Notes in Computer Science(), vol 12677. Springer, Cham. https://doi.org/10.1007/978-3-030-80421-3_30
Download citation
DOI: https://doi.org/10.1007/978-3-030-80421-3_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-80420-6
Online ISBN: 978-3-030-80421-3
eBook Packages: Computer ScienceComputer Science (R0)