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.
Ask student teams to design a controller for a coffee machine in Java to practice design modification.
Misconception: Students who are familiar with writing code in block-based languages like Scratch still need support transitioning to text-based languages like Java.
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.
Have students design a Java program that detects plagiarism within a set of documents so that they gain practice designing and applying data structures in a relevant context.
Have students write a genetic algorithm in Java to solve instances of the Traveling Salesman Problem so that they can practice object-oriented programming and responsibility-driven design.
Emphasize the importance of documentation when working with spreadsheets or any programming language for future reference.
Use Droplet, a blocks-based text editor, to help bridge students’ learning gap between blocks and text.