Theo Diamandis

6.S098: Intro to Applied Convex Optimization

Mathematical optimization instruction remains archaic. Most university courses focus on algorithms; optimization modeling plays second fiddle. This approach made sense in the 1990's. A few decades ago, using optimization often required writing your own solver software.

But we're no longer in that world. Now, there are tons of solvers to choose from (many are open-source), and plenty of modeling languages to translate from natural problem specifications to solver-specific ones. Convex optimization is not quite a technology, but it's close. It's already robust enough for realtime, high stakes applications.

Courses should focus on teaching the tools––how to use optimization––rather than the algorithms and nitty-gritty mathematical details. Programmers no longer need to build their own compiler. Machine learners no longer need to implement backprop. And optimizers no longer need to implement their own convex optimization solvers.

I was lucky to take Stephen Boyd's EE64a while at Stanford, which really emphasized this view. I created an IAP class that tried to do the same. All materials for my IAP course are online:

6.S098: Intro to Applied Convex Optimization

I hope the lecture notes are useful to others.