PyBryt: auto-assessment and auto-grading for computational thinking
Christopher Pyles, Francois van Schalkwyk, Gerard J. Gorman, Marijan, Beg, Lee Stott, Nir Levy, and Ran Gilad-Bachrach

TL;DR
PyBryt is a Python library that provides automated, formative feedback on programming assignments by dynamically evaluating student code and comparing intermediate results to reference solutions, enhancing computational thinking education.
Contribution
Introduces a novel dynamic evaluation approach for auto-assessment and auto-grading of programming tasks, enabling scalable and personalized feedback for students.
Findings
Effective in providing relevant feedback to students
Facilitates teaching of computational thinking skills
Demonstrates utility in educational settings
Abstract
We continuously interact with computerized systems to achieve goals and perform tasks in our personal and professional lives. Therefore, the ability to program such systems is a skill needed by everyone. Consequently, computational thinking skills are essential for everyone, which creates a challenge for the educational system to teach these skills at scale and allow students to practice these skills. To address this challenge, we present a novel approach to providing formative feedback to students on programming assignments. Our approach uses dynamic evaluation to trace intermediate results generated by student's code and compares them to the reference implementation provided by their teachers. We have implemented this method as a Python library and demonstrate its use to give students relevant feedback on their work while allowing teachers to challenge their students' computational…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Online Learning and Analytics · Experimental Learning in Engineering
