Use Class Responsibility Collaboration (CRC) cards to consistently introduce ideas like objects throughout an AP CS course.
Introduce memory and efficiency a few months into the AP CS course. Do so in a hands-on way by demonstrating how a computer cannot compute a slow problem.
Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party.
Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades.
Because high-school students are interested in driving, transportation is a great model for introducing class hierarchies and interfaces.
Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze.
Build a paper airplane instead of the PB&J exercise for a less messy, more extensible algorithms introduction activity.
Teach hierarchical task analysis using Requirement Cards to sort through 100 requirements engineers have created for a robot cleaning up a nuclear disaster.
When preparing students for industry jobs, create chaos in team projects so they can learn to handle the environment.
When introducing version control, set students up for failure to facilitate group discussions; it’s crucial that students develop good modes of communicating.
Standard tutorials have too much information to be appropriate in introductory courses; try using excerpts from them or creating your own.
Make sure screenshots use the same Operating System (and version) as the environments your students are working in so you don’t overwhelm them.
Walk students through the flow of information once you hit submit on a website to build fluency with web development.