Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

CSF: Formative Feedback in Autograding

Published: 10 May 2021 Publication History

Abstract

Autograding systems are being increasingly deployed to meet the challenges of teaching programming at scale. Studies show that formative feedback can greatly help novices learn programming. This work extends an autograder, enabling it to provide formative feedback on programming assignment submissions. Our methodology starts with the design of a knowledge map, which is the set of concepts and skills that are necessary to complete an assignment, followed by the design of the assignment and that of a comprehensive test suite for identifying logical errors in the submitted code. Test cases are used to test the student submissions and learn classes of common errors. For each assignment, we train a classifier that automatically categorizes errors in a submission based on the outcome of the test suite. The instructor maps the errors to corresponding concepts and skills and writes hints to help students find their misconceptions and mistakes. We apply this methodology to two assignments in our Introduction to Computer Science course and find that the automatic error categorization has a 90% average accuracy. We report and compare data from two semesters, one semester when hints are given for the two assignments and one when hints are not given. Results show that the percentage of students who successfully complete the assignments after an initial erroneous submission is three times greater when hints are given compared to when hints are not given. However, on average, even when hints are provided, almost half of the students fail to correct their code so that it passes all the test cases. The initial implementation of the framework focuses on the functional correctness of the programs as reflected by the outcome of the test cases. In our future work, we will explore other kinds of feedback and approaches to automatically generate feedback to better serve the educational needs of the students.

References

[1]
National Center for Women & Information Technology. n.d. Projected computing jobs and CIS degrees earned. Retrieved from http://www.ncwit.org/sites/default/files/file_type/usnatgraphic2022projections_10132014.pdf.
[2]
Computing Research Association. n.d. Generation CS: Computer science undergraduate enrollments surge since 2006. Retrieved from https://cra.org/data/Generation-CS/.
[3]
Stephen H. Edwards and Manuel A. Perez-Quinones. 2008. Web-CAT: Automatically grading programming assignments. In ACM SIGCSE Bulletin, Vol. 40.
[4]
Dejan Milojicic. 2011. Autograding in the cloud: Interview with David O’Hallaron. IEEE Internet Computing 15 (2011), 9–12.
[5]
Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. 2016. Towards a systematic review of automated feedback generation for programming exercises. In Proceedings of the 2016 Conference on Innovation and Technology in Computer Science Education.
[6]
Andy Nguyen, Christopher Piech, Jonathan Huang, and Leonidas Guibas. 2014. Codewebs: Scalable homework search for massive open online programming courses. In Proceedings of the 23rd International Conference on World Wide Web (WWW’14). ACM, New York, NY, 491–502.
[7]
Chris Piech, Jonathan Huang, Andy Nguyen, Mike Phulsuksombati, Mehran Sahami, and Leonidas Guibas. 2015. Learning program embeddings to propagate feedback on student code. arXiv preprint arXiv:1505.05969 (2015).
[8]
Elena L. Glassman, Aaron Lin, Carrie J. Cai, and Robert C. Miller. 2016. Learnersourcing personalized hints. In Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing (CSCW’16). ACM, New York, NY, 1626–1636.
[9]
Andrew Head, Elena Glassman, Gustavo Soares, Ryo Suzuki, Lucas Figueredo, Loris D’Antoni, and Björn Hartmann. 2017. Writing reusable code feedback at scale with mixed-initiative program synthesis. In Proceedings of the 2017 Conference on Learning @ Scale. ACM.
[10]
Valerie J. Shute. 2008. Focus on formative feedback. Review of Educational Research 78, 1 (2008), 153–189.
[11]
Susan A. Ambrose, Michael W. Bridges, Michele DiPietro, Marsha C. Lovett, and Marie K. Norman. 2010. How Learning Works: Seven Research-Based Principles for Smart Teaching. Jossey-Bass.
[12]
Samiha Marwan, Joseph Jay Williams, and Thomas Price. 2019. An evaluation of the impact of automated programming hints on performance and learning. In Proceedings of the 2019 ACM Conference on International Computing Education Research. ACM, 61–70.
[13]
Beverly Park Woolf. 2007. Building Intelligent Interactive Tutors: Student-Centered Strategies for Revolutionizing e-Learning. Morgan Kaufmann Publishers Inc., San Francisco, CA.
[14]
Rishabh Singh, Sumit Gulwani, and Armando Solar-Lezama. 2013. Automated feedback generation for introductory programming assignments. SIGPLAN Notices 48, 6 (2013), 15–26.
[15]
Richard E. Mayer, Jennifer L. Dyck, and William Vilberg. 1986. Learning to program and learning to think: What’s the connection? Communications of the ACM 29, 7 (July 1986), 605–610.
[16]
Karen Brennan and Mitchel Resnick. 2012. New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 Annual Meeting of the American Educational Research Association. 1–25.
[17]
N. Le, F. Loll, and N. Pinkwart. 2013. Operationalizing the continuum between well-defined and ill-defined problems for educational technology. IEEE Transactions on Learning Technologies 6, 3 (2013), 258–270.
[18]
Nguyen-Thinh Le and Niels Pinkwart. 2014. Towards a classification for programming exercises. In Proceedings of the 2nd Workshop on AI-supported Education for Computer Science.
[19]
Gursimran Singh, Shashank Srikant, and Varun Aggarwal. 2016. Question independent grading using machine learning: The case of computer program grading. In Proceedings of the 2016 SIGKDD International Conference on Knowledge Discovery and Data Mining.
[20]
Jessica McBroom, Irena Koprinska, and Kalina Yacef. 2019. A survey of automated programming hint generation - The HINTS framework. ArXiv abs/1908.11566 (2019).
[21]
Loris D’Antoni, Roopsha Samanta, and Rishabh Singh. 2016. Qlose: Program repair with quantitative objectives. In International Conference on Computer Aided Verification. Springer, 383–401.
[22]
Ke Wang, Rishabh Singh, and Zhendong Su. 2018. Search, align, and repair: Data-driven feedback generation for introductory programming exercises. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’18). ACM, New York, NY, 481–495.
[23]
Ryo Suzuki, Gustavo Soares, Elena Glassman, Andrew Head, Loris D’Antoni, and Björn Hartmann. 2017. Exploring the design space of automatically synthesized hints for introductory programming assignments. In Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems (CHI EA’17). Association for Computing Machinery, New York, NY, 2951–2958.
[24]
J. Stamper, T. Barnes, L. Lehmann, and Marvin J. Croy. 2008. The hint factory: Automatic generation of contextualized help for existing computer aided instruction. In Proceedings of the 9th International Conference on Intelligent Tutoring Systems Young Researchers Track. 71--78.
[25]
Benjamin Paaßen, Barbara Hammer, Thomas William Price, Tiffany Barnes, Sebastian Gross, and Niels Pinkwart. 2017. The continuous hint factory - Providing hints in vast and sparsely populated edit distance spaces. CoRR abs/1708.06564 (2017). arxiv:1708.06564 http://arxiv.org/abs/1708.06564
[26]
Rui Zhi, Samiha Marwan, Yihuan Dong, Nicholas Lytle, Thomas W. Price, and Tiffany Barnes. 2019. Toward data-driven example feedback for novice programming. In the 12th International Conference on Educational Data Mining. 218--227.
[27]
Alex Gerdes, Bastiaan Heeren, Johan Jeuring, and L. Thomas van Binsbergen. 2017. Ask-Elle: An adaptable programming tutor for Haskell giving automated feedback. International Journal of Artificial Intelligence in Education 27, 1 (2017), 65–100.
[28]
Philip J. Guo. 2015. Codeopticon: Real-time, one-to-many human tutoring for computer programming. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology (UIST’15). ACM, New York, NY, 599–608.
[29]
Elena L. Glassman, Jeremy Scott, Rishabh Singh, Philip J. Guo, and Robert C. Miller. 2015. OverCode: Visualizing variation in student solutions to programming problems at scale. ACM Transactions on Computer-Human Interaction 22, 2, Article 7 (March 2015), 35 pages.
[30]
Elena L. Glassman, Lyla Fischer, Jeremy Scott, and Robert C. Miller. 2015. Foobaz: Variable name feedback for student code at scale. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology (UIST’15). ACM, New York, NY, 609–617.
[31]
Joseph Bahman Moghadam, Rohan Roy Choudhury, HeZheng Yin, and Armando Fox. 2015. AutoStyle: Toward coding style feedback at scale. In Proceedings of the 2nd (2015) ACM Conference on Learning @ Scale (L@S’15). ACM, New York, NY, 261–266.
[32]
Petri Ihantola, Tuukka Ahoniemi, Ville Karavirta, and Otto Seppälä. 2010. Review of recent systems for automatic assessment of programming assignments. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (Koli Calling’10). Association for Computing Machinery, New York, NY, 86–93.
[33]
Jonathan Huang, Chris Piech, Andy Nguyen, and Leonidas Guibas. 2013. Syntactic and functional variability of a million code submissions in a machine learning MOOC. In Proceedings of the 2013 Workshop on Massive Open Online Courses at the 16th Annual Conference on Artificial Intelligence in Education.
[34]
Shalini Kaleeswaran, Anirudh Santhiar, Aditya Kanade, and Sumit Gulwani. 2016. Semi-supervised verified feedback generation. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’16). ACM, New York, NY, 739–750.
[35]
Björn Hartmann, Daniel MacDougall, Joel Brandt, and Scott R. Klemmer. 2010. What would other programmers do: Suggesting solutions to error messages. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI’10). ACM, New York, NY, 1019–1028.
[36]
Jay Holland, Antonija Mitrovic, and Brent Martin. 2009. J-LATTE: A constraint-based tutor for Java. In The 2009 International Conference on Computers in Education.
[37]
Kelly Rivers and Kenneth R. Koedinger. 2017. Data-driven hint generation in vast solution spaces: A self-improving Python programming tutor. International Journal of Artificial Intelligence in Education 27 (2017), 37--64.
[38]
Miltiadis Allamanis, Earl T. Barr, Premkumar Devanbu, and Charles Sutton. 2017. A survey of machine learning for big code and naturalness. arXiv preprint arXiv:1709.06182 (2017).
[39]
Fred D. Davis. 1989. Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Quarterly 13, 3 (1989), 319–340. http://www.jstor.org/stable/249008

Cited By

View all
  • (2024)The Trees in the Forest: Characterizing Computing Students' Individual Help-Seeking ApproachesProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671099(343-358)Online publication date: 12-Aug-2024
  • (2024)An Approach to Discover Students’ Conceptions in Online Computing Education: A Case Study of Students’ Understanding of Virtual MemoryIEEE Access10.1109/ACCESS.2024.344244012(111546-111564)Online publication date: 2024
  • (2024)Introducing GitHub Classroom into a Formal Methods ModuleFormal Methods Teaching10.1007/978-3-031-71379-8_2(25-42)Online publication date: 10-Sep-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 21, Issue 3
September 2021
188 pages
EISSN:1946-6226
DOI:10.1145/3452111
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 May 2021
Accepted: 01 December 2020
Revised: 01 October 2020
Received: 01 December 2019
Published in TOCE Volume 21, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Autograding
  2. computer science concepts and skills map
  3. error extraction and categorization
  4. code clustering
  5. formative and corrective feedback

Qualifiers

  • Research-article
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)77
  • Downloads (Last 6 weeks)7
Reflects downloads up to 30 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Trees in the Forest: Characterizing Computing Students' Individual Help-Seeking ApproachesProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671099(343-358)Online publication date: 12-Aug-2024
  • (2024)An Approach to Discover Students’ Conceptions in Online Computing Education: A Case Study of Students’ Understanding of Virtual MemoryIEEE Access10.1109/ACCESS.2024.344244012(111546-111564)Online publication date: 2024
  • (2024)Introducing GitHub Classroom into a Formal Methods ModuleFormal Methods Teaching10.1007/978-3-031-71379-8_2(25-42)Online publication date: 10-Sep-2024
  • (2023)Addressing Misconceptions in Introductory Programming: Automated Feedback in Integrated Development EnvironmentsProceedings of the 15th International Conference on Education Technology and Computers10.1145/3629296.3629297(1-8)Online publication date: 26-Sep-2023
  • (2023)Evaluating the Quality of LLM-Generated Explanations for Logical Errors in CS1 Student ProgramsProceedings of the 16th Annual ACM India Compute Conference10.1145/3627217.3627233(49-54)Online publication date: 9-Dec-2023
  • (2023)Evaluation of Submission Limits and Regression Penalties to Improve Student Behavior with Automatic Assessment SystemsACM Transactions on Computing Education10.1145/359121023:3(1-24)Online publication date: 20-Jun-2023
  • (2023)Development of an Autograding System for Weld Bead Surface Quality using Feature Extraction and Mahalanobis-Taguchi System2023 International Conference on Smart Computing and Application (ICSCA)10.1109/ICSCA57840.2023.10087789(1-6)Online publication date: 5-Feb-2023
  • (2022)AP-Coach: formative feedback generation for learning introductory programming concepts2022 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE)10.1109/TALE54877.2022.00060(323-330)Online publication date: Dec-2022
  • (2022)Automation Is Coming! Exploring Future(s)-Oriented Methods in EducationPostdigital Science and Education10.1007/s42438-022-00349-65:1(171-194)Online publication date: 5-Nov-2022
  • (2021)MOCSIDEJournal of Computing Sciences in Colleges10.5555/3512733.351273437:5(11-20)Online publication date: 1-Oct-2021

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media