Introduction to Programming in Java
a textbook for a first course in computer science
for the next generation
of scientists and engineers
Textbook.Our textbooks Introduction to Programming in Java [Amazon · Pearson · InformIT and Computer Science [Amazon · Pearson · InformIT ] are an interdisciplinary approach to the traditional CS1 curriculum with Java. We teach all of the classic elements of programming, using an "objects-in-the-middle" approach that emphasizes data abstraction. A key feature of the book is the manner in which we motivate each programming concept by examining its impact on specific applications, taken from fields ranging from materials science to genomics to astrophysics to internet commerce.
The first half of the book is organized around four stages of learning to program:
- Chapter 1: Elements of Programming introduces variables; assignment statements; built-in types of data; conditionals and loops; arrays; and input/output, including graphics and sound.
- Chapter 2: Functions introduces modular programming. We stress the fundamental idea of dividing a program into components that can be independently debugged, maintained, and reused.
- Chapter 3: Object-Oriented Programming introduces data abstraction. We emphasize the concept of a data type and its implementation using Java's class mechanism.
- Chapter 4: Algorithms and Data Structures introduces classical algorithms for sorting and searching, and fundamental data structures, including stacks, queues, and symbol tables.
The second half of the book provides a broad introduction to three fundamental parts of computer science:
Booksite.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). The booksite consists of the following elements:
- Excerpts. A condensed version of the text narrative for reference while online.
- Exercises. Hundreds of exercises and some solutions.
- Java code. Hundreds of easily downloadable Java programs and real-world data sets.
- Java programming environment. Here are instructions for installing a Java programming environment [ Mac OS X · Windows · Linux ].
- Input and output libraries. Here are our I/O libraries for processing text, graphics, and sounds.
- To adopt. You can request an examination copy.
- Course materials. Lecture slides (in Keynote format) are available are available by request for instructors who adopt the textbook.