This book provides a solid introduction to computer science that emphasizes software engineering and the development of good programming style. Writing in an engaging style, Stanford professor Eric Roberts makes difficult concepts accessible and exciting.