Providing the principles of programming to computer science students, this book covers the traditional subject matter of a beginning programming course, as well as giving an introduction to object-oriented programming. Objects are used throughout the book as appropriate for the developmental level of the student. This edition includes a Web site-based lab manual and transparency masters for all illustrations and programs, a "Random Facts" section which covers the historical and social aspects of computing, and a "Common Errors" section appearing in every chapter to provide insights into what goes wrong in the test of programming efforts.