This course provides students with an overview of various theoretical optimization problems and the computational tools available for their solution. Topics include: linear, non-linear, mixed-integer, and probabilistic optimization, parallel and distributed graph theory, heuristic search, computational analysis, and applications. Students will apply computational approaches to various problems, using examples from a variety of fields.