Computer Science 126 |
Here is the tentative schedule of lectures. (Lectures in the future are subject to change, and data will be updated throughout the term.) All sections refer to Introduction to Computer Science by R. Sedgewick and K. Wayne. The textbook Introduction to Programming in Java: An Interdisciplinary Approach contains Chapters 1–4. The remaining chapters are unpublished.
Advice. The slides are intended for the lecture presentations; for reference, read the indicated sections from Introduction to Programming in Java: An Interdisciplinary Approach. An effective strategy is to skim the textbook before the lecture, then read it thoroughly soon afterwards. We recommend printing the slides before lecture and annotating them during lecture.
Online viewing and printing. These lecture slides are suitable for online viewing (one per page) or printing (four per page).
Errata. Here is a list of known errors in the lecture notes and other course materials.
# | DATE | TOPIC | SLIDES | READINGS | DEMOS |
---|---|---|---|---|---|
1 | 2/4 | Prologue | 1up · 4up | 1 | LFSR |
2 | 2/6 | Introduction to Java | 1up · 4up | 1.1–1.2 | Exchange IntOps LeapYear |
3 | 2/11 | Conditionals and Loops | 1up · 4up | 1.3 | ForLoop TwoSort AbsValue Sqrt Ruler TwoPower TEQif Gambler |
4 | 2/13 | Arrays | 1up · 4up | 1.4 | shuffling ArrayCopy DigitCounts CouponCollector DealCards |
5 | 2/18 | Input and Output | 1up · 4up | 1.5 | Average StdInDemo |
6 | 2/20 | Functions and Libraries | 1up · 4up | 2.1–2.2 | Newton Cube Gaussian Perimeter |
7 | 2/25 | Recursion | 1up · 4up | 2.3 | gcd Binary Ruler Recursive Fibonacci Memoized Fib. DP Fib. Change |
8 | 2/27 | Performance, with Sorting | 1up · 4up | 4.1–4.2 (book), 9.6(booksite) | insertion sort merge sort binary search |
9 | 3/4 | Von Neumann Machine I | 1up · 4up | 5.1–5.3 (booksite) | X-TOY |
10 | 3/6 | Von Neumann Machine II | 1up · 4up | 5.4–5.5 (booksite) | X-TOY |
11 | 3/11 | Written Exam 1 | - | - | |
12 | 3/13 | Scientific Computing | 1up · 4up | 9.1, 9.4, 9.5 (booksite) | |
— SPRING BREAK — | |||||
13 | 3/25 | Using Data Types | 1up · 4up | 3.1 | PlayTime |
14 | 3/27 | Creating Data Types | 1up · 4up | 3.2–3.3 | Person Watch (with internal calls) Complex |
15 | 4/1 | Stacks and Queues | 1up · 4up | 4.3 | linked-list iteration StackQueue MonkeyChain |
16 | 4/3 | Symbol Tables | 1up · 4up | 4.4 | inorder traversal ST |
17 | 4/8 | Case Study: Small World | 1up · 4up | 4.5 | Breadth-First Search |
18 | 4/10 | Theory of Computation | 1up · 4up | 7.1–7.3 (booksite and online chapter**) | DFA |
19 | 4/15 | Universality and Computability | 1up · 4up | 7.4–7.6 (booksite), Harel 1–2 (optional) | Turing machine: java webstart or jar (run java -jar turing.jar |
20 | 4/17 | Intractability | 1up · 4up | 7.7 (booksite), Harel 3–5 (optional) | – |
21 | 4/22 | Combinational Circuits | 1up · 4up | Circuits reading (thru p. 21) | – |
22 | 4/24 | Designing a CPU | 1up · 4up | – | |
23 | 4/29 | Written Exam 2 | - | - | |
24 | 5/1 | Fun, demos, AI | 1up · 4up | practice Minesweeper | - |
Copyright Robert Sedgewick and
Kevin Wayne.