The schedule below is organized to show you, for each day in the course:
- Prep: What should you do before class? Typically consists of reading and or videos to introduce topics.
- Class: What will we do in class? Will include links to slides, recording, in-class exercises, and discussion directions.
- Due: What outside work are you responsible for completing? Typically APTs (small programming problems), projects (larger programming projects), and mini exams. Work is always due by 11:59 pm eastern time on the indicated day unless otherwise specified.
Key: (L = Lecture, D = Discussion, Z = Zybook, ME = Mini Exam, MER = Mini Exam Retake, P = Project, APT = Algorithmic Problem Solving & Testing)
Note that this schedule tentative and subject to change.
Week | Day | Prep | Class | Due |
---|---|---|---|---|
1 | W 1/5 | Z2: Intro to Data Structures and Algorithms | L1: What is Computer Science, virtual synchronous [zoom link, requires duke zoom account] [slides] [WOTO] [recording] | |
F 1/7 | D1: Algorithmic Problem Solving and APTs, virtual asynchronous [discussion document] | |||
2 | M 1/10 | Z3: Basic Objects Z4: Basic Methods + Classes | L2: Java, Classes, Objects [zoom link] [slides] [WOTO] [recording] | |
W 1/12 | Z8: Loops Z9: Arrays Z10: ArrayLists | L3: Object-oriented programming, Algorithmic tradeoffs [zoom link] [slides] [WOTO] [recording] | APT1 | |
F 1/14 | D2: APT2, Project P0: Person201 | |||
3 | M 1/17 | No meeting, MLK Day | ||
W 1/19 | Z12: Classes Continued Z13: Abstract Classes, Interfaces, Inheritance | L4: Algorithmic Tradeoffs, Interfaces and Implementations [slides] [WOTO 1] [WOTO 2] [recording] | P0: Person201 APT2 |
|
F 1/21 | D3: APT3 Problems [discussion document] | |||
4 | M 1/24 | Z14: Hashing, HashMap, and HashSet | L5: Maps and Sets [slides] [WOTO] [recording] | P1: NBody |
W 1/26 | L6: Hashing, HashMaps, Hashsets [slides] [WOTO] [recording] | APT3 | ||
F 1/28 | D4: Set Problems, APT4 and P2 [discussion document] | |||
5 | M 1/31 | Z15: Efficiency and Complexity of Algorithms | L7: Runtime Efficiency [slides] [WOTO1] [recording] | P2: Markov 1 |
W 2/2 | L8: Asymptotic (Big-O) Analysis [slides] [WOTO1] [WOTO2] [recording] | APT4 | ||
F 2/4 | D5: Map/Set Problems, APT5 [discussion document] | |||
6 | M 2/7 | Z16: Memory, Pointers, and LinkedList | L9: Memory, Pointers, LinkedList [slides] [WOTO1] [WOTO2] [recording] | P3 Markov 2 |
W 2/9 | L10: Linked List and Pointer Problems [slides] [WOTO1] [recording] | APT5 [extended 24 hours] | ||
F 2/11 | D6: P4, linked list, list nodes [discussion document] | |||
7 | M 2/14 | L11: Debugging and Testing [slides] | ME1 [L1-8] | |
W 2/16 | L12: Debugging and more linked list [slides] [WOTO1] [WOTO2] [recording] | APT6 | ||
F 2/18 | D7: Testing, debugging, problem solving [discussion document] | |||
8 | M 2/21 | Z17: Recursion | L13: Recursion [slides] [WOTO] [recording] | P4: DNA LinkStrand |
W 2/23 | Z18: Sorting Theory and Practice | L14: Sorting, Comparable, Comparator [slides] [WOTO] [recording] | APT Quiz 1 | |
F 2/25 | D8: Recursion problems, sorting problems [discussion document] | |||
9 | M 2/28 | Z19: Stacks, Queues, Heaps | L15: Stacks, Queues, Priority Queues [slides] [WOTO1] [WOTO2] [recording] | ME1R |
W 3/2 | Z20: Binary Search Trees | L16: Binary Search Trees [slides] [WOTO] [recording] | APT7 | |
F 3/4 | D9: P5, Recursion, Trees [discussion document] | |||
10 | M 3/7 | No meeting, spring break | ||
W 3/9 | No meeting, spring break | |||
F 3/11 | No meeting, spring break | |||
11 | M 3/14 | L17: Recursion on Trees [slides] [WOTO1] [WOTO2] [recording] | ||
W 3/16 | Z21: Graphs | L18: Graphs, DFS, BFS [slides] [WOTO] [recording] | P5: Autocomplete | |
F 3/18 | D10: Tree Recursion Problems [discussion document] | |||
12 | M 3/21 | L19: Union-Find and Disjoint Sets [slides] [recording] | ME2 | |
W 3/23 | L20: Heaps, DFS, BFS revisited [slides] [WOTO] [recording] | APT8 | ||
F 3/25 | D11: More Tree Problems [discussion document] | |||
13 | M 3/28 | L21: DFS BFS Dijkstra [slides] [WOTO1] [WOTO2] [recording] | P6: Percolation | |
W 3/30 | Z23: Greedy | L22: Greedy Algorithms, Huffman [slides] [WOTO] [recording] | APT9 | |
F 4/1 | D12: APT, Huffman [discussion document] | |||
14 | M 4/4 | L23: Greedy Algorithms: MST [slides] [WOTO1] [WOTO2] [recording] | ME2R | |
W 4/6 | L24: Greedy Algorithms: TSP, Graph Practice [slides] [recording] | APT10 | ||
F 4/8 | D13: APT Quiz 2 Practice [discussion document] | |||
15 | M 4/11 | L25: Binary Search Tree Review, Red-Black Tree Intro [slides] [WOTO1] [WOTO2] [recording] | P7: Huffman | |
W 4/13 | L26: Red-Black Trees [slides] [WOTO1] [recording] | APT Quiz 2 | ||
F 4/15 | D14: Erdos Numbers [discussion document] | |||
16 | M 4/18 | L27: Wrapping up red-black trees, ME3 [slides] [recording] | ME3 | |
W 4/20 | L28: LDOC, Review and Celebrate [slides] | APT11 P8: Create [both optional, P8 due by class time] |
||
F 4/22 | No meeting, reading period | |||
17 | M 4/25 | No meeting, exam period | ||
4/27 | Final exam 7-10 pm | Final Exam |