http://loisscheidt.com/teaching/2006/INFO-101_IUPUC_Fall2006.pdf