Auto-graded Scaffolding Exercises For Theoretical Computer Science

Jeff Erickson, Jason Xia, Eliot W. Robson, Tue Do, Aidan Glickman, Zhuofan Jia, Eric Jin, Jiwon Lee, Patrick Lin, Steven Pan, Sam Ruggerio, Tomoko Sakurayama, Andrew Lukas Yin, Yael Gertner, Brad Solomon · 2024

Abstract This paper describes an ongoing effort to develop auto-graded scaffolding exercises to support an upper-division theoretical computer science class at a large Midwestern public university. The course covers a mixture of formal languages, automata theory, and design and analysis of algorithms. The course has a steady-state enrollment of 400 students per semester, almost all undergraduates majoring in computer science or computer engineering, for whom the course is required. Most of our auto-graded exercises are organized as guided problem sets. Each guided problem set consists of a small number of multi-stage exercises, implemented as a sequence of questions that guide students through the process of solving a design or proof question. Our guided problem sets support multiple correct solutions, detect common mistakes, automatically provide counterexamples for incorrect answers, provide helpful narrative feedback, and award partial credit consistent with grading rubrics for written homeworks and exams. Some exercises incorporate new interactive elements that enable students to submit solutions similar to written homework. These elements allow drawing finite state machines, writing structured sentences that are auto-graded and provide feedback, and drag-and-drop blocks for writing proofs and pseudocode. We report the results of a student survey to gauge the effectiveness of our scaffolding exercises to help students master the material, and just as importantly, to improve their confidence in that mastery.

Read the paper · More papers on PaperTik