Caution! You are looking at an out-of-date version of this website from Fall 2018.
To access the current version, click here.

Lectures

The lectures for this course are available here as studio-produced videos for you to watch at your own pace. Though, each lecture has a due date; you are responsible for its contents in precept after that date. We recommend skimming the required reading before watching the lecture, then reading it thoroughly soon after.

DUE READING LECTURE SLIDES
9/13–9/14 1.1 Prologue 1pp · 4pp
9/18–9/19 1.2 Introduction to Java 1pp · 4pp
9/20–9/21 1.3 Conditionals & Loops 1pp · 4pp
9/25–9/26 1.4 Arrays 1pp · 4pp
9/27–9/28 1.5 Input & Output 1pp · 4pp
2/22–2/23 NO LECTURE
10/2–10/3 2.1–2.2 Functions & Libraries 1pp · 4pp
10/4–10/5 2.3 Recursion 1pp · 4pp
3/6–3/7 NO LECTURE
10/9–10/10 6.1–6.2 A Computing Machine 1pp · 4pp
10/11–10/12 6.3–6.4 von Neumann Machines 1pp · 4pp
10/16–10/17 NO LECTURE
10/18–10/19 NO LECTURE
10/23–10/24 3.1 Using Data Types 1pp · 4pp
10/25–10/26 3.2–3.3 Creating Data Types 1pp · 4pp
FALL BREAK
11/6–11/7 4.1 Performance 1pp · 4pp
11/8–11/9 4.2 Sorting and Searching 1pp · 4pp
11/13–11/14 4.3 Stacks and Queues 1pp · 4pp
11/15–11/16 4.4 Symbol Tables 1pp · 4pp
11/20–11/21 NO LECTURE
THANKSGIVING
11/27–11/28 5.1 Theory of Computing 1pp · 4pp
11/29–11/30 5.2–5.4 Universality and Computability 1pp · 4pp
12/4–12/5 5.5 Intractability 1pp · 4pp
12/6–12/7 7.1–7.3 Combinational Circuits 1pp · 4pp
OPTIONAL 7.4–7.5 Central Processing Unit 1pp · 4pp
OPTIONAL Programming Languages 1pp · 4pp