CSCI 532: Algorithms

Spring 2026

Date Lecture Topic Homework
13 Jan
15 Jan
Background/Skills Check
Greedy (MST)
 
HW 1 (Due 10 Feb)
20 Jan
22 Jan
Greedy (Scheduling)
Greedy (Scheduling)
 
 
27 Jan
29 Jan
Divide and Conquer (Closest Pair)
Dynamic Programming (Longest Path)
 
 
03 Feb
05 Feb
Dynamic Programming (Vertex Cover)
Dynamic Programming (Edit Distance)
 
 
10 Feb
12 Feb
Flow Networks (Intro)
Test 1
 
 
17 Feb
19 Feb
Flow Networks (Applications)
Flow Networks (Validity)
HW 2 (Due 10 Mar)
 
24 Feb
26 Feb
Flow Networks (Optimality)
Linear Programming (Intro)
 
 
03 Mar
05 Mar
Linear Programming (Applications)
Linear Programming (Simplex)
 
 
10 Mar
12 Mar
Linear Programming (Duality)
Test 2
 
 
17 Mar
19 Mar
No Class - Spring Break
No Class - Spring Break
 
 
24 Mar
26 Mar
Integer Linear Programming (Intro)
Integer Linear Programming (TU)
HW 3 (Due 28 Apr)
 
31 Mar
02 Apr
Linear Programming/NP-Completeness
Approximation (APX)
 
 
07 Apr
09 Apr
Approximation (Non-APX)
Approximation (PTAS)
 
 
14 Apr
16 Apr
Approximation (Inapproximability)
Randomized (Intro)
 
 
21 Apr
23 Apr
Randomized (Randomized Rounding)
Randomized (Chernoff Bounds)
 
 
28 Apr
30 Apr
Randomized (Closest Pair)
Test 3
 
 
07 May Presentations, 12:00 - 1:50 pm  
Schedule subject to change. Refresh webpage (or hit F5) to view current page.

Lecture

Instructor

Sean Yaw

Textbook

Course Objectives

MSU course description: Concrete time and space complexity; combinatorial algorithms; greedy algorithms; dynamic programming; probabilistic and randomized algorithms; branch-and-bound algorithms.

At the end of the course, my goal is for you to be able to:

  1. Given a problem, understand it and develop a clear, efficient plan to solve it.
  2. Understand a broad set of algorithmic tools and have an intuition for when to apply which tools, including:
  3. Understand and be able to comment on the time and space complexity of an algorithm, including being able to characterize recursive relations.
  4. Understand what NP-Complete problems are, have an intuition for the solvability of new problems, and have familiarity with techniques to deal with NP-Complete problems.

Grading

At the end of the semester, grades will be determined (after any curving takes place) based on your class average as follows:

Project

There are two types of projects (research projects and reading projects) as described below. PhD students and thesis-based MS students need to do a research project and courses-only MS students may do either a research or reading project. For both projects, you will have to write a report (due 07 May at 12:00 pm) and make a presentation to the class during the finals time slot (07 May at 12:00 pm). Don't hesitate to come talk to me about project/paper ideas. You will be graded based on quality of research (if applicable), quality of report writing, and quality of presentation. Per the collaboration policy, you can work in groups of up to two people.

Late Policy

No late submissions will be accepted.

Collaboration Policy

AI Policy

You may use AI tools to help you understand concepts, guide your problem-solving process, or improve your writing. However, you are expected to fully understand all of the work you submit. If you submit work that you cannot explain or demonstrate understanding of, then you are submitting work that is not yours. In such cases, grades may be adjusted retroactively to reflect this. You will not have access to AI on the in-class tests.