CS5800 Algorithms Section 3, Fall 2026

about CS5800      home      schedule    gradescope     piazza    

* Schedule and materials subject to change
Week / Module Topic / Lecture Other Reading Assignment
  • 9/7 - 9/11


  • Administrative, Intro (CLRS ch1, ch2)
  • Introduction, Example Problems
  • Fibonacci numbers
  • Orders of Growth (CLRS ch3)

Slides: Fibonacci, Strassen, 2 Lists

Recap. These math topics are prerequisites:
Discrete Math (Undergrad Honors)


  • Background/prerequisites:
  • * math
  • * datastructures : arrays, trees, lists
  • * pseudocode/ imperative programming
  • * sorting : mergesort, insertionsort

Order of growth table

Podcast : Strassen Matrix Multiplication (adobe pdf)
Podcast: Fibonacci Matrix Exponentiation(adobe pdf)

  Math problems (optional, no credit)

Prerequisite self-assessments (optional, no credit): Exam 1   Exam 2

  • 9/14 - 9/18


  (CLRS ch 4)
  Notes: Recurrences
 Example: Iteration Method
 Notes: Master Theorem
Examples: Master Theorem

 Slides : Recurrences

Wikipedia: Divide and Conquer

Extended Master Theorem

slides: Linear Recurrences


  • 9/21 - 9/25



  • InsertionSort
  • MergeSort
  • HeapSort (CLRS ch6)
  • QuickSort (CLRS ch7)

Slides: Sorting part A

Sorting Animation

QuickSort Analysis Avg Case

podcast: QuickSort

Algorithms Thinking Session Notes (optional)

  • 9/28 - 10/2



  • QuickSort, Partition (CLRS ch7)

  • Counting Sort, Radix Sort (CLRS ch8)
  • Sorting bounds

  • Median, order statistics (CLRS ch9)

Slides: Sorting part B



  • LLM-PB2: 4 item auction due Mon 10/19
    • 10/5 - 10/9

    Greedy Algorithms (ch 16)
    Sub-problem Structure for Greedy

    Lecture Notes: Greedy
    Notes: Greedy Techniques
    Wikipedia: Greedy
    Slides : Greedy

    podcast: Subproblem Optimal Structure

    podcast: Fractional Knapsack

    podcast: Activity Selection Problem
    • 10/12 - 10/16
    • Week 6 / Dynamic Programming
    • Lecture 6 Notes
      Mon 10/12 Indigenous Peoples Day, NO CLASS


    Greedy VS Dynamic Programming (ch 15)
    Sub-problem Structure for DynProg

    Notes: Coin change
    Notes: CheckBoard
    Notes: Discrete Knapsack
    Notes (LLM): Activities MAx Scheduled Time

    Slides : DP1
    podcast: discrete knapsack
    podcast: coin change
    podcast: check board

    • 10/19 - 10/23

    Dynamic Programming (ch 15)

    Notes: LCS
    Notes: Matrix Chain Multiplication

    Slides: DP2
    SlidesDP2 + Optimal BST

    • 10/26 - 10/30
    • Week 8 / Dynamic Programming
    • Lecture 8 Notes

      MIDTERM: Saturday 10/31 or 11/7; time and room TBD

    Dynamic Programming (ch 15)
    DP problems as DAG Shortest Paths (Notes)



    • 11/2 - 11/6
    Week 9/ Recap Simple DataStructures

  • Simple DataStructures Review (CLRS ch10, 12)
  •  
    • 11/9 - 11/13
    Week 10/ DataStructures
    Trees and Hashes
    Skiplists
    Wed 11/11 Veterans Day, NO CLASS
    Lecture 9 notes



    • Hash Tables (ch 11)
    • RB trees (ch13)

     Hash, RB Tree Slides
    Skiplists   Note ;   Slides ;   Visualizer

     podcast: hash tables
    optional theory: One-way function
     
    • 11/16 - 11/20



    • 11/23 - 11/27
    •  
    • Week 12 / Graphs I
    • Wed 11/25 Fall Break, NO CLASS
    • Graps Intro, BFS, DFS
    • DAGs
    • Strongly Connected Components

    • Lecture 11 notes
    Screencast 11/11/25 : Graphs part 1



    • Graphs Intro (ch 22)
    • Minimum Spanning Trees (ch 23)

     Slides

    Podcast: DFS
    Podcast: SCC
    Podcast: MST
    • 11/30 - 12/4



    • SSSP:  Bellman Ford
    • SSSP:  Dijkstra

     ASSP: DP by edges
     ASSP: DP by vertices (Floyd Warshall)

    Slides


    • 12/7 - 12/11

    • Week 14 / Graphs III,
    • Network Flows


    Lecture 13 notes

    • SP
    • Network Flow
    • MaxFlow-MinCut Theorem
    • Ford-Fulkerson

    Ford-Fulkerson

    max Flow Slides

    Push-Relabel : Notes ; Slides

    Push Relabel text : Use CLRS 3rd edition

     Podcast: MaxFlow

    • 12/7 - 12/11

    • Optional / Linear Programming


    RSA Math Notes: Number Theory
    Slides: RSA




    • FINAL EXAM: date, time, and room TBD



    Exam format TBD Practice Final

    • Optional / Advanced Topics (optional)
    • NP-complete Problems, Approx Algorithms, RSA