Here is a list of courses that will build your toolkit for research in optimization and algorithms.
The listed semesters are based on some previous iteration of the course.
Not all courses are offered every year/semester - visit this page for the current schedule.

Graph Theory: MATH 412 (Fall)
Intro to Combinatorics: MATH 413 (Spring)
Combinatorial Mathematics: MATH 580 (Fall)
Structure of Graphs: MATH 582 (Spring)
Linear Algebra: MATH 415 (Fall)
Abstract Linear Algebra: MATH 416 (Fall)
Probability I: MATH 561 (Spring)
Probability II: MATH 562 (Fall)

Algorithms: CS 473 (Fall+Spring)
Complexity: CS 579 (Spring)
Approximation Algorithms: CS 583 (Spring)
Randomized Algorithms: CS 574 (Spring)

Optimization of Large Systems: IE 411 (Fall)
-- Alternative: Linear Programming: MATH 482 (Fall+Spring)
Integer Programming: IE 511 (Spring)
Combinatorial Optimization: IE 519 (Spring)
Convex Optimization: IE 521 (Spring)
Stochastic Processes and Applications: IE 410 (Spring)
-- Alternative 1: Applied Stochastic Processes: MATH 564 (Fall)
-- Alternative 2: Random Processes: ECE 534 (Fall)

Academic Writing I: ESL 502
Academic Writing II: ESL 503
Advanced Academic Writing: ESL 592
Academic Presentation Skills: ESL 593

More Courses

Abstract Algebra: MATH 417 (Fall)
Extremal Graph Theory: MATH 581 (Spring)
Algebraic Combinatorics: MATH 586 (Spring)
Partial Orders and Combinatorial Optimization: MATH 583 (Spring)
Probabilistic Combinatorics: MATH 585 (Spring)
Quantum Channels: Math 595 (Spring)

Machine Learning Theory: CS 598 (Fall)
Geometric Approximation Algorithms: CS 598 (Fall)
Pseudorandomness: CS 598 (Fall)
Algorithmic Game Theory: CS 598 (Fall)
Geometric Data Structures: CS 598 (Fall)
Statistical Reinforcement Learning: CS 598 (Fall)
Deep Learning Theory: CS 598 (Fall)
Fixed Parameter Tractable Algorithms: CS 598 (Spring)
Algorithms for Big Data: CS 498 (Spring)
Quantum Cryptography: CS 598 (Spring)
Lattice-Based Cryptosystems: CS 598 (Spring)
Applied Cryptography: CS 498 (Fall)

Network Analysis of Systems: IE 512 (Fall)
Statistics of Big Data and Clustering: IE 529 (Fall)
Deep Learning: IE 534 (Fall)
Big Data Optimization: IE 598 (Fall)
Applied Nonlinear Programming: IE 510 (Spring)
Games, Markets and Math Programming: IE 598 (Spring)
Topics in Game Theory and Fair Division: IE 598 (Spring)

Information Theory: ECE 563 (Fall)
Statistical Learning Theory: ECE 543 (Spring)