Have pairs of students aim to achieve the same patterns on Battleship boards to teach them the precision necessary for algorithmic design.
Have students find the best method of sorting a group of unknown weights to teach them about sorting algorithms.
Have students act as elements walking through a network to sort themselves to teach students about how Sorting Networks function.
Organize a game in which students in a circle need to obtain their assigned item by passing the items between empty-handed neighbors to interactively demonstrate deadlock.
Have students play a game of Telephone and trace the path of a message to introduce how computers create phylogenetic trees.
Direct students in an activity to find Treasure Island by sailing from one island node to another to help them conceptualize finite-state machines.
Organize an activity in which one student gives other students precise instructions for how to draw a certain picture to teach students how a computer executes code.
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.
Have students use Android devices with App Inventor to ease the process of viewing their app on a device; this provides them with meaningful motivation.