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:

  • Zybook (for reference/reading)
  • APT Server (for viewing and submitting APTs)
  • Gitlab (projects and example code)

Note that this schedule tentative and subject to change.

WeekDayReferenceIn ClassDue
1M 1/9No meeting
W 1/11Z8L1: What is Computer Science [slides] [code]
F 1/13No meeting - Setup tech and review
2M 1/16No meeting - M.L.K. Jr. Day
W 1/18Z1-Z7 (intro Java review) as neededL2: Intro to Java [slides] [recording]
F 1/20D1: Algorithmic Problem Solving [discussion document]
3M 1/23Z9L3: Object-Oriented Programming [slides] [recording]
W 1/25Z10L4: Interfaces, Implementations, ArrayList [slides] [recording] [code]APT 1
F 1/27D2: Java, Git [discussion document]
4M 1/30Z11L5: Maps and Sets [slides] [recording]P0: Person201
W 2/1Z12L6: Hashing, HashMaps, Hashsets [slides] [recording]APT 2
F 2/3D3: Maps, Hashing [discussion document] [solutions]
5M 2/6Z13L7: Runtime Efficiency [slides] [recording] [MapCode] [StringTimingCode]P1: NBody
W 2/8L8: Asymptotic (Big-O) Analysis [slides] [recording]APT 3
F 2/10D4: Big O and review [discussion document] [solutions]
6M 2/13L9: Exam 1 (through L8)
W 2/15Z14L10: Memory, Pointers, LinkedList [slides] [recording]APT 4
F 2/17D5: APT Quiz 1 Review [discussion document]
7M 2/20L11: Linked List and Pointer Problems [slides] [recording] [linked list code]P2: Markov
W 2/22Z15L12: Debugging and Testing [slides] [recording]APT Quiz 1 [extended to 2/23]
F 2/24D6: Linked List [discussion document] [solutions]
8M 2/27Z16L13: Recursion [slides] [recording]
W 3/1Z17L14: Sorting, Comparable, Comparator [slides] [recording] [comparing code] [sorting code]APT 5
F 3/3D7: Recursion, Comparator, Sorting [discussion document] [discussion solutions]
9M 3/6Z18L15: Mergesort and Binary Search [slides] [DIY sorting code] [recording]P3: DNA
W 3/8L16: Queues and Binary Search Trees [slides] [recording] [DIYTreeSet Recording 1] [DIYTreeSet Recording 2] [DIYTreeSet code]APT 6
F 3/10No meeting - Spring Break
10M 3/13No meeting - Spring Break
W 3/15No meeting - Spring Break
F 3/17No meeting - Spring Break
11M 3/20Z19L17: Tree Recursion [slides] [recording]
W 3/22L18: Exam 2 (L10-L15)
F 3/24D8: Binary Trees [discussion document] [solutions]
12M 3/27Z20L19: Greedy Algorithms, Huffman [slides] [recording] [Diameter code]P4: Autocomplete
W 3/29Z21L20: Binary Heaps [slides] [DIYBinaryHeap code] [recording]APT 7
F 3/31D9: Trees, Heaps, Huffman [discussion document] [solutions]
13M 4/3Z22L21: Balanced Binary Search Trees [slides] [recording]
W 4/5Z23L22: Graphs, DFS [slides] [recording] [maze code]APT 8
F 4/7D10: Huffman, APT Quiz 2 Review [discussion document] [solutions]
14M 4/10L23: Shortest paths, BFS [slides] [recording]P5: Huffman
W 4/12L24: Shortest Paths in Weighted Graphs [slides] [recording] [word ladder code] [dijkstra example code]APT Quiz 2
F 4/14D11: Graphs, DFS, BFS [discussion document] [solutions]
15M 4/17L25: Minimum Spanning Tree (MST) and Disjoint Sets [slides] [DIYDisjointSets code]
W 4/19L26: Exam 3 (through L24)APT 9 [extended to Thursday 4/20]
F 4/21D12: Semester / Final Review [discussion document] [solutions]
16M 4/24L27: Minimum Spanning Tree (MST) and Disjoint Sets (continued) [slides] [DIYDisjointSets code] [recording]P6: Route
W 4/26L28: LDOC and Limits of Computing [slides]
F 4/28No meeting - Reading Period
17M 5/1Final exam 9 am-noon (comprehensive)