Introduction to Optimization in Computing and Machine Learning

Webpage for CS507 - Spring 2019

Course Info

Instructor : Lorenzo Orecchia;
Teaching Fellow: Xin Lu

Office hours:

  • Lorenzo Th W 4-5pm or by appointment in MCS 135D;
  • Xin TBA;

Lectures: Tue,Thu 12.30pm-1.45pm in MCB-B25.
Discussion Sections:

Section Time Location
A2 Wed 12.20-1.10pm MCS B25
A3 Wed 1.25-2.15pm MCS B25

Official Course Description

Convex optimization algorithms and their applications to efficiently solving fundamental computational problems. Intended audience is advanced undergraduates and master students. Topics include modeling using mathematical programs, gradient descent algorithms, linear programming, Lagrangian duality, basics of complexity theory for optimization.

Prerequisites: Calculus, CS132, CS330.


This webpage will not update during the course. All communications and course administration will be managed through the two following websites:

  • We will use Piazza for class discussion and questions. The system is highly catered to getting you answers to your questions fast and efficiently from classmates and the course staff. Please do not email questions to the course staff, post your questions on Piazza instead. We also encourage you to post answers to student questions there (but obviously, not answers to problems on the current homework). This is the sign-up link: We will also use Piazza to post announcements and all handouts, including homework assignments and solutions.

  • We will use Gradescope for submitting, grading and returning assignments. All assignments will be submitted electronically via Gradescope as a PDF. We will provide more instructions with the first assignment.

Grading and Attendance

The course grade will break down as follows:

  • Homeworks: 35% (the lowest homework score will be dropped)
  • Midterm exam: 25%
  • Final exam: 35%
  • Attendance and participation in lecture, lab, and Piazza: 5%
  • Last day to drop without a W: Feb 26. With a W: Apr 5. Incompletes will not be granted for this class.

Exams: There will be a midterm exam and a final exam. The midterm exam will be held in class on Thursday, March 7th. The cumulative final will be held during the two-hour final exam slot scheduled by the college.

Homework Assignments, Submission, and Late Policy: Assignments will typically be due on Fridays at 5pm. All assignments will be submitted electronically via Gradescope as a PDF. Assignments will involve both analytic (math) problems and programming in Python. You can either type your homework using LaTex (we will provide a template for each homework) or scan your handwritten work. Plan on assignments being due every two weeks, except right after the midterm, tentatively: Feb 1, Feb 15, Mar 1, Mar 29; Apr 12, Apr 26.

We will not accept late submissions and we will not grant extensions. To offset this policy, when computing your homework grade, we will automatically drop the lowest 2 homework scores. However, we strongly recommend putting your best effort in every homework, as they provide the best preparation for the exams. As you likely already know, assignments requiring substantial creativity can take more time than you expect, so plan to finish a day early.

Regrading Procedure: If, after reviewing the posted solutions, you still believe a portion of your homework was graded in error, you may request a regrade via Gradescope. Note that when we regrade a problem, your score may go up or down.

Attendance: It is expected that you will attend lecture for this course. We ask that you please arrive to all classes on time, since it is disruptive to have students flowing in throughout the class period. When students are at a borderline between grades, we will factor in attendance and participation before making a final determination.