CSCI 532: Algorithms

Fall 2023

Date Lecture Topic Reading Homework
24 Aug Background/Skills Check 3-4
29 Aug
31 Aug
Dynamic Programming (Change Making)
Dynamic Programming (Matrix Multiplication)
4.2, Notes
15.1, 15.2
HW 1 (Due 07 Sep)
 
05 Sep
07 Sep
Dynamic Programming (Sequence Alignment)
Greedy (MST)
15.4
Notes, 23
 
HW 2 (Due 18 Sep)
12 Sep
14 Sep
Greedy (Activity Selection)
Greedy (Lateness Scheduling)
16.1
Notes
 
 
19 Sep
21 Sep
Exam 1
Flow Networks
 
26
 
HW 3 (Due 03 Oct)
26 Sep
28 Sep
Flow Networks
Flow Networks
 
 
 
 
03 Oct
05 Oct
Flow Networks
Linear Programming
 
29
HW 4 (Due 17 Oct)
 
10 Oct
12 Oct
Linear Programming
Linear Programming
 
 
 
 
17 Oct
19 Oct
Linear Programming
Exam 2
 
 
 
 
24 Oct
26 Oct
NP Completeness
Approximation Algorithms (Vertex Cover)
34
35.1
HW 5 (Due 07 Nov)
 
31 Oct
02 Nov
Approximation Algorithms (Set Cover)
Approximation Algorithms (Knapsack)
35.3
Notes
 
 
07 Nov
09 Nov
Approximation Algorithms (TSP)
LP Relaxation
35.2
35.4
HW 6 (Due 14 Nov)
 
14 Nov
16 Nov
Randomized Rounding
Exam 3

 
 
 
21 Nov
23 Nov
No Class - Thanksgiving
No Class - Thanksgiving

 
 
 
28 Nov
30 Nov
Presentations
Presentations
 
 
HW 7 (Due 11 Dec)
 
05 Dec
07 Dec
Presentations
Presentations
 
 
 
 
12 Dec Final Exam, 2:00 - 3: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:

Late Policy

No late submissions will be accepted.

Collaboration Policy

Failure to abide by these rules will result in everyone involved being reported to the Dean of Students and could result in failing the course.