Collaboration policy

The goal of the homework is to help you practice the skills that you’ll use later in this class and - we hope! - later in life. Homework carries weight for your grade to encourage you to spend time on it and think deeply about it. Our collaboration policy is geared to make sure you can get the help you need, and so that by the time you turn in your work you understand what it’s about, how it works, and why it’s important.

Students are allowed - and even encouraged - to collaborate on homework. But we ask that you

  1. Give credit to the people who have helped you: please write on your homework the names of the people you worked with.

  2. Give credit to the other resources that have helped you: please write on your homework the textbooks, notes, or web pages you found useful.

  3. Write up your homework by yourself. That is, all of the text that you submit should be typed or hand-written by you.

See Cornell's policy for more details.

If you’re not able to answer a homework question, but you show us the work that you performed to think about the question and to try to understand it, you will receive partial credit.


  • Late homework assignments will not be accepted. However, we will drop your lowest homework grade. So you can still get a perfect score on the homework component of your grade even if you don't turn in one assignment, or don't answer all the questions on one assignment.

Homework assignments and due dates

Problems can be found in Convex Optimization by Boyd and Vandenberghe. Problems numbered AX.X are drawn from the Additional Exercises by the same authors.

Submit homework on Blackboard. (It's fine to take a picture of your handwritten homework and submit the image.)

  • Homework 1, due 2-8-17 at 7pm:

    • Read Chapters 1 and 2; start on Chapter 3

    • Do problems 2.7, 2.12, 2.15, 2.23, 2.24, 2.36, 2.37

  • Homework 2, due 2-17-17 at 5pm:

    • Read Chapter 3 and start on Chapter 4

    • Do problems 3.2, 3.16, 3.18, 3.22, 3.24, 3.30, 3.40, 3.42

  • Homework 3, due 2-24-17 at 5pm:

    • Read Chapter 4 and start on Chapter 5

    • Do problems 4.1, 4.2, 4.11 (parts a-b only), 4.15, 4.28

  • Homework 4, due 3-3-17 at 5pm:

    • Read Chapter 5, start on Chapter 6

    • Pick a CVX* modeling language (CVX, CVXPY, or Convex.jl) and read its documentation

    • Do problems A2.2, A2.28, A3.2, A3.3 (see note below), A3.8, 4.17, A3.4, 4.50. (Problems numbered AX.X are drawn from the Additional Exercises.)

    • Use any CVX* language you like for the numerical problems. Note that CVXPY and Convex.jl are slightly more powerful than CVX in recognizing convexity. This is because they keep track of the sign of a function's output, and so they know that since eg x^2 is increasing and convex on positive arguments, then square(exp(x)) is convex, since exp is always positive. So: reinterpret problem A3.3 to say: evaluate whether or not the formulation is DCP relative to your preferred CVX* languuage.

    • Pick a project team

  • Homework 5, due 3-10-17 at 5pm:

    • Read Chapter 6, start on Chapter 7

    • Do problems 4.16, 5.1, 5.6, 5.13, A3.16, A3.17, A3.18

  • Homework 6, due 3-17-17 at 5pm:

    • Read Chapters 7 and 8

    • Do problems 4.65, 5.39, A3.19, A3.28, A4.3, A16.9

    • If you're doing a project:

      • Follow the five steps on the project page to create a project repo. Note: you must create an account on and submit your NetID via the google form by Tuesday night so the course staff has time to give you access. If you do this, we promise to give you access by Wednesday night.

      • Submit project proposal by pushing it to your repo

  • Homework 7, due Monday 3-27-17 at 5pm:

    • Read Chapter 9

    • Do problems A3.27, A3.32, A4.10, A5.19, A6.6, A16.1

    • If you're doing a project:

      • Complete peer reviews for the proposals assigned to you. (See the project page for details on how to submit the review.) The assignment of peer reviews for Project Proposals is posted in the “TAs” repo of our Github Repository, and the file name is “Assignment.pdf”. You should check the columns “NetID1”,“NetID2” and “NetID3” to see if your name is there. If your name appears in any of the three columns, then you need to do a peer review of the project in the corresponding row. For example, “bdg79” appears in NetID1 and NetID2 and the rows it corresponds to are “SourceEstimation” and “Adventure”. This means the student with NetID “bdg79” needs to review projects “SourceEstimation” and “Adventure”. If you do not find your name in any of the columns, although you are working on a project, please pick a project other than yours randomly and write your review for that project. If your project does not appear on the spreadsheet, contact TA Lijun Ding.

  • Homework 8, due Friday 4-14-17 at 5pm:

    • Read Bubeck Ch. 1 and 3, and Appendix C of textbook

    • Project midterm report due

    • Problems 7.7, A5.12, A5.15 due Monday 4-17-17 at 5pm for students not doing a project

  • Homework 9, due Friday 4-21-17 at 5pm:

  • Homework 10, due Friday 4-28-17 at 5pm:

  • Homework 11:

    • The last problem set is due Monday 5-8-17 at 5pm. Here are the data files A.csv and b.csv.

    • Project final reports are due Wednesday 5-10-17 by 5pm.

    • Peer reviews of final reports are due Friday 5-12-17 by 5pm.