Learning problem generator for introductory programming courses
Artem Prokudin, Oleg Sychev, Mikhail Denisov · Software Impacts · 2023
Automatic learning-problem generation saves effort on creating problem banks. It allows creating banks containing thousands problems, which prevents cheating, allows training until mastery, and lets intelligent tutoring systems find problems for every learning situation. We present a learning problem generator ToP, designed to generate problems for introductory programming courses from open-source code. It supports teaching determining the order of expression evaluation and program tracing. It was integrated into the CompPrehension tutor to generate initial problem banks problems and update them on the fly. It was used in studies of learning-problem generation that demonstrated that generated problems are indistinguishable from human-authored ones.