Working through the exercises (and fiddling on the side) with the problems in Introduction to Algorithms by Cormen, et al.