Have students use a recursive algorithm to solve the problem of only eating the squares of a chocolate bar that contain nuts to introduce recursive algorithms for arrays.
Introduce recursion using the example of opening a present wrapped in several layers of wrapping paper.
Have students design a simple game using classes in Python so they realize that even beginners are capable of writing interesting programs.
Have students analyze geographic data and election return data by making a graph of “Purple America” in Java so that they can develop the tools to visualize their own data through coding.
Have students implement a seam carving program in Java to give them experience with dynamic programming, and with manipulating 2D and 3D arrays.
Have students write methods that perform tasks of a standard music player in Java to give them practice manipulating data structures in a familiar context.
Have students implement a simple GeoLocation class in Java that finds the distance between two locations using the Google Maps API to give students an interesting introduction to object-oriented programming.
Use the Code.org unplugged lesson “Conditionals with Cards” to help students build an intuitive sense for how conditionals and nested conditionals work.
Assign students to draw a dodecagon in Scratch before introducing repeat blocks so that once you introduce the repeat block, it is clear that it is a time-saving block.