Lectures

The lectures for this course are available here 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/5–2/6 1.1 Introduction to Java (Parts 1 & 2) 1pp · 4pp
2/7–2/8 1.2 Introduction to Java (Parts 3 & 4) 1pp · 4pp
2/12–2/13 1.3 Conditionals & Loops 1pp · 4pp
2/14–2/15 1.4 Arrays 1pp · 4pp
2/19–2/20 1.5 Input & Output 1pp · 4pp
2/21–2/23 NO LECTURE
2/26–2/27 2.1–2.2 Functions & Libraries 1pp · 4pp
2/28–3/1 2.3 Recursion 1pp · 4pp
3/5–3/6 NO LECTURE
3/8–3/9 6.1–6.2 A Computing Machine 1pp · 4pp
3/12–3/13 6.3–6.4 von Neumann Machines 1pp · 4pp
3/18–3/19 NO LECTURE
3/20–3/21 NO LECTURE
3/26–3/27 3.1 Using Data Types 1pp · 4pp
3/28–3/29 3.2–3.3 Creating Data Types 1pp · 4pp
FALL BREAK
4/2–4/3 4.1 Performance 1pp · 4pp
4/4–4/5 4.2 Sorting and Searching 1pp · 4pp
4/9–4/10 4.3 Stacks, Queues, Linked Lists 1pp · 4pp
4/11–4/12 4.4 Symbol Tables 1pp · 4pp
11/20–11/21 NO LECTURE
THANKSGIVING
4/16–4/17 5.1 Theory of Computing 1pp · 4pp
4/18–4/19 5.2–5.4 Universality and Computability 1pp · 4pp
4/23–4/24 5.5 Intractability 1pp · 4pp
4/25–4/26 7.1–7.3 Combinational Circuits 1pp · 4pp