The newly revised Building Java Programs textbook is designed for use in a two-
course introduction to computer science. We received such positive feedback on the

new chapters that we added in the second edition that we have gone even further to
make this book useful for both the first and second course in computer science. We
have class-tested it with thousands of undergraduates at the University of Washington,
most of whom were not computer science majors.
Introductory computer science courses have a long history at many universities of
being “killer” courses with high failure rates. But as Douglas Adams says in The
Hitchhiker’s Guide to the Galaxy, “Don’t panic.” Students can master this material if
they can learn it gradually. The introductory courses at the University of Washington

are experiencing record enrollments, and other schools that have adopted our text-
book report that students are succeeding with our approach.

Since the publication of our first two editions, there has been a movement toward
the “objects later” approach that we have championed (as opposed to the “objects
early” approach). We know from years of experience that a broad range of scientists,
engineers, and others can learn how to program in a procedural manner. Once we
have built a solid foundation of procedural techniques, we turn to object-oriented
programming. By the end of the course, students will have learned about both styles
of programming.