Use visual depictions of programmatic concepts, such as recursion, to improve students’ understanding of the concept and reinforce students’ intuition about the concept.

  • When teaching recursion, create five slides that have self-similar images. Have students identify the transition from one layer of recursion to the next. Then, they talk to their neighbor to should describe in words how the transition works. Lastly, they should work to identify the base case in order to build intuition about identifying base cases.
  • Other visual examples of recursion include:
    • Ask students to examine simple fractals, such as the Sierpinski triangle, then write a program to create their own fractal.
    • Assign implementing a recursive flood fill algorithm to change the color of a region.
      • This is familiar to most students as the "paint bucket" tool in many programs.
    • Have students implement a recursive algorithm to find a path through a maze.