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.
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.
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.
Set reasonable expectations for your students, like not expecting them to regurgitate material they’ve only seen once in class, to help your students meet achievable course goals.
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.
Spend extra time covering these three topics students have a really hard time with in Java: references and primitives, inheritance, and nested loops.
To build intuition about searching and sorting algorithms, have students engage in a kinesthetic activity where they unwittingly reproduce or create binary search and sorting algorithms.
Ask questions about what parts of a program change to help students identify times when a variable is needed.
Be aware of the advantages of different student pairings when creating group work environments, here are some pros to grouping students according to skill levels and some cons to grouping students across skill levels.
Teach Processing first and then transition students to Java so they have a transition to a professional level programming language in a relatively seamless manner.
Ask your students what they need to know about dice to have enough information about the three aspects of a class to create dice objects building off a common game tool to help students get comfortable with making objects.
Have students make themselves cheat sheets so they are able to quickly look up syntax, which keeps them from spending too much time looking up these facts.
Become a part of the CS Teacher Community by attending CSTA events, attending SIGCSE, attending CCSC events, programming contests, and becoming an AP reader to get support and develop relationships with your peer group.
Create pain points for material you want to introduce that motivate the need for abstraction and programming language features so that students realize the need for concepts before you introduce them.