Ask students “Do we need a loop here?” to help them determine the appropriate loop to use without having to know the proper syntax to write that loop.
Misconception: Students who are familiar with writing code in block-based languages like Scratch still need support transitioning to text-based languages like Java.
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.
Incorporate robotics into your class to increase students’ interest in computer science in order to motivate their learning.
Compare classes in Java to the drawers of a file cabinet to model object oriented programming through an easy to recognize analogy.
Create a programmatic contract, a document that states students will break an assignment into smaller components, for a large programming project to give students experience with modular design.
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.