Abstract
With MOOC sizes increasing every day, improving scalability and practicality of grading and tutoring of such courses is a worthwhile pursuit. To this end, we introduce TipsC. By analyzing a large number of correct submissions, TipsC can search for correct codes resembling a given incorrect solution. TipsC then suggests changes in the incorrect code to help the student fix logical errors.
We evaluate the effectiveness of TipsC’s clustering algorithm on data collected from past offerings of an introductory programming course conducted at IIT Kanpur. The results show the weighted average variance of marks for clusters when similar submissions are grouped together is 47% less compared to the case when all programs are grouped together.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The source code is available at https://github.com/HexFlow/tipsy. The web playground for TipsC is deployed at http://tipsy.hexflow.in.
References
Ahmed, U.Z., Kumar, P., Karkare, A., Kar, P., Gulwani, S.: Compilation error repair: for the student programs, from the student programs. In: ICSE-SEET 2018, pp. 13–22 (2018)
Bhatia, S., Singh, R.: Automated correction for syntax errors in programming assignments using recurrent neural networks. arXiv:1603.06129 (2016)
Das, R., Ahmed, U.Z., Karkare, A., Gulwani, S.: Prutor: a system for tutoring CS1 and collecting student programs for analysis. arXiv:1608.03828 (2016)
Gulwani, S., Radicek, I., Zuleger, F.: Feedback generation for performance problems in introductory programming assignments. In: FSE 2014, pp. 41–51 (2014)
Gulwani, S., Radicek, I., Zuleger, F.: Automated clustering and program repair for introductory programming assignments. arXiv:1603.03165 (2016)
Gupta, R., Pal, S., Kanade, A., Shevade, S.: DeepFix: fixing common C Language errors by deep learning. In: AAAI 2017 (2017)
Head, A., Glassman, E., Soares, G., Suzuki, R., Figueredo, L., D’Antoni, L., Hartmann, B.: Writing reusable code feedback at scale with mixed-initiative program synthesis. In: L@S 2017 (2017)
Murtagh, F.: A survey of recent advances in hierarchical clustering algorithms. Comput. J. 26(4), 354–359 (1983)
Parihar, S., Dadachanji, Z., Singh, P.K., Das, R., Karkare, A., Bhattacharya, A.: Automatic grading and feedback using program repair for introductory programming courses. In: ITiCSE 2017 (2017)
Pu, Y., Narasimhan, K., Solar-Lezama, A., Barzilay, R.: Sk\_P: a neural program corrector for MOOCs. In: SPLASH Companion 2016 (2016)
Sharma, S., Agarwal, P., Mor, P., Karkare, A.: TipsC: tips and corrections for programming MOOCs. arXiv:1804.00373 (2018)
Yi, J., Ahmed, U.Z., Karkare, A., Tan, S.H., Roychoudhury, A.: A feasibility study of using automated program repair for introductory programming assignments. In: ESEC/FSE 2017 (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Sharma, S., Agarwal, P., Mor, P., Karkare, A. (2018). TipsC: Tips and Corrections for programming MOOCs. In: Penstein Rosé, C., et al. Artificial Intelligence in Education. AIED 2018. Lecture Notes in Computer Science(), vol 10948. Springer, Cham. https://doi.org/10.1007/978-3-319-93846-2_60
Download citation
DOI: https://doi.org/10.1007/978-3-319-93846-2_60
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-93845-5
Online ISBN: 978-3-319-93846-2
eBook Packages: Computer ScienceComputer Science (R0)