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.
Week | Day | Reference | In Class | Due |
---|---|---|---|---|
1 | M 1/9 | No meeting | ||
W 1/11 | Z8 | L1: What is Computer Science [slides] [code] | ||
F 1/13 | No meeting - Setup tech and review | |||
2 | M 1/16 | No meeting - M.L.K. Jr. Day | ||
W 1/18 | Z1-Z7 (intro Java review) as needed | L2: Intro to Java [slides] [recording] | ||
F 1/20 | D1: Algorithmic Problem Solving [discussion document] | |||
3 | M 1/23 | Z9 | L3: Object-Oriented Programming [slides] [recording] | |
W 1/25 | Z10 | L4: Interfaces, Implementations, ArrayList [slides] [recording] [code] | APT 1 | |
F 1/27 | D2: Java, Git [discussion document] | |||
4 | M 1/30 | Z11 | L5: Maps and Sets [slides] [recording] | P0: Person201 |
W 2/1 | Z12 | L6: Hashing, HashMaps, Hashsets [slides] [recording] | APT 2 | |
F 2/3 | D3: Maps, Hashing [discussion document] [solutions] | |||
5 | M 2/6 | Z13 | L7: Runtime Efficiency [slides] [recording] [MapCode] [StringTimingCode] | P1: NBody |
W 2/8 | L8: Asymptotic (Big-O) Analysis [slides] [recording] | APT 3 | ||
F 2/10 | D4: Big O and review [discussion document] [solutions] | |||
6 | M 2/13 | L9: Exam 1 (through L8) | ||
W 2/15 | Z14 | L10: Memory, Pointers, LinkedList [slides] [recording] | APT 4 | |
F 2/17 | D5: APT Quiz 1 Review [discussion document] | |||
7 | M 2/20 | L11: Linked List and Pointer Problems [slides] [recording] [linked list code] | P2: Markov | |
W 2/22 | Z15 | L12: Debugging and Testing [slides] [recording] | APT Quiz 1 [extended to 2/23] | |
F 2/24 | D6: Linked List [discussion document] [solutions] | |||
8 | M 2/27 | Z16 | L13: Recursion [slides] [recording] | |
W 3/1 | Z17 | L14: Sorting, Comparable, Comparator [slides] [recording] [comparing code] [sorting code] | APT 5 | |
F 3/3 | D7: Recursion, Comparator, Sorting [discussion document] [discussion solutions] | |||
9 | M 3/6 | Z18 | L15: Mergesort and Binary Search [slides] [DIY sorting code] [recording] | P3: DNA |
W 3/8 | L16: Queues and Binary Search Trees [slides] [recording] [DIYTreeSet Recording 1] [DIYTreeSet Recording 2] [DIYTreeSet code] | APT 6 | ||
F 3/10 | No meeting - Spring Break | |||
10 | M 3/13 | No meeting - Spring Break | ||
W 3/15 | No meeting - Spring Break | |||
F 3/17 | No meeting - Spring Break | |||
11 | M 3/20 | Z19 | L17: Tree Recursion [slides] [recording] | |
W 3/22 | L18: Exam 2 (L10-L15) | |||
F 3/24 | D8: Binary Trees [discussion document] [solutions] | |||
12 | M 3/27 | Z20 | L19: Greedy Algorithms, Huffman [slides] [recording] [Diameter code] | P4: Autocomplete |
W 3/29 | Z21 | L20: Binary Heaps [slides] [DIYBinaryHeap code] [recording] | APT 7 | |
F 3/31 | D9: Trees, Heaps, Huffman [discussion document] [solutions] | |||
13 | M 4/3 | Z22 | L21: Balanced Binary Search Trees [slides] [recording] | |
W 4/5 | Z23 | L22: Graphs, DFS [slides] [recording] [maze code] | APT 8 | |
F 4/7 | D10: Huffman, APT Quiz 2 Review [discussion document] [solutions] | |||
14 | M 4/10 | L23: Shortest paths, BFS [slides] [recording] | P5: Huffman | |
W 4/12 | L24: Shortest Paths in Weighted Graphs [slides] [recording] [word ladder code] [dijkstra example code] | APT Quiz 2 | ||
F 4/14 | D11: Graphs, DFS, BFS [discussion document] [solutions] | |||
15 | M 4/17 | L25: Minimum Spanning Tree (MST) and Disjoint Sets [slides] [DIYDisjointSets code] | ||
W 4/19 | L26: Exam 3 (through L24) | APT 9 [extended to Thursday 4/20] | ||
F 4/21 | D12: Semester / Final Review [discussion document] [solutions] | |||
16 | M 4/24 | L27: Minimum Spanning Tree (MST) and Disjoint Sets (continued) [slides] [DIYDisjointSets code] [recording] | P6: Route | |
W 4/26 | L28: LDOC and Limits of Computing [slides] | |||
F 4/28 | No meeting - Reading Period | |||
17 | M 5/1 | Final exam 9 am-noon (comprehensive) |