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.
Create a physical model of Java objects and references in order to demonstrate situations where multiple references point to the same object in a way that’s easier for students to comprehend.
Use linked carabiners to introduce the structure of linked lists and help students visualize the concept.
Ask student teams to design a controller for a coffee machine in Java to practice design modification.
Use Dixie cups with numbers written on the bottom to demonstrate sorting arrays and heap operations in a tangible, physical way.
Have students write a game of Hangman in Python in which the computer cheats by changing its secret word to give students practice using dictionaries.
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.
Have students implement a rotating substitution cipher in Java that encrypts and decrypts strings in an assignment that gives them practice manipulating strings in a real-world context.