Programming in Java   ·   Computer Science   ·   An Interdisciplinary Approach

textbooks for a first course in computer science
for the next generation
of scientists and engineers

Online content. 

This booksite contains tens of thousands of files, fully coordinated with our textbook and also useful as a standalone resource. It consists of the following elements: You can explore these resources via the sidebar at left.

Introduction to Programming in Java.

  Our textbook Introduction to Programming in Java [ Amazon · Pearson · InformIT ] is an interdisciplinary approach to the traditional CS1 curriculum with Java. We teach the classic elements of programming, using an “objects-in-the-middle” approach that emphasizes data abstraction. We motivate each concept by examining its impact on specific applications, taken from fields ranging from materials science to genomics to astrophysics to internet commerce. The book is organized around four stages of learning to program:

Computer Science.

  Our textbook Computer Science [ Amazon · Pearson · InformIT ] contains Introduction to Programming in Java as its first four chapters. The second half of the book explores core ideas of Turing, von Neumann, Shannon, and others that ignited the digital age. Reading a book and surfing the web are two different activities: This booksite is intended for your use while online (for example, while programming and while browsing the web); the textbook is for your use when initially learning new material and when reinforcing your understanding of that material (for example, when reviewing for an exam).

For teachers:

For students:


  We also have a Python version of Chapters 1–4 of our textbook.