Algorithmic pedagogy: using code analysis to deliver targeted supplemental instruction


Journal Title

Journal ISSN

Volume Title



Learning to program has long been known to be a difficult task, requiring a student to develop both fluency in the syntax and grammar of a formal programming language and learn the problem-solving approaches and techniques of computational thinking. The successful teaching strategies of the past have involved maintaining small teacher-student ratios and large amounts of supplemental instruction in lab courses. However, recent growth in the demand for programming courses from both computer science major and nonmajor students has drastically outpaced the expansion of computer science faculty and created a shortage in available lab space and time across American universities.

This study involved creating a software tool for automatically delivering targeted supplemental instruction to students based on a real-time algorithmic analysis of the program code they were writing. This approach was piloted with students enrolled in a sophomore-level object-oriented software development course. The majority of students reported finding the detection and reporting of issues in their code helpful. Moreover, students who were less proficient programmers entering the course who utilized the tool showed statistically significant improvement in their final exam grade over those who did not. Thus, adopting the strategy piloted in this study could improve instruction in larger classes and relieve some of the strain on overburdened computer science departments while providing additional learning benefits for students.



Code analysis, Computer science education

Graduation Month



Doctor of Philosophy


Curriculum and Instruction Programs

Major Professor

Jacqueline D. Spears