Use programming spreadsheet functions as an introduction to programming to give students a simple but powerful mechanism for writing basic programs.
Have students design a program in Python that performs various sound-processing tasks to give them a fun way to practice using variables, assignments, if-statements, and functions.
Have students implement a web-based driving game in JavaScript to pick up classmates, who appear as 2D avatars, within Google Earth and drop them off at their homes to show students that arrays and objects are applicable to real-world problems.
Have students use Python’s Turtle graphics to draw fractals using a Lindenmayer system, instead of recursion, to give students experience with string manipulation.
Have students create a Python program that implements an automated authorship detection algorithm, which gives them an opportunity to practice working with strings, lists, and loops.
Use Droplet, a blocks-based text editor, to help bridge students’ learning gap between blocks and text.
Draw a digital 8 on the board to introduce an activity that uses the seven segment display to show how any information can be encoded into functions.
Compare classes in Java to the drawers of a file cabinet to model object oriented programming through an easy to recognize analogy.
Introduce recursion using the example of opening a present wrapped in several layers of wrapping paper.
Emphasize the importance of developing a consistent naming schema, especially for booleans, as a part of good style.