Use constructive and well-formed examples, like Quicksort, to teach recursion so that students have a strong model for building their own solutions.
Have students use lollipop sticks or toothpicks to represent each statement call in an N-ary recursive algorithm.
Show students the visual representation of recursion in the Modern Family title sequence for a fun way to introduce them to this concept.
Misconception: Students don’t understand that the right side of an assignment statement is executed before the assignment. They think that variables store unresolved equations.
Have students analyze the effects of changing pieces of a loop to improve their understanding of loop structure.
Misconception: When students use the division operator during declaration or assignment of a Double in Java, like double x = a/b, they forget about integer division, which can result in rounding errors.
Assign content as homework that students can learn from reading (like FOR loop syntax) so you can spend class time on more difficult topics where teacher guidance is the most needed (like what code goes inside of a loop).
Introduce Big-O using iteration rather than recursion to make this important concept easier for students to understand.
Use different methods of counting the stairs of the Eiffel Tower to explain how different algorithms affect Big-O runtime.
Have students translate between Java Array and ArrayList to highlight the differences between the two.