|
Here is the tentative schedule of lectures. Links 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.
# | DATE | TOPIC | SLIDES | READINGS | DEMOS |
---|---|---|---|---|---|
1 | 2/5 | Prologue | 1up · 4up | 1 | LFSR |
2 | 2/7 | Introduction to Java | 1up · 4up | 1.1–1.2 | - |
3 | 2/12 | Conditionals and Loops | 1up · 4up | 1.3 | while loop |
4 | 2/14 | Arrays | 1up · 4up | 1.4 | shuffling |
5 | 2/19 | Input and Output | 1up · 4up | 1.5 | - |
6 | 2/21 | Functions | 1up · 4up | 2.1–2.2 | function call |
7 | 2/26 | Recursion | 1up · 4up | 2.3 | gcd |
8 | 2/28 | Performance | 1up · 4up | 4.1-4.2 | insertion sort merge sort binary search |
9 | 3/5 | Von Neumann Machine I | 1up · 4up | 5.1–5.3 (booksite) | X-TOY |
10 | 3/7 | Von Neumann Machine II | 1up · 4up | 5.4–5.5 (booksite) | X-TOY |
11 | 3/12 | Written Exam 1 | - | - | |
12 | 3/14 | Scientific Computing | 1up · 4up | 9.1, 9.4, 9.5 (booksite) | |
13 | 3/26 | Using Data Types | 1up · 4up | 3.1 | - |
14 | 3/28 | Creating Data Types | 1up · 4up | 3.2, 3.3 | - |
15 | 4/2 | Stacks and Queues | 1up · 4up | 4.3 | linked-list · iteration |
16 | 4/4 | Symbol Tables | 1up · 4up | 4.4 | inorder traversal |
17 | 4/9 | Case Study: Small World | 1up · 4up | 4.5 | Breadth-First Search |
18 | 4/11 | Regular Expressions | 1up · 4up | 7.1–7.3 (booksite and online chapter) | DFA |
19 | 4/16 | Universality and Computability | 1up · 4up | 7.4–7.6 (booksite), Harel 1–2 (optional) | Turing machine |
20 | 4/18 | Intractability | 1up · 4up | 7.7 (booksite), Harel 3–5 (optional) | |
21 | 4/23 | Circuits | 1up · 4up | readings (thru p. 21) | - |
22 | 4/25 | Architecture | 1up · 4up | - | - |
23 | 4/30 | Written Exam 2 | - | - | |
24 | 5/2 | Fun, demos, AI | 1up · 4up | practice Minesweeper | - |
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.
Copyright © 2011, Robert Sedgewick and
Kevin Wayne.