|
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 | 9/13 | Prologue | 1up · 4up | 1 | LFSR |
2 | 9/18 | Introduction to Java | 1up · 4up | 1.1–1.2 | – |
3 | 9/20 | Conditionals and Loops | 1up · 4up | 1.3 | while loop |
4 | 9/25 | Arrays | 1up · 4up | 1.4 | shuffling |
5 | 9/27 | Input and Output | 1up · 4up | 1.5 | – |
6 | 10/2 | Functions and Libraries | 1up · 4up | 2.1–2.2 | function call |
7 | 10/4 | Recursion | 1up · 4up | 2.3 | gcd |
8 | 10/9 | Performance | 1up · 4up | 4.1 (book), 9.6(booksite) | – |
9 | 10/11 | Exam 1 | – | – | |
10 | 10/16 | Using Data Types | 1up · 4up | 3.1 | – |
11 | 10/18 | Creating Data Types | 1up · 4up | 3.2 | – |
12 | 10/23 | Von Neumann Machine I | 1up · 4up | 5.1–5.3 (booksite) | X-TOY |
13 | 10/25 | Von Neumann Machine II | 1up · 4up | 5.4–5.5 (booksite) | X-TOY |
14 | 11/6 | Searching and Sorting | 1up · 4up | 4.2 | – |
15 | 11/8 | Stacks and Queues | 1up · 4up | 4.3 | linked-list · iteration |
16 | 11/13 | Symbol Tables | 1up · 4up | 4.4 | inorder traversal |
17 | 11/15 | Programming Languages | 1up · 4up | 3.3 | – |
18 | 11/20 | Theory of Computation | 1up · 4up | 7.1–7.3 (booksite and online chapter) | DFA |
19 | 11/27 | Universality and Computability | 1up · 4up | 7.4–7.6 (booksite), Harel 1–2 (optional) | Turing machine |
20 | 11/29 | Intractability | 1up · 4up | 7.7 (booksite), Harel 3–5 (optional) | – |
21 | 12/4 | Combinational Circuits | 1up · 4up | online chapter | – |
22 | 12/6 | Designing a CPU | 1up · 4up | – | Circuits Exercise |
23 | 12/11 | AI | 1up · 4up | – | – |
24 | 12/13 | Exam 2 | – | – |
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.