Convex Optimization Algorithms

Webpage for CS591 E2 - Spring 2018

Course Info

Instructors :
-Alina Ene;
-Lorenzo Orecchia;

Office hours:

  • Alina T 5pm-6.30pm; Th 1pm-2.30pm
  • Lorenzo W 12n-1.30pm; Th 1pm-2.30pm Check class calendar for updates.

Lectures: Tue,Thu 3.30pm-4.45pm in MCB-B23.

Official Course Description

Large-scale convex optimization algorithms have had a significant impact in many areas of Computer Science and Engineering, including machine learning, signal processing and operations research. The objectives of this course are:

  1. Develop the core mathematical framework of convex analysis, with a particular focus on duality;
  2. Study classes of convex optimization algorithms along with their complexity analysis;
  3. Discuss general methods for large-scale convex optimization, such as gradient descent and its stochastic variants;
  4. Discuss structural convex optimization, to develop the capability of designing customized algorithms by exploiting problem structure, such as interior-point methods and network-flow methods.

Prerequisites: Linear Algebra, Calculus, Algorithms at the undergraduate level. Basic understanding of multivariate calculus.


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 2 homework scores will be dropped)
  • Midterm exam: 25%
  • Final exam: 35% (cumulative)
  • Attendance and participation in lecture, lab, and Piazza: 5%
  • Last day to drop without a W: Feb 22. With a W: Mar 30. 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 1st. 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 2, Feb 16, Mar 16, Mar 30; Apr 6, Apr 20.

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.