Designing and Evaluating Fine-Grained Interactive Practice Tools for Novice Programming Learners
Zihan Wu · Deep Blue (University of Michigan) · 2025
Programming skills are increasingly valuable, yet dropout and failure rates in introductory college-level computing courses remain high worldwide. Many students disengage because they find the courses too challenging. Many courses require programming from scratch, which can be especially difficult for novices. This dissertation addresses these challenges by designing and evaluating fine-grained, interactive programming practice tools that are both engaging and effective for novice learners through three studies. My first two studies draw inspiration from Parsons problems, where learners need to rearrange mixed-up code blocks to solve a problem. I introduce micro Parsons problems, a new type of programming practice that enables fine-grained practice of individual code statements. I designed, implemented, and evaluated different versions of micro Parsons problems in learning contexts that are especially challenging for novices. In the final study, I broaden my focus from evaluating specific tools to understanding design considerations for programming practice tools in general. I explored how to personalize computing practice tools to support individual learner preferences, enabling fine-grained personalization. In the first study, I designed micro Parsons problems for regular expressions (regex) and compared them to traditional text-entry practice. A within-subjects think-aloud study with eight learners found that learners perceived micro Parsons problems as easier and more conducive to experimentation with unfamiliar symbols. A large-scale between-subjects study with 3,752 MOOC learners showed that micro Parsons problems resulted in a significantly lower dropout rate from optional practice compared to text-entry, while maintaining comparable learning gains. To validate effectiveness in another domain, I next designed micro Parsons problems for SQL. Through a within-subjects counterbalanced study with 12 novice learners explored block-based and execution-based feedback mechanisms, I found that students expressed mixed preferences among the problem types but all valued the tool. Two classroom-based field studies (n1 = 74, n2 = 46) found that learners who practiced with micro Parsons problems achieved equal or higher learning gains than those using traditional methods. Finally, motivated by findings that learners have diverse preferences and the emergence of generative AI for education, I explored how to personalize practice tools. Participatory design studies with 15 learners and 10 instructors investigated reasons for seeking help, preferred types of help, and desired levels of control in personalized learning. I found that learners' preferences vary widely, and even experienced instructors need learner input to personalize effectively. Both groups favored systems that share control, though learners preferred more autonomy, and instructors preferred more system guidance. Collectively, this work advances our understanding of how fine-grained, flexible practice tools can support novice programmers and offers design insights for creating more engaging, personalized learning environments in computing education.