CS 412: Linear Programming and Convex Optimzation

Professor Sean Warnick

Course Description

This course introduces optimization as a paradigm for developing efficient solutions to practical problems, including those arising from various business, engineering, medical, military, and other applications. Topics include Linear Programming, Unconstrained Optimization, and Convex Programming. Algorithms include Simplex and Interior Point methods. Applications include Game Theory, Network Flow, Regression, Forecasting, and Finance.


Linear Programming: Foundations and Extensions by Robert J. Vanderbei.

Sample Schedule

A sample schedule can be found here.

Full Syllabus

The full syllabus from BYU Learning Suite can be seen here.


There will be a continuous stream of homework assignments throughout the course, allowing for substantial practice with the central concepts of the class. Students will be expected to learn Matlab as a computational learning environment and use the package in their assignments.


There will be two midterms and a final exam.

Preparation Time

"The expectation for undergraduate courses is three hours of work per week per credit hour for the average student who is appropriately prepared; much more time may be required to achieve excellence. These three hours may include one hour of lecture plus two hours of work outside class, three hours in a laboratory with little outside work, or any other combination appropriate to a particular course." (page 56, University Catalog)


Grades will be weighted by the following distribution:

  • Assignments 20%
  • 2 Midterms 30%
  • Finance Project 20%
  • Paper Review 10%
  • Quizes 5%
  • Final 15%

100-93 A 93-90 A- 90-87 B+
87-83 B 83-80 B- 80-77 C+
77-73 C 73-70 C- 70-67 D+
67-63 D 63-60 D- 60-0 E