A Programmer\'s Guide to Computer Science: A virtual degree for the self-taught developer, Paperback/William M. Springer II