EE364a: Course Information
Lectures are Tuesdays and Thursdays, 1:15-3:05pm, in Thornton 102. The lectures will be available (to registered students) in streaming video format a few hours after each live lecture, but you are encouraged to attend the live lectures if possible.
Several sets of videos of previous lectures are available, but should not be considered a substitute for coming to class.
Thursdays 3:15pm–5:00pm, Packard 106.
Textbook and optional references
The textbook is Convex Optimization, available online, or in hard copy form at the Stanford Bookstore.
Several texts can serve as auxiliary or reference texts:
You won't need to consult them unless you want to.
Course requirements and grading
The format is a take home exam, distributed on 5pm on Friday or Saturday and due in 24 hours. You (individually) choose one of the two dates. We will accommodate your schedule if you can't take it at one of these dates.
Grading: Homework 20%, midterm exam 30%, final exam 50%.
Good knowledge of linear algebra (as in EE263), and exposure to probability. Exposure to numerical computing, optimization, and application fields helpful but not required; the applications will be kept basic and simple.
You will use Python and CVXPY to write simple scripts, so some basic familiarity with python will be required.
This class has no formal quizzes. There are on-line quizzes on the lecture slides page. These are just for fun; they are not graded and your responses are not logged.
Concentrates on recognizing and solving convex optimization problems that arise in applications. 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 departments and 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 (MS&E at Stanford); Scientific Computing and Computational Mathematics. The course may be useful to students and researchers in several other fields as well: Mathematics, Statistics, Finance, Economics.