Introduction to Programming in Java
a textbook for a first course in computer science
for the next generation
of scientists and engineers
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 highlights the idea of dividing a program into components that can be independently debugged, maintained, and reused.
- Chapter 3: Object-Oriented Programming emphasizes the concept of a data type and its implementation, using Java’s class mechanism.
- Chapter 4: Algorithms and Data Structures discusses classical algorithms for sorting and searching, and fundamental data structures, including stacks, queues, and symbol tables.
The second half of the book explores core ideas of Turing, von Neumann, Shannon, and others that ignited the digital age.
- Chapter 5: Theory of Computing surveys the fundamental concepts of universality, computability, and intractability, which raise questions about the role of computation in understanding the natural world.
- Chapter 6: A Computing Machine describes a simple imaginary machine that has many of the characteristics of real processors at the heart of the computational devices that surround us.
- Chapter 7: Building a Computer considers the design of a processor, including Boolean logic, combinational circuits, and sequential circuits.
- Java programming environment. Here are instructions for installing a Java programming environment [ Mac OS X · Windows · Linux ].
- Studio-produced lecture videos. Available from InformIT.
- To adopt. You can request an examination copy.
- Course materials. Lecture slides are available by request for instructors who adopt the textbook.
Last modified on October 20, 2017.