Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades.
Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party.
Have some students pretend to be robots while other students program them to complete simple tasks to practice debugging and to emphasize the importance of coding precisely.
To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes.
Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way.
Demonstrate swapping variables' values by swapping the contents of two cups full of liquid; you need a third cup to swap the liquids just like you need a third, temporary, variable to swap the values.
Have students work in small groups to solve logic puzzles so they develop algorithmic thinking and good problem-solving habits.
Explain recursion with the example of determining your row in a stadium by asking the row in front of your what row it is… asking until you get to the first row, the base case.
To introduce recursion, try reading The Cat in the Hat Comes Back, or “Martin and the Dragon,” to make the topic more engaging.
To show that algorithm design is difficult, have students write algorithms, exchange their work, and then attempt to execute each others instructions.