Publisher's Synopsis
This book provides an introduction to modern methods of developing and analyzing computer programs. Focusing on bringing fundamental concepts and principles from computer science and software engineering into the first programming course, the text provides a foundation on which to build modern software engineering practices in later courses, and prepares students for future work in computer science or other fields.;The text emphasizes both program synthesis and program analysis, and introduces a set of program analysis methods to enable students to determine whether a program is correct, find errors quickly during testing and make modifications without introducing new errors. It uses a modern software engineering approach that focuses on principles of good program design rather than coding details, and stresses the use of abstraction to control program complexity.;Coverage is based in part upon 1989 Denning committee recommendations concerning first computer course improvements.