After tutoring beginners for over 6 years, I realized that a major weakness in the way programming is taught is that beginners don't get to practice reading code enough. I made this site to randomly generate python programs for the user to read and figure out the output. It can be configured based on the student's level of ability, e.g. you can include or exclude different variable types, and the difficulty levels gradually introduce more complex statements, like if/elif/else, loops, and nested loops. There are three different exercises currently: control flow (this submission's link), boolean expressions, and functions.
I've been using this with one of my students during development and it seems to have helped. He certainly got faster at reading code, and I think the skill has transferred over to writing code as well.
I've been using this with one of my students during development and it seems to have helped. He certainly got faster at reading code, and I think the skill has transferred over to writing code as well.