Building Java Programs cover

Building Java Programs: A Back to Basics Approach, 4th edition
by Stuart Reges and Marty Stepp

Authors' official companion web site

Latest updates:

Welcome to the official authors' companion web site for Building Java Programs: A Back to Basics Approach. This textbook is designed for use in a first course in computer science. We have written it for a broad audience, not just for computer science majors. We have class tested it with thousands of undergraduates at the University of Washington, most of whom were not CS majors.

Getting an Instructor's Sample Copy:

Please visit Pearson's official site for Building Java Programs: A Back to Basics Approach 4th edition and find the link for "Request exam copy".

Purchasing the Textbook:

The fourth edition of our textbook, ISBN 978-0134322766, can be purchased from university bookstores and online booksellers. See our How to Order page for more details.

The 3rd, 2nd, and 1st editions, now out of date, used the ISBNs 978-0133360905, 0136091814, and 0321382838 respectively. We recommend using the new 4th edition for the best and newest content.

About the Textbook:

Our book uses a "back to basics" approach that stresses fundamentals first. We know from years of experience that a broad range of scientists, engineers and others can be taught how to program in a procedural manner. So our book begins with a traditional procedural approach.  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.

Our book is also problem-centered. Rather than just describing programming constructs, we talk in detail about how to apply each construct and where a novice is likely to go wrong when learning how to use each new construct. All of our early chapters end with a comprehensive "case study" example so that students can see how to apply the new concepts to a mid-sized program. At the University of Washington, we cover a chapter each week and have a different programming assignment each week to allow students to practice the new concepts.

Finally, our book is layered in the early chapters so that students don't become overwhelmed. Teaching a novice to program is like building a house of cards. Each new card has to be placed carefully. If you rush the process and try to place too many cards at once, the entire structure collapses.

Please also visit Addison Wesley's official promotional web site about our book, linked below.


I believe this book delivers on its title. It is a well written book that focuses on the basics of learning a programming language without getting lost among "hot" topics like OO, IDE's, or GUI's. I will be switching my classes to this book.

- John M. Hunt, Covenant College

[This book is] very clear and appropriate for the level of a college freshman or intro learner to Java. It is obvious that the authors teach the course and understand the needs of the students.

- Eric Matson, Wright State University

I like [the authors'] story-telling writing style, which is very appropriate for the novices. Important concepts are gradually introduced with an appropriate logic of precedence.

- Chenglie Hu, Carroll College

[The] reading level for general introductory programming course is ideal, [and the book is] well-suited for non-computer science students... Concepts are discussed in a crystal clear fashion so students should be able to answer questions.

- Dr. Raj Gill, Anne Arundel Community College

The liberal use of graphics, including those created with text, is a powerful technique for helping learners to understand algorithms, concepts, etc... The figures greatly enhance the corresponding narrative... perhaps one of the text's strongest features.

- Delroy A. Brinkerhoff, Weber State University

[The text is] very readable. I like the carefully done examples [and] that previous examples are repeated so the reader doesn't have to page back to find it.

- Stephen Weiss, University of North Carolina, Chapel Hill

The author[s have] chosen wisely to present enough material without trying to include everything.

- Joan Krone, Denison University

[The book] flows smoothly from one topic to another... The authors intentionally produce 'buggy' programs to demonstrate common errors. I like this, and I feel that most textbooks only show 'masterpiece' programs.

- Tammy VanDeGrift, University of Portland

This is a VERY nice book. [...] The highlights of this book are: starts with a procedural approach (objects come later, but they use objects like Strings early on); very readable; LOTS of clear and relevant examples; non-trivial examples (like reading a large text file to compute and sort a list of unique words); and very good attention to loops, functions, ArrayLists, LinkedLists, iterators, the Java Collections Framework (introductory data structures like HashMap, TreeMap, HashSet, TreeSet, but doing so in a nice way that doesn't overburden the student) ... and the authors also give programming tips, short-cuts, and good attention to off-by-one errors (e.g., fencepost cases).

- Ed Knorr, University of British Columbia

Contact Us:

If you'd like an instructor sample copy of the book, please contact your Addison Wesley representative at If you'd like to get in touch with the authors to learn more about the textbook, please contact us at the following email addresses:

reges AT cs DOT washington DOT edu
stepp AT cs DOT stanford DOT edu

We look forward to hearing from you!

-- Stuart and Marty