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.
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.