Skip to main contentSkip to Xpert Chatbot

StanfordOnline: Convex Optimization

This course concentrates on recognizing and solving convex optimization problems that arise in applications. The syllabus includes: convex sets, functions, and optimization problems; basics of convex analysis; least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems; optimality conditions, duality theory, theorems of alternative, and applications; interior-point methods; applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance.

Convex Optimization
8 weeks
10–15 hours per week
Self-paced
Progress at your own speed
This course is archived

About this course

Skip About this course

This course concentrates on recognizing and solving convex optimization problems that arise in applications. The syllabus includes: convex sets, functions, and optimization problems; basics of convex analysis; least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems; optimality conditions, duality theory, theorems of alternative, and applications; interior-point methods; applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance.

This course should benefit anyone who uses or will use scientific computing or optimization in engineering or related work (e.g., machine learning, finance). More specifically, people from the following fields: Electrical Engineering (especially areas like signal and image processing, communications, control, EDA & CAD); Aero & Astro (control, navigation, design), Mechanical & Civil Engineering (especially robotics, control, structural analysis, optimization, design); Computer Science (especially machine learning, robotics, computer graphics, algorithms & complexity, computational geometry); Operations Research; Scientific Computing and Computational Mathematics. The course may be useful to students and researchers in several other fields as well: Mathematics, Statistics, Finance, Economics.

Additional Instructors / Contributors

Neal Parikh

Neal Parikh is a 5th year Ph.D. Candidate in Computer Science at Stanford University. He has previously taught Convex Optimization (EE 364A) at Stanford University and holds a B.A.S., summa cum laude, in Mathematics and Computer Science from the University of Pennsylvania and an M.S. in Computer Science from Stanford University.

Ernest Ryu

Ernest Ryu is a PhD candidate in Computational and Mathematical Engineering at Stanford University. He has served as a TA for EE364a at Stanford. His research interested include stochastic optimization, convex analysis, and scientific computing.

Madeleine Udell

Madeleine Udell is a PhD candidate in Computational and Mathematical Engineering at Stanford University. She has served as a TA and as an instructor for EE364a at Stanford. Her research applies convex optimization techniques to a variety of non-convex applications, including sigmoidal programming, biconvex optimization, and structured reinforcement learning problems, with applications to political science, biology, and operations research.

At a glance

  • Institution: StanfordOnline
  • Subject: Engineering
  • Level: Advanced
  • Prerequisites:

    You should have good knowledge of linear algebra and exposure to probability. Exposure to numerical computing, optimization, and application fields is helpful but not required; the applications will be kept basic and simple. You will use matlab and CVX to write simple scripts, so some basic familiarity with matlab is helpful. We will provide some basic Matlab tutorials.

  • Language: English
  • Video Transcript: English
  • Associated skills:Image Processing, Scientific Computing, Mathematical Optimization, Structural Analysis, Operations Research, Statistics, Finance, Biology, Stochastic Optimization, Civil Engineering, Political Sciences, Reinforcement Learning, Signal Processing, Algorithms, Machine Learning, Computational Geometry, Analog Electronics, Computer Science, Mechanical Engineering, Electrical Engineering, Computational Mathematics, Convex Optimization, Enterprise Desktop Administrator (Microsoft Certified IT Professional)

What you'll learn

Skip What you'll learn
  • How to recognize convex optimization problems that arise in applications.
  • How to present the basic theory of such problems, concentrating on results that are useful in computation.
  • A thorough understanding of how such problems are solved, and some experience in solving them.
  • The background required to use the methods in your own research work or applications.

Frequently Asked Questions

Skip Frequently Asked Questions

Do I need to buy the textbook?

No, the textbook is available online at http://www.stanford.edu/~boyd/cvxbook/.

Do we need to purchase a Matlab license to take this course?

A Matlab licence or access is NOT included in this course. Trial versions of Matlab may be available at https://www.mathworks.com/

How hard is this class?

This is an advanced class, targeting MS and PhD level students in mathematically sophisticated fields.

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.