Lecture Slides
Here are lecture slides and demos that accompany
An Introduction to Programming in Java: An Interdisciplinary
Approach.
Powerpoint slides available
by request
for instructors who adopt the textbook.
| ELEMENTS OF PROGRAMMING | ||
|---|---|---|
| 1.1 | Your First Program | |
| 1.2 | Built-In Types of Data | |
| 1.3 | Conditionals and Loops | While loop |
| 1.4 | Arrays | Shuffle |
| 1.5 | Input and Output | |
| 1.6 | Random Surfer | |
| FUNCTIONS | ||
| 2.1 | Functions | Function call |
| 2.2 | Libraries and Clients | |
| 2.3 | Recursion | Factorial · Euclid · Towers of Hanoi |
| 2.4 | Percolation | Depth-first search |
| OBJECT-ORIENTED PROGRAMMING | ||
| 3.1 | Data Types | |
| 3.2 | Creating Data Types | Mandelbrot explorer · Mandelbrot song |
| 3.3 | Designing Data Types | |
| 3.4 | N-Body Simulation | |
| *3.5 | Purple America | US Elections (1960 - 2008) |
| ALGORITHMS AND DATA STRUCTURES | ||
| 4.1 | Performance | |
| 4.2 | Sorting and Searching | Binary search · Merge |
| 4.3 | Stacks and Queues | Linked list · Iteration |
| 4.4 | Symbol Tables | Inorder · GrowingTree |
| 4.5 | Small-World Phenomenon | BFS · Oracle of Kevin Bacon |
Here are lecture slides for the forthcoming textbook An Introduction to Computer Science.
| A COMPUTING MACHINE | ||
|---|---|---|
| 0 | Prologue | LFSR |
| 5.1 - 5.3 | A von Neumann Machine | Visual X-TOY |
| 5.4 - 5.5 | Machine Language Programming | Crazy 8 | BUILDING A COMPUTER |
| 6.1 - 6.2 | Boolean Logic and Gates | Hydraulic computer |
| 6.3 | Sequential Circuits | |
| 6.5 | TOY Machine Architecture | |
| THEORY OF COMPUTATION | ||
| 7.1 - 7.3 | Regular Expressions and DFAs | DFA |
| 7.4 - 7.6 | Turing Machines | Turing machine simulator · Adder |
| 7.7 | Intractability | |
| 7.8 | Cryptography | Crypto history [rsa.com] |
| SYSTEMS | ||
| 8.4 | Networking | |
| SCIENTIFIC COMPUTING | ||
| 9.1 | Floating Point | |
| 9.8 | Monte Carlo Simulation | |
