Introduction to Programming (in Java) - An Interdisciplinary Approach

Authors : Robert Sedgewick and Kevin Wayne

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

Chapter 5: A Computing Machine introduces an imaginary machine that is similar to real computers.

We specify the machine in full detail and consider machine-language programs.

Chapter 6: Circuits introduces circuits and logical design, culminating in a description of how a

machine might be built from the ground up.

Chapter 7: Theory of Computation introduces the scientific discipline concerned with understanding

(efficient) computational phenomena, whether it be man-made, in nature, or imaginary.

Chapter 8: Systems introduces the basic components of computer systems that support

programming: compilers, operating systems, networks, and application systems.

Chapter 9: Scientific Computation introduces some of the most important algorithms that play crucial

roles in our computational infrastructure, including numerical integration, matrix

computation, data analysis, and Monte Carlo simulation.

DOWNLOAD (PDF Version)

http://www.cs.princeton.edu/introcs/home/SedgewickWaynePreview.pdf