Glenn Downing's course on generic programming and the STL