Skip to content

Schedule

The schedule below is organized to show you, for each day in the course:

  • Reference: For learning only, not graded, typically relevant zyBook chapters.
  • In Class Learning: What will we do in class? Will include links to slides, recording, in-class exercises, and discussion directions.
  • Graded Work Due: What outside work are you responsible for completing? Typically APTs (small programming problems) and projects (larger programming projects). Always due by 11:59 pm eastern time on the indicated day unless otherwise specified.

Key: (L = Lecture, D = Discussion, Z = zyBook, P = Project, APT = Algorithmic Problem Solving & Testing)

Links:

Note that this schedule tentative and subject to change.

Week Day Reference In Class Due
1 M 1/8 No meeting
W 1/10 Z8 L1: What is Computer Science? [recording] [slides] [slides-3up] [code]
F 1/12 No meeting – Setup tech
2 M 1/15 No meeting – M.L.K. Jr. Day
W 1/17 Z1-Z7 L2: Intro to Java [recording] [slides] [slides-3up]
F 1/19 D1: Algorithmic Problem Solving [discussion document] [solutions]
3 M 1/22 Z9 L3: P0, Object-Oriented Programming [recording] [slides] [slides-3up]
W 1/24 Z10 L4: Interfaces, Implementations, ArrayList [recording] [slides] [slides-3up] [code] APT 1
F 1/26 D2: Java, Git [discussion document] [solutions]
4 M 1/29 Z11 L5: ArrayList Efficiency, Maps, and Sets [recording] [slides] [slides-3up] [code] P0: Person201
W 1/31 Z12 L6: Hashing, HashMaps, HashSets [recording] [slides] [slides-3up] APT 2
F 2/2 D3: Maps, Hashing [discussion document] [solutions]
5 M 2/5 Z13 L7: Runtime Efficiency [recording] [StringTimingCode] [slides] [slides-3up] P1: NBody
W 2/7 L8: Asymptotic (Big-O) Analysis [recording] [slides] [slides-3up] APT 3
F 2/9 D4: Big O and review [discussion document] [solutions]
6 M 2/12 L9: Exam 1 (Covers L1-L8, P0-P1, D1-D4, APT 1-3)
W 2/14 Z14 L10: Memory, Pointers, LinkedList [recording] [slides] [slides-3up] APT 4
F 2/16 D5: APT Quiz 1 Review [discussion document] [solutions]
7 M 2/19 L11: Linked List and Pointer Problems [recording] [slides] [slides-3up] [linked list code] P2: Markov
W 2/21 Z15 L12: Debugging and Testing [recording] [slides] [slides-3up] APT Quiz 1 (extended to 2/22)
F 2/23 D6: Linked List [discussion document] [solutions]
8 M 2/26 Z16 L13: Recursion [recording] [slides] [slides-3up]
W 2/28 Z17 L14: Sorting, Comparable, Comparator
[recording] [slides] [slides-3up] [comparing code] [sorting code]
APT 5
F 3/1 D7: Recursion, Comparator, Sorting [discussion document] [discussion solutions]
9 M 3/4 Z18 L15: Mergesort and Binary Search  [recording] [slides] [slides-3up] [DIY sorting code] P3: DNA
W 3/6 L16: Stacks, Queues, and Binary Trees [recording] [slides] [slides-3up] APT 6
F 3/8 No meeting – Spring Break
10 M 3/11 No meeting – Spring Break
W 3/13 No meeting – Spring Break
F 3/15 No meeting – Spring Break
11 M 3/18 Z19 L17: Binary Trees & Tree Recursion [recording] [slides] [slides-3up] [TreeDemo code]
W 3/20 L18: Exam 2 (Covers L10-L15, Binary Search finished in L16, P2-P3, D5-D7, APT 4-6, plus Exam 1 material)
F 3/22 D8: Binary Trees [discussion document] [solutions]
12 M 3/25 Z20 L19: Greedy Algorithms, Huffman [recording] [slides] [slides-3up] P4: Autocomplete
W 3/27 Z21 L20: Binary Heaps [recording] [slides] [slides-3up] [DIYBinaryHeap] APT 7
F 3/29 D9: Trees, Heaps, Huffman [discussion document] [solutions]
13 M 4/1 Z22 L21: (Balanced) Binary Search Trees [recording] [slides] [slides-3] [DIYTreeSet (Unbalanced)]
W 4/3 Z23 L22: Graphs, DFS [recording] [slides] [slides-3] [maze code] APT 8
F 4/5 D10: Huffman, APT Quiz 2 Review [discussion document] [solutions]
14 M 4/8 L23: Shortest paths, BFS [recording] [slides] [slides-3] [BFS/DFS code] P5: Huffman
W 4/10 L24: Shortest Paths in Weighted Graphs

[recording] [rerecording of Dijkstra’s] [slides] [slides-3] [word ladder code] [Dijkstra’s example code]

APT Quiz 2
F 4/12 D11: Graphs, DFS, BFS [discussion document] [solutions]
15 M 4/15 L25: Minimum Spanning Tree (MST) and Disjoint Sets [recording] [slides] [slides-3] [DIYDisjointSets code]
W 4/17 L26: Exam 3 (through L24) APT 9 [extended to Thu 4/18]
F 4/19 D12: Semester / Final Review [discussion document] [solutions]
16 M 4/22 L27: Minimum Spanning Tree (MST) and Disjoint Sets (continued)
[recording] [slides] [slides-3] [DIYDisjointSets code]
P6: Route
W 4/24 L28: LDOC and Limits of Computing [recording] [slides] [slides-3]
F 4/26 No meeting – Reading Period
17 Tue 4/30
9am-12pm
Final exam (comprehensive) (Date/time added on 1/28)