Have students implement simple filters on sound objects so they can parse strings of notes into recognizable melodies to get practice manipulating strings.
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.
Incorporate robotics into your class to increase students’ interest in computer science in order to motivate their learning.
Have students implement an algorithm in Java to solve mazes so they can practice manipulating 2D arrays, stacks, and queues.
Have students implement the dice game Flip in Java to introduce unit testing and to give students practice using loops and data structures.
Have students develop a Java program that plots pictures in a 2D grid to practice 2D array processing with a focus on nested loops.
Have students write methods that perform tasks of a standard music player in Java to give them practice manipulating data structures in a familiar context.
Have students sort specific topics in computer science into broader categories in an activity that uses index cards to give them a big-picture understanding of concepts they are learning.
Show students what code looks like with and without new programming constructs (e.g., methods, Objects, inheritance, loops, switch statements) to motivate the reasons for using new concepts.