CSE 431B/531B: Algorithm Analysis and Design (Fall 2025)


Course Syllabus: Detailed course content, including grading policy, academic integrity policy, accessibility resources, etc.

Course Logistics

Lecture Time: Mon, Wed, Fri 2:00PM-2:50PM (Section B)

Lecture Location: Norton 190 (Section B)

Instructor: Kelin Luo

Office Hour: Mon, Wed 12:30PM-01:30PM

Except for the office hours provided, you can also set up an appointment (by email) for additional office hours.

Email: [first name][last name][at][buffalo][dot][edu]

Please sign up for the course on Piazza. You can post all questions related to lectures, quiz, and assignments on Piazza. Instructor posts announcement on piazza.

TAs and Graders Information

Teaching Assistants and Graders:

Yujie Zhu
Qiang Hu
Tianyang Zhang
Yi Du
Atharva Bhalchandra Wadekar

Email:

[yzhu68][at][buffalo][dot][edu]
[qhu5][at][buffalo][dot][edu]
[tzhang52][at][buffalo][dot][edu]
[yidu][at][buffalo][dot][edu]
[wadekar][at][buffalo][dot][edu]

Note: See the office hours, office location and Zoom link on Piazza.


References

Course information and lecture notes from previous years

  • UB CSE531B Algorithm Analysis and Design (2025 Spring) by Kelin Luo
  • UB CSE431/531 Algorithm Analysis and Design (2022 Fall) by Shi Li
  • Recommended Textbooks

    There are no required textbooks, but most of the contents we will discuss are covered in the following books:

  • [KT] Algorithm Design, by Jon Kleinberg and Eva Tardos (ISBN: 978-0321295354)
  • [TCRC] Introduction To Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
  • Other Course References

    Similar courses taught in other universities:

  • UIUC CS473: Algorithms (2020)
  • Stanford CS161: Design and Analysis of Algorithms (2020)
  • News

    [Aug 22, Fri] Course website online.
    [Aug 25, Mon] Quiz 1 on UBlearns. Quiz 1 (Join Piazza, Academic Integrity Quiz, MUST GET 100%) due 5th Sep@ 11:59PM.
    See Piazza -> News

    Slides and Assignments

    See Piazza -> Resources -> Lecture Notes

    Deadlines for Homeworks and Projects

    HWs/ProjectsReleasing DateDeadline
    HW1Aug 27Sep 08
    HW2Sep 08Sep 22
    HW3Oct 13Oct 27
    HW4Nov 17Dec 01
    Project 1Sep 29Oct 20
    Project 2Oct 20Nov 17
    Task 1Sep 22Oct 06
    Task 2Oct 27Nov 10

    Note: (1) All assignments deadlines are on Monday at 11:59 PM EST.Expectations will be clearly noted when the assignments come out as well as the duration of the assignment. Please pay attention to the amount of time that each assignment provides and begin early. (2) Submit the typed PDF submission for homeworks. You are free to format your submissions using any word processor of your choice. Both Microsoft Word and LaTeX are recommended options. Additionally, for web-based LaTeX editing, you can explore platforms such as Overleaf. (3) All assignments will be submitted and returned via UBlearns.
    WeekDateTopicContentsOther Notes
    1 Aug 25 Introduction Course Syllabus
    Aug 27 Algorithm Pseudo Code and Asymptotic Analysis (KT 2.2)
    Aug 29 Big O, Big Omega and Theta Notations, Running Times (KT 2.4)
    2 Sep 01 Labor Day Observed, no class
    Sep 03 Graph Basics Graph Notations (KT 3.1, 3.2)
    Sep 05 Graph Types and Traversal (KT 3.4)
    3Sep 08 Bipartiteness Test and Topological Order (KT 3.4, KT 3.6) HW1 Deadline
    Sep 10 Greedy Algorithms Box Packing (KT 4.1)
    Sep 12 Interval Scheduling (KT 4.1)
    4 Sep 15 Interval Partition
    Sep 17 Optimum Caching (KT 4.3)
    Sep 19 Optimum Caching amd Huffman Code (KT 4.8)
    5Sep 22 Huffman Code (KT 4.8) HW2 Deadline
    Sep 24 More Greedy Algorithm Exercise
    Sep 26 Midterm #1 Review
    6 Sep 29 Midterm #1 Midterm #1 Exam (2:00PM-2:50PM at Norton 190)
    Oct 01 Divide and Conquer Sorting Problem and Merge Sort (KT 5.1, 5.3)
    Oct 03 Counting Inversions (KT 5.3)
    7 Oct 06 Quick Sort and Selection Problem (KT 13.5) Task 1 Deadline
    Oct 08 Polynomials Multiplication (KT 5.5)
    Oct 10 Solving Recurrences and Fibonacci Number (KT 5.2)
    8 Oct 13 Fall Break, no class
    Oct 15 More Divide-and-Conquer Algorithm Exercise Problems
    Oct 17 Dynamic Programming Weighted Interval Scheduling (KT 6.1)
    10 Oct 20 Subset Sum Problem (KT 6.4) P1 Deadline
    Oct 22 Knapsack Problem (KT 6.4)
    Oct 24 Sequence Alignment (KT 6.6)
    10 Oct 27 Matrix Chain Multiplication HW3 Deadline
    Oct 29 Optimum Binary Search Tree
    Oct 31 More Dynamic Programming Exercise and Midterm #2 Review
    11 Nov 03 Midterm #2 Midterm #2 Exam (2:00PM-2:50PM at Norton 190)
    Nov 05 Graph Algorithms Kruskal's Algorithm and Reverse-Kruskal's Algorithm (KT 4.5)
    Nov 07 Prim's Algorithm for MST (KT 4.6)
    12 Nov 10 Shortest Paths and Dijkstra's Algorithm (KT 4.4) Task 2 Deadline
    Nov 12 Dijkstra's Algorithm (KT 4.4)
    Nov 14 Shortest Paths with Negative Weights
    13 Nov 17 Bellman-Ford Algorithm (KT 6.8) P2 Deadline
    Nov 19 Floyd-Warshall Algorithm
    Nov 21 More Graph Algorithm Exercise Problems
    14 Nov 24 NP-Completeness P, NP, Co-NP (KT 8.1-8.3)
    Nov 26 Thanksgiving Break, no class
    Nov 28 Thanksgiving Break, no class
    15 Dec 01 Polynomial Time Reductions and NP (KT 8.4) HW4 Deadline
    Dec 03 Circuit-SAT, 3-SAT (KT 8.5)
    Dec 05 Independent Set Problem (KT 8.5), Solve NP-hard Problems
    16 Dec 08 Last Day of Classes, Recap/Review/Questions
    Final Exam: Dec 15, Monday, 15:30 - 18:30 at NSC 225