Intro to Programming
1. Elements of Programming
1.1 Your First Program
1.2 Built-in Types of Data
1.3 Conditionals and Loops
1.4 Arrays
1.5 Input and Output
1.6 Case Study: PageRank
2. Functions
2.1 Static Methods
2.2 Libraries and Clients
2.3 Recursion
2.4 Case Study: Percolation
3. OOP
3.1 Data Types
3.2 Creating Data Types
3.3 Designing Data Types
3.4 Case Study: N-Body
3.5 Purple America
3.6 Inheritance
4. Data Structures
4.1 Performance
4.2 Sorting and Searching
4.3 Stacks and Queues
4.4 Symbol Tables
4.5 Case Study: Small World
Intro to CS
0. Prologue
5. A Computing Machine
5.1 Data Representations
5.2 TOY Machine
5.3 TOY Instruction Set
5.4 TOY Programming
5.5 TOY Simulator
6. Building a Computer
6.1 Combinational Circuits
6.2 Sequential Circuits
6.3 Building a TOY
7. Theory of Computation
7.1 Formal Languages
7.2 Regular Expressions
7.3 Finite State Automata
7.4 Turing Machines
7.5 Universality
7.6 Computability
7.7 Intractability
7.8 Cryptography
8. Systems
8.1 Library Programming
8.2 Compilers
8.3 Operating Systems
8.4 Networking
8.5 Applications Systems
9. Scientific Computation
9.1 Floating Point
9.2 Symbolic Methods
9.3 Numerical Integration
9.4 Differential Equations
9.5 Linear Algebra
9.6 Optimization
9.7 Data Analysis
9.8 Simulation
Algorithms, 4th Edition
Web Resources
FAQ
Data
Code
Errata
Appendices
A. Operator Precedence
B. Writing Clear Code
C. Gaussian Distribution
D. Java Cheatsheet
E. Matlab
Lecture Slides
Programming Assignments
Errata Submission Form
Thank you for your help. Please let us know where the error appears.
Name
(optional)
Email
(optional)
Describe the error or errors.
Be sure to include the page number (for textbook errors) or the URL (for booksite errors).