Schedule

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.

WeekDayPrepClassDue
1W 1/5Z2: Intro to Data Structures and Algorithms
L1: What is Computer Science, virtual synchronous [zoom link, requires duke zoom account] [slides] [WOTO] [recording]
F 1/7D1: Algorithmic Problem Solving and APTs, virtual asynchronous [discussion document]
2M 1/10Z3: Basic Objects
Z4: Basic Methods + Classes
L2: Java, Classes, Objects [zoom link] [slides] [WOTO] [recording]
W 1/12Z8: Loops
Z9: Arrays
Z10: ArrayLists
L3: Object-oriented programming, Algorithmic tradeoffs [zoom link] [slides] [WOTO] [recording]APT1
F 1/14D2: APT2, Project P0: Person201
3M 1/17No meeting, MLK Day
W 1/19Z12: Classes Continued
Z13: Abstract Classes, Interfaces, Inheritance
L4: Algorithmic Tradeoffs, Interfaces and Implementations [slides] [WOTO 1] [WOTO 2] [recording]P0: Person201
APT2
F 1/21D3: APT3 Problems [discussion document]
4M 1/24Z14: Hashing, HashMap, and HashSetL5: Maps and Sets [slides] [WOTO] [recording]P1: NBody
W 1/26L6: Hashing, HashMaps, Hashsets [slides] [WOTO] [recording]APT3
F 1/28D4: Set Problems, APT4 and P2 [discussion document]
5M 1/31Z15: Efficiency and Complexity of AlgorithmsL7: Runtime Efficiency [slides] [WOTO1] [recording]P2: Markov 1
W 2/2L8: Asymptotic (Big-O) Analysis [slides] [WOTO1] [WOTO2] [recording]APT4
F 2/4D5: Map/Set Problems, APT5 [discussion document]
6M 2/7Z16: Memory, Pointers, and LinkedListL9: Memory, Pointers, LinkedList [slides] [WOTO1] [WOTO2] [recording]P3 Markov 2
W 2/9L10: Linked List and Pointer Problems [slides] [WOTO1] [recording]APT5 [extended 24 hours]
F 2/11D6: P4, linked list, list nodes [discussion document]
7M 2/14L11: Debugging and Testing [slides]ME1 [L1-8]
W 2/16L12: Debugging and more linked list [slides] [WOTO1] [WOTO2] [recording]APT6
F 2/18D7: Testing, debugging, problem solving [discussion document]
8M 2/21Z17: RecursionL13: Recursion [slides] [WOTO] [recording]P4: DNA LinkStrand
W 2/23Z18: Sorting Theory and PracticeL14: Sorting, Comparable, Comparator [slides] [WOTO] [recording]APT Quiz 1
F 2/25D8: Recursion problems, sorting problems [discussion document]
9M 2/28Z19: Stacks, Queues, HeapsL15: Stacks, Queues, Priority Queues [slides] [WOTO1] [WOTO2] [recording]ME1R
W 3/2Z20: Binary Search TreesL16: Binary Search Trees [slides] [WOTO] [recording]APT7
F 3/4D9: P5, Recursion, Trees [discussion document]
10M 3/7No meeting, spring break
W 3/9No meeting, spring break
F 3/11No meeting, spring break
11M 3/14L17: Recursion on Trees [slides] [WOTO1] [WOTO2] [recording]
W 3/16Z21: GraphsL18: Graphs, DFS, BFS [slides] [WOTO] [recording]P5: Autocomplete
F 3/18D10: Tree Recursion Problems [discussion document]
12M 3/21L19: Union-Find and Disjoint Sets [slides] [recording]ME2
W 3/23L20: Heaps, DFS, BFS revisited [slides] [WOTO] [recording]APT8
F 3/25D11: More Tree Problems [discussion document]
13M 3/28L21: DFS BFS Dijkstra [slides] [WOTO1] [WOTO2] [recording]P6: Percolation
W 3/30Z23: GreedyL22: Greedy Algorithms, Huffman [slides] [WOTO] [recording]APT9
F 4/1D12: APT, Huffman [discussion document]
14M 4/4L23: Greedy Algorithms: MST [slides] [WOTO1] [WOTO2] [recording]ME2R
W 4/6L24: Greedy Algorithms: TSP, Graph Practice [slides] [recording]APT10
F 4/8D13: APT Quiz 2 Practice [discussion document]
15M 4/11L25: Binary Search Tree Review, Red-Black Tree Intro [slides] [WOTO1] [WOTO2] [recording]P7: Huffman
W 4/13L26: Red-Black Trees [slides] [WOTO1] [recording]APT Quiz 2
F 4/15D14: Erdos Numbers [discussion document]
16M 4/18L27: Wrapping up red-black trees, ME3 [slides] [recording]ME3
W 4/20L28: LDOC, Review and Celebrate [slides]APT11
P8: Create [both optional, P8 due by class time]
F 4/22No meeting, reading period
17M 4/25No meeting, exam period
4/27Final exam 7-10 pmFinal Exam