Computer Science 126
General Computer Science
Fall 2013


Course Information | People | Assignments | Lectures | Precepts | Exams | Booksite

LECTURES

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.

Click here for the reading period schedule.

# DATE TOPIC SLIDES READINGS DEMOS
1 9/12 Prologue 1up · 4up 1
2 9/17 Introduction to Java 1up · 4up 1.1–1.2 Exchange IntOps LeapYear
3 9/19 Conditionals and Loops 1up · 4up 1.3 ForLoop TwoSort AbsValue Sqrt
Ruler TwoPower TEQif Gambler
4 9/24 Arrays 1up · 4up 1.4 ArrayCopy DigitCounts
CouponCollector DealCards
5 9/26 Input and Output 1up · 4up 1.5 Average StdInDemo
6 10/1 Functions and Libraries 1up · 4up 2.1–2.2 Newton Cube Gaussian Perimeter
7 10/3 Recursion 1up · 4up 2.3 Binary Ruler Recursive Fibonacci
Memoized Fib. DP Fib. Change
8 10/8 Performance 1up · 4up 4.1 (book), 9.6(booksite) ThreeSum
— 10/10 Written Midterm 1 —
9 10/15 Abstract Data Types 1up · 4up 3.1 PlayTime
10 10/17 Creating Data Types 1up · 4up 3.2 Person Watch (with internal calls) Complex
11 10/22 Von Neumann Machine I 1up · 4up 5.1–5.3 (booksite) X-TOY
12 10/24 Von Neumann Machine II 1up · 4up 5.4–5.5 (booksite) X-TOY
13 11/5 Searching and Sorting 1up · 4up 4.2
14 11/7 Stacks and Queues 1up · 4up 4.3 linked-list · iteration
15 11/12 Symbol Tables 1up · 4up 4.4 inorder traversal
16 11/14 Programming Languages 1up · 4up 3.3
17 11/19 Theory of Computation 1up · 4up 7.1–7.3 (booksite and online chapter**) DFA
18 11/21 Universality and Computability 1up · 4up 7.4–7.6 (booksite), Harel 1–2 (optional) Turing machine
19 11/26 Intractability 1up · 4up 7.7 (booksite), Harel 3–5 (optional)
20 12/3 Combinational Circuits 1up · 4up online chapter**
21 12/5 Designing a CPU 1up · 4up Circuits Exercise
22 12/10 AI 1up · 4up
— 12/12 Written Midterm 2 —
** links are only accessible from on-campus IP addresses.


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 Robert Sedgewick and Kevin Wayne.