Active Visual Scaffolding by Charles Kelemen and Eugene Turk

A more interesting animation is:


But the student has to work much harder to generate it:

import java.io.*; import java.util.Random; import java.awt.*; class InsVis { /* Sort a[0 ... (n-1)] into ascending order * using an insertion sort. */ static void sort(int a[], int n) { ArrayGUI window = new ArrayGUI(); window.inAnApplet = false; window.setArraySize(n); window.setArray(a); window.initArray(); window.pack(); window.setVisible(true); window.redraw(); int pothole, temp; ....

To pvwtalk11