“MCS Algorithms”, Fall 2026 Schedule

About This Course

This is a course on the design and analysis of algorithms, aimed at graduate students who have not taken an theory-oriented algorithms course like CS 374. Graduate students who have already taken a theory-oriented algorithms course are encouraged to consider taking CS 473 inmstead of this course.

This is the first pilot offering of this course. The Siebel School's master's programs have grown significantly over the last few years. As the programs have grown, we have noticed an increasing number of graduate students who are interested in learning algoriths but struggle in our existing graduate algorithms courses, starting with CS 473. Our goal is to provide rigorous algorithms course that better matches our graduate students' diverse backgrounds and interests.


Instructors
Chandra Chekuri (shekuri@illinois.edu)
Jeff Erickson (jeffe@illinois.edu)
Lectures
Tuesdays and Thursdays, 2:00-3:15
114 Transportation Building
Office Hours
Chandra: Thu 11-12, Fri 2:00-3:15 (on Zoom, link TBA)
Jeff; Mon 4-5, Wed 11-12
In-person office hours are held in the open area outside 3304 Siebel

Topics
The course will cover a wide range of fundamental algorithm design and analysis techniques. Here is an tentative (and admittedly ambitious) list of topics; see the lecture schedule for more information.
  • Basic algorithm analysis
  • Review of basic data types and data structures
  • Loop invariants
  • Recursion: Divide and conquer, backtracking
  • Dynamic programming
  • Greedy algorithms
  • Graph algorithms
  • Reductions
  • Randomization and hashing
  • Local search algorithms
  • Flows/matchings and their applications
  • Optimization
  • Intractability

Intended Audience
Graduate students who have not previously taken CS 374 or an equivalent theory-oriented algorithms course. If you're not sure, please ask us!

Degree Requirements
This course satisfies the "Theory and Algorithms" breadth requirement for the regular MS and MCS programs, but not for the five-year BS/MS and BS/MCS programs. Students in the 5-year programs who are interested in algorithms should take CS 473.

Because this is a 400-level course, it does not count toward the requirement in all graduate programs for 500-level credits.

  • Graduate students who have already taken a theory-oriented algorithms course as an undergrad should consider CS 473 instead. In particular, if you've actually taken CS 374, this is not the right class for you.
  • At least for now, we are restricting enrollment in this class to graduate students. Undergraduates interested in algorithm should take CS 374.
  • Students cannot receive credit for both this course and CS 374. This course cannot be used to satisfy any undergraduate degree requirements. In particular, this course des not satisfy the CS/ECE 374 degree requirement in computer science, computer engineering, Math&CS, Stat&CS, or any CS+X major.

Prerequisites
Discrete mathematics (CS 173 or equivalent), data structures (CS 225 or equivalent), non-AI-assisted programming experience, and graduate standing. We will briefly review background material as necessary, but we assume that students have the intellectual maturity to fill in remaining gaps.

Coursework
Grades are based on weekly written homeworks, two midterm exams, and a final exam. See the grading policies for more information about how each type of coursework contributes to the final course grade.


Class Resources

Web site
All course materials—announcements, course policies, detailed schedule, lecture notes, lecture videos, homeworks, homework and exam solutions—can be found here. Hey, look! You found it!
Reading
There is no required textbook. A significant fraction of the class will follow Jeff's Algorithms textbook and related course notes, which are freely available online. Book chapters for almost all lecture topics are directly available on the schedule page; these will be revised and updated as the semester progresses. For topics that Jeff's textbook does not cover, we will provide links to alternative free references.
Videos
We plan to record all lectures. Lecture videos should appear on MediaSpace at most a day after each lecture. Lecture videos from several past algoruthms courses are linked from a separate page.
Gradescope
We are using Gradescope for submission and grading of both homeworks and exams. Everyone who registered before the semester started should already have access to the course's Gradescope site. Students who add the course later can enroll themselves using the self-enrollment code X8Z4V5.
Ed Discussion
We are using Ed Discussion for online questions and announcements. Anyone can join the Ed site; no access code is required. Please post questions on any course-related topic to Ed rather than emailing the course staff. You can even post your questions and answers anonymously.
Etc.
We've collected a long list of other useful resources on a separate page.