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.
|1||2/1||Prologue||1up · 4up||1||LFSR|
|2||2/3||Introduction to Java||1up · 4up||1.1–1.2||-|
|3||2/8||Conditionals and Loops||1up · 4up||1.3||while loop|
|4||2/10||Arrays||1up · 4up||1.4||shuffling|
|5||2/15||Input and Output||1up · 4up||1.5||-|
|6||2/17||Program Development (updated 2/17)||1up · 4up||-||-|
|7||2/22||Functions||1up · 4up||2.1–2.2||function call|
|8||2/24||Recursion||1up · 4up||2.3||gcd|
|9||3/1||Von Neumann Machine I||1up · 4up||5.1–5.3 (booksite)||X-TOY|
|10||3/3||Von Neumann Machine II||1up · 4up||5.4–5.5 (booksite)||X-TOY|
|11||3/8||Written Exam 1||-||-|
|12||3/10||Circuits||1up · 4up||readings (thru p. 14)||-|
|13||3/22||Using Data Types||1up · 4up||3.1||-|
|14||3/24||Creating Data Types||1up · 4up||3.2||-|
|15||3/29||Case Study: Purple America||1up · 4up||3.3 (book), 3.5 (booksite)||1960–2008|
|16||3/31||Performance||1up · 4up||4.1||-|
|17||4/5||Stacks and Queues||1up · 4up||4.3||linked-list · iteration|
|18||4/7||Symbol Tables||1up · 4up||4.4||inorder traversal|
|19||4/12||Regular Expressions||1up · 4up||7.1–7.3 (booksite and online chapter)||DFA|
|20||4/14||Universality and Computability||1up · 4up||7.4–7.6 (booksite), Harel 1–2 (optional)||Turing machine|
|21||4/19||Intractability||1up · 4up||7.7 (booksite), Harel 3–5 (optional)|
|22||4/21||Scientific Computing||1up · 4up||-|
|23||4/26||Written Exam 2||-||-|
|24||4/28||Artificial Intelligence||1up · 4up||-||-|
|Lectures below are still tentative for Spring 2011|
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.