An analysis on the effectiveness of randomized, auto-graded activities in introductory programming courses

Published 2025

Authors

Jamie Emily Loeber
zyBooks, A Wiley Brand

Ms. Efthymia Kazakou
zyBooks, A Wiley Brand

Dr. Yamuna Rajasekhar
zyBooks, A Wiley Brand

Dr. Annie Hui
zyBooks, A Wiley Brand

Nicole Kehaulani Collins
zyBooks, A Wiley Brand

Free Download

Ready to explore in depth? Download a copy for free.

Get the full version

Abstract

Introductory programming courses are often overwhelming to students who have no prior coding experience. The design of an introductory programming course (CS1) can influence a student’s choice of pursuing computer science in their career. Research shows that breaking down programming concepts to simpler and smaller pieces decreases the cognitive load and struggle for students thereby increasing student interest and retention.

This paper analyzes data from four online, interactive introductory programming textbooks with activities that use a scaffolded approach to teach students programming concepts. The textbooks used are Programming in C++, in Java, in Python, and in C, respectively. The textbooks cover a variety of programming concepts from basic topics such as variables and branches to more advanced concepts such as recursion, across multiple languages. The textbooks have a series of randomized, auto-graded activities presented in a multi-level format, where each level is progressively harder than the previous. The activities are designed as code reading or code writing exercises to assess students’ mastery to read and write code.

We analyzed over 726 such activities with 2179 levels attempted by 107,825 students across 572 universities. We study the average completion rate, the average time spent on an activity, and the average number of attempts per problem level. We further examined the study trends for how often students repeated completed activities for practice. The data validates the effectiveness of a scaffolding approach, and shows the effectiveness of randomized, auto-graded activities to teach programming concepts.

or, go back to the blog.

More action with less text.

zyBooks strike the perfect balance between text volume and engaged learning, with studies showing that students spend more time learning. Performance has been proven to increase and we have research to show it.

Get A Demo
zyBooks textbooks increase student engagement