Create hands-on, meaningful, and relevant projects where students produce artifacts that require rigorous CS content-knowledge and software engineering skills.
Ensure a meaningful introductory CS learning experience for each student by creating differentiated expansions for assignments while providing the same starting points.
Connect students with a wide variety of STEAM professionals to bring authenticity and additional input to students’ CS classroom experience.
Have students label a string’s index values to help them understand how to use Java’s substring method.
Misconception: When students trace through recursive code, they have trouble figuring out if operations are done before or after the recursive call.
Compare objects in Java to cloud-hosted documents, such as Google Docs, for a relatable analogy to explain object references with.
Teach students how to find built-in Java methods in the Javadocs documentation so they can are prepared to use this skill on the AP CS exam.
Have students practice looping through an array in as many ways as possible, such as forwards and backwards, to increase their comfort with array looping.
Have students pay close attention to loop bounds when tracing through code to help them identify and avoid off-by-one errors caused this way.
Discuss and explore the difference between additive (sequential) and multiplicative (nested) loop structures to give students practice reasoning about loops.