Ask questions about what parts of a program change to help students identify times when a variable is needed.
Spend extra time covering these three topics students have a really hard time with in Java: references and primitives, inheritance, and nested loops.
Draw arrows with memory address numbers written over them from Java objects to their corresponding memory address to help students connect memory models to the actual hardware process.
Explain how inheritance allows the Java toString method to work when teaching printing to help students develop an understanding for how everything in Java is an object that has hierarchical relationships with other objects.
Cover the outer-loop of nested loops when tracing through loops to help students see the inner loop runs just like a single loop during execution to help students understand nested loops.
Put debugging tips inside the test cases when you provide students with JUnit test cases to help students improve their own debugging abilities in Java.
Use sounds in Scratch to make it clear when particular lines of code are being executed because it can be really hard for students to figure out the order of execution.