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