Use an activity that introduces minimal spanning trees by having students determine the minimum number of roads to pave between houses.
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 translate between Java Array and ArrayList to highlight the differences between the two.
Have students write a program that constructs an n x n Magic Square in Java so they gain practice working with bounds in 2D arrays.
Use patternCoder to help students move from conceptual model classes to code by selecting class relationships that reflect the system they want to create in Java.
Use PEZ ® dispensers to demonstrate the push, pop, and peek methods for stacks to provide a clear and accessible illustration of these methods.
Use a visual proof to demonstrate that the better strategy for resizing arrays is doubling the size to make it easier for students to understand.
Misconception: Students often have off by 1 errors when working with loops, which can result from mixing up > and >= as well as forgetting that arrays start at index 0.
Use linked carabiners to introduce the structure of linked lists and help students visualize the concept.