Algorithm Simulation

This work has focused on the development of a computerized, algorithm simulation tutor called Sketchmate that allows students to complete exercises in which they simulate the steps of various graph or tree algorithms. The principal innovations of this tool include 1) having students perform algorithm simulations, as opposed to passively watching an animation, 2) having students perform detailed, fine-grained simulations where they have to make detailed updates to the algorithms' data structures at each step, and 3) providing immediate feedback and correction after each step, much like having an instructor stand over the student's shoulder and providing assistance. The tool has been experimentally evaluated in a number of data structure classes to measure both learning outcomes, measured as the improvement in percentage accuracy between a pre- and post-test, and learning rates, measured as the amount of material learned in a fixed amount of time. Sketchmate students have achieved a percentage accuracy that is two to three letter grades higher than paper-and-pencil students on practice exercises (statistically sigificant) and roughly one letter grade higher on the pre/post tests (not statistically significant).