Class Schedule

It's likely that the topics will change, but very UNlikely that the dates of recitations, homeworks, or exams will.

Homeworks are listed below on the day they are assigned (they will be on Gradescope).Homeworks are due at 9pm unless indicated otherwise.

During Tuesday Recitation, you'll work on a problem set to gain hands-on practice with recent lecture material and prepare for upcoming homework assignments. One problem each Tuesday will be graded on completeness. Thursday recitations will be fun algo-practice sessions, led by our TAs! We'll announce on Piazza each week what the theme will be and who your TA lead will be. These Thursday times will be excellent preparation for your co-op and job interviews.

Date Topics/Reading Class Materials Recitation HW
May 8 (M) Ch. 1.1
  • Overview of CS3000
  • CS1800 we need to know
  • The role of algorithms
May 9 (T) Ch. 3.1-3.3
  • Asymptotic notation
  • Communicating algorithms
  • Arrays: linear search, selection sort
Recitation 1 (PDF, tex) Short HW1 (PDF, tex)
due 5/11 @ 9pm
May 10 (W) Ch. 4
  • Technique: Divide and conquer
  • Recurrences and run-time
  • Binary search and BSTs
May 11 (R)
  • Karatsuba algorithm
  • Proving algorithmic correctness
Long HW1 (PDF, tex) due 5/16 @ 9pm
May 15 (M) Ch. 7
  • Divide & Conquer Sorting
  • Mergesort
May 16 (T) Ch. 6
  • Divide and Conquer Sorting
  • Quicksort
Recitation 2 (PDF, tex) Short HW2 (PDF, tex) due 5/28 @9pm
May 17 (W)
  • Technique: Dynamic Programming
  • DP vs. Recursion
  • Longest Common Subsequence
May 18 (R) Ch. 14
  • DP cont'd
  • Building the LCS table
Optional Rec: Algo-Prep
11:40 - Shivani
1:30 - Shivani
3:20 - Inbar
Long HW2 (PDF, tex) due 5/23 @ 9pm
May 22 (M) Ch. 15
  • Technique: Greedy
  • Scheduling problem
  • Elements of Greedy algorithms
May 23 (T) Ch. 15
  • Greedy cont'd
  • Huffman codes
Recitation - Exam Prep

Recitation Late Deadline (9pm)
(Submit any/all of Rec 1-2 for full credit)
(https://forms.gle/2LFKBWfAwZgmoiKb9)

May 24 (W)
  • Data structures overview
  • Exam prep
May 25 (R)

EXAM ONE (in class)

Long HW3 (PDF, tex) due 5/31 @ 9pm
May 29 (M)

No class (Memorial Day)

May 30 (T) Ch. 6
  • Heap data structure
  • Heapsort
Recitation 3 (PDF, tex)
May 31 (W) Ch. 16
  • Amortized Analysis
  • Intro to Graphs
  • June 1 (R) Ch. 20
    • Finding a shortest path
    • Breadth-first search
    Optional Rec: Algo-Prep
    11:40 - Neha
    1:30 - Nalini
    3:20 - Neha
    Long HW4 (PDF, tex, img) due 6/6 @ 9pm
    June 5 (M) Ch. 20
    • Depth-first search
    • Topological sort
    June 6 (T) Ch. 21
    • Minimum Spanning Trees
    • Kruskal's Algorithm
    • Prim's Algorithm
    Recitation 4 (PDF, tex) Short HW3 (PDF, tex, img, img) due 6/8 @ 9pm
    June 7 (W) Ch. 22
    • Single-source shortest paths
    • Dijkstra's Algorithm
    June 8 (R) Ch. 23
    • All-pairs shortest paths
    • Dynamic programming in graphs
    • Floyd-Warshall algorithm
    Optional Rec: Algo-Prep
    11:40 - Varun
    1:30 - Varun
    3:20 - Krishna
    Long HW5 (PDF, tex, img, img) due 6/13 @ 9pm
    June 12 (M) Ch. 24
    • Wrapping up graphs!
    • Max Flow in a graph
    • Ford-Fulkerson algorithm
    June 13 (T) Ch. 5
    • Randomized quicksort
    Recitation - exam prep
    June 14 (W) Ch. 5
    • Randomized algorithms
    • Exam prep
    June 15 (R)

    EXAM TWO (in class)

    June 19 (M)

    No Class (Juneteenth)

    June 20 (T) Ch. 34
    • P vs. NP
    Recitation 5 (PDF, tex) Short HW4 (PDF, tex) due 6/22 @9pm

    Recitation Late Deadline (9pm)
    (Submit any/all of Rec 3-5 for full credit)
    (https://forms.gle/2LFKBWfAwZgmoiKb9)

    HW Resubmission Deadline (9pm)
    (Submit ONE long, ONE short)
    (Second-Chance HW on Gradescope)

    June 21 (W) Ch. 31
    • Wrap-up Lecture!
    • Topics TBD
    June 22 (R)

    (OPTIONAL) Exam Make-Up Question