Teaching
The current course catalog for the Northwestern CS Department is available here.
Fall 2024
- COMP_SCI 212: Mathematical Foundations of CS Part 1: Discrete mathematics for computer science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 335: Intro to the Theory of Computation
- COMP_SCI 396: Online Markets
- COMP_SCI 396, 496: Foundations of Quantum Computing and Quantum Information
- COMP_SCI 496: Graduate Algorithms
- COMP_SCI 396/496: Approximation Algorithms
- COMP_SCI 497: Calibration (Foundations of Trustworthy ML)
Spring 2024
- COMP_SCI 212: Mathematical Foundations of CS Part 1: Discrete mathematics for computer science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 262: Mathematical Foundations of CS Part 2: Continuous mathematics for computer science
- COMP_SCI 396: Differential Privacy: from Foundations to Machine Learning
Winter 2024
- COMP_SCI 212: Mathematical Foundations of CS Part 1: Discrete mathematics for computer science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396, 496: Foundations of Quantum Computing and Quantum Information
- COMP_SCI 496: Advanced Topics in Modern Cryptography
Fall 2023
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 335: Intro to the Theory of Computation
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396, 496: Advanced Algorithm Design through the Lens of Competitive Programming
- COMP_SCI 496: Foundations of Reliable Machine Learning
- COMP_SCI 496: Learning in Networks
Spring 2023
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396: Differential Privacy: from Foundations to Machine Learning
- COMP_SCI 496: Theoretical Foundations of Data Science
Winter 2023
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 332: Online Markets
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396, 496: Advanced Topics in Modern Cryptography
- COMP_SCI 396/496: Approximation Algorithms
- COMP_SCI 396: Special Topics in Social Networks
Fall 2022
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 335: Introduction to the Theory of Computation
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396: Introduction to Cryptography
- COMP_SCI 396, 496: Introduction to Kolmogorov Complexity
- COMP_SCI 496 Modern Discrete Probability
- COMP_SCI 497: Data Economics
- COMP_SCI 497: Learning Augmented Algorithms
Spring 2022
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 335: Introduction to the Theory of Computation
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396: Online Markets
- COMP_SCI 396: Theory of Data and Decisions
- COMP_SCI 496: Algorithms for Big Data
- COMP_SCI 497: Topics in Combinatorial Optimization
Winter 2022
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396, 496: Advanced Algorithm Design through the Lens of Competitive Programming
- COMP_SCI 396, 496: Foundations of Quantum Computing and Quantum Information
- COMP_SCI 396, 496: Advanced Topics in Modern Cryptography
- COMP_SCI 396, 496: Introduction to Kolmogorov Complexity
- COMP_SCI 496: Graduate Algorithms
Fall 2021
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 496: Foundations of Reliability and Robustness in ML
- COMP_SCI 496: Mechanism Design
Spring 2021
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 496: Learning, Information, and Data
- COMP_SCI 496: Theoretical Foundations of Data Science
- COMP_SCI 497: The Science of Law and Computation
Winter 2021
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396/496: Analysis of Boolean Functions
- COMP_SCI 396/496: Approximation Algorithms
Fall 2020
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 335: Introduction to the Theory of Computation
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 496: Graduate Algorithms
Spring 2020
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 496: Graduate Algorithm
- COMP_SCI 496: Algorithmic Aspects of Network Inference
- COMP_SCI 396, 496: Advanced Topics in Approximation Algorithms
Winter 2020
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 497: Advanced Topics in Theory+X
Fall 2019
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 496: Graduate Complexity
Spring 2019
- COMP_SCI 212: Mathematical Foundations of Computer Science
- COMP_SCI 336: Design & Analysis of Algorithms
- COMP_SCI 396/496: Approximation Algorithms
- COMP_SCI 496: Lattices in Computer Science
- COMP_SCI 496: Mathematical Toolkit
- COMP_SCI 497: Advanced Topics in Computational Learning Theory
Winter 2019
- EECS 336: Design & Analysis of Algorithms
- EECS 396/496: Computational Geometry
- EECS 496: Graduate Algorithms
- EECS 496: Computational Learning Theory
Fall 2018
- EECS 212: Mathematical Foundations of Computer Science
- EECS 335: Introduction to the Theory of Computation
- EECS 496: Mechanism Design
Spring 2018
- EECS 212: Mathematical Foundations of Computer Science
- EECS 336: Design & Analysis of Algorithms
- EECS 395/495: Computational Learning Theory
- EECS 495: Topics in Beyond Worst-Case Analysis
Winter 2018
Fall 2017
- EECS 335: Introduction to the Theory of Computation
- EECS 336: Design & Analysis of Algorithms
- EECS 495: Analytical Methods in Theoretical Computer Science
- EECS 495: Mechanism Design
Spring 2017
- EECS 495: Approximation Algorithms
Winter 2017
- EECS 395/495: Bioinformatics
Spring 2016
Winter 2016
- EECS 212 : Mathematical Foundations of Computer Science.
- EECS 335: Introduction to the Theory of Computation
- EECS 495 : Graduate Algorithms
Fall 2015
- EECS 212 : Mathematical Foundations of Computer Science.
- EECS 336: Design & Analysis of Algorithms
- EECS 395/495: Bioinformatics
Here are a list of theory courses that have been offered in previous years and that are likely to be offered regularly.
- Computational Complexity
- Derandomization
- Probabilistic Method
- Introduction to Cryptography
- Kolmogorov Complexity
- Introduction to Algorithms
- Algorithmic Mechanism Design
- Randomized Algorithms
- Algorithmic and Economic Aspects of Social Networks
- Combinatorial Optimization
- Algorithmic Research for E-Commerce
Recent Comments