Have students design a game of Asteroid in Java to introduce developing an object and class hierarchy.
Demo visualizations of code executing online, using tools like Python Tutor, and on paper before having students practice visualizing code execution in the same way to better learn how code executes.
Have students trace loops with break statements to reinforce the behavior of break because tracing is a powerful and straight-forward exercise.
Misconception: Students may think that assigning one array to point to another array makes a copy of that array, failing to make a distinction between shallow and deep copies.
Plan and structure your lectures using detailed questions that address possible confusion whose answers motivate the new content and further a student’s understanding of the material.
Start by having students transpose code from one loop type to the other when teaching all the different conditionals for the AP CS A exam.