Have some students act as robots while their peers give them instructions to teach students how to interact with and think like machines.
Have students color maps using the fewest number of colors while ensuring that bordering countries are different colors to expose them to optimization problems.
Challenge students to place the fewest number of ice cream vans on a map of a town while maximizing ice cream availability to introduce the brute-force method in an accessible way.
Use Monopoly, explaining that the game is a class, to demonstrate Java classes and objects in a familiar and interactive way.
Ask student teams to design a controller for a coffee machine in Java to practice design modification.
Misconception: Students think you can use the “item (any) of (list)” block in Snap! and Scratch to check for every item in a list, but this block actually returns a random item.
Have students implement simple filters on sound objects so they can parse strings of notes into recognizable melodies to get practice manipulating strings.
As a final project, have students create a generic side-scrolling game in Java so they can creatively showcase their object-oriented programming abilities.
Have students create a program in Python that draws a map of the stars in order to gain practice using dictionaries to manipulate real data.
Emphasize the importance of documentation when working with spreadsheets or any programming language for future reference.