When you write a function, like (foo x), students don’t realize you can put a variable with a name OTHER than x in there, or an actual number.
When tracing through code in Java, use different colors for code that is executed in a main method versus in a class method.
Introduce “base-case” and “smaller-caller” as a helpful way for students to remember the different parts of recursion.
Encourage students by reminding them that they can become great at computer science through hard work, even if they’ve gotten a 1 or a score lower than they’re comfortable with on the AP test, or if they are not currently a star student.
Have students work in small groups to solve logic puzzles so they develop algorithmic thinking and good problem-solving habits.