Description
Design of engineering systems within a formal optimization framework. This course covers the mathematical and algorithmic fundamentals of optimization, including derivative and derivative-free approaches for both linear and non-linear problems, with an emphasis on multidisciplinary design optimization. Topics will also include quantitative methodologies for addressing various challenges, such as accommodating multiple objectives, automating differentiation, handling uncertainty in evaluations, selecting design points for experimentation, and principled methods for optimization when evaluations are expensive. Applications range from the design of aircraft to automated vehicles. Prerequisites: programming (e.g., at the level of CS106A) and multivariable calculus (e.g., at the level of Math 51 or CME 100).
Lectures
Tuesdays and Thursdays from 9am-10:20am in NVIDIA Auditorium. This course available to the public through the Stanford Center for Professional Development (apply). Class will start on March 31, 2026.
Units
AA222 will be offered for 3-4 units for a letter grade or credit/no credit. Students registering for the 4 unit version of the course will be required to spend at least 30 additional hours extending their course project.
Please confirm that you are registered for the desired number of units and the desired grading basis. There are deadlines for making these changes set by the registrar.
Textbook
The textbook is M. J. Kochenderfer and T. A. Wheeler, Algorithms for Optimization. This quarter we are using the preview of the second edition. Errors in the textbook (even small typos) can be sent to the email listed on the bottom of the PDF.
An excellent additional resource is the textbook Engineering Design Optimization by Joaquim Martins and Andrew Ning. A PDF is available here.
Discussion
Class discussions are held on Ed.
Grading
This course is offered for either a letter or credit/no credit grade. If taking for credit/no credit, credit will be given to students who score a C- or higher (at least 70% in the course). We will use the standard breakdowns in the table below. We will round fractional percentages in your favor. Every year, a few students are awarded an A+ after careful consideration for demonstrating mastery beyond what is expected in this class; it is not determined solely based on percentage.
| Letter Grade | Percentage |
|---|---|
| A | >= 93 % |
| A- | 90-92% |
| B+ | 87-89% |
| B | 83-86% |
| B- | 80-82% |
| C+ | 77-79% |
| C | 73-76% |
| C- | 70-72% |
| D+ | 67-69% |
| D | 63-66% |
| D- | 60-62% |
| F | 0-59% |
You may take the course for 3 or 4 units. Students registering for the 4 unit version of the course will be required to spend at least 30 additional hours extending their course project. The grade breakdown listed in the “Grading” section is the same regardless of whether the class is taken for 3 or 4 units.
Quizzes: 31%
- 1% Quiz 0 (open-book Gradescope quiz on course policies)
- 15% Quiz 1 (open-book timed Gradescope quiz)
- 15% Quiz 2 (open-book timed Gradescope quiz)
Programming Projects: 46%
- 1% Programming project 0
- 15% Programming project 1
- 15% Programming project 2
- 15% Programming project 3
Final Project: 23%
- 2% Final project proposal
- 2% Final project status update
- 15% Final project paper or presentation
- 4% Peer review writeup
Quizzes
Quizzes will be taken on Gradescope. You may consult any material (e.g., books, calculators, computer programs, and online resources), but you may not consult other people or artificially intelligent agents (e.g., ChatGPT) inside or outside of the class. The quiz is designed to be completed in 60 minutes, but we will grant you 90 minutes total to complete and submit your quiz (including uploading any images, handling any logistical issues, etc.) The timing on Gradescope is a hard cutoff. To accommodate different time zones and working schedules, each quiz will be released at 10:20 AM PDT on the Tuesday before its listed due date and will be due by 10:20 AM PDT the Thursday of that week (at the end of class time), giving you 48 hours to complete the quiz. There will be two quizzes during the course. Ed will not allow any public posts during that time. Out of fairness to all students, only material submitted during the allowed time will be graded.
Quizzes submitted past their deadlines will receive 0 credit.
Quiz Reflections
The purpose of this policy is not solely to improve your scores but to enhance your understanding of the course material. Learning from your mistakes is an essential part of the educational journey. To encourage this process and help deepen your understanding of the course material, we are planning a trial run of a policy that allows students to reflect on their quizzes and earn up to half of the missed points back. This policy was inspired and adapted from a similar policy in CS161.
Opportunity: If you score below 70% on a quiz, you have the opportunity to write a reflection on the problems you missed. The adjusted score will be your original score plus up to half of the total points you missed, with a maximum adjusted score of 70%.
Reflection Guidelines: Your reflection should be in PDF format and include the following:
- Your original answer to the question
- The number of points you originally earned for that question (e.g. 3 / 5)
- The rubric item(s) for that question as specified on Gradescope (e.g. “Right answer but significant error in explanation”)
- If applicable, any additional point adjustments or rubric items.
- A detailed explanation of your mistake, including any incorrect assumptions or incomplete solutions.
When writing your reflection, dedicate a significant portion to explaining, in detail, where you went wrong in your original response. Identify the specific mistake or errors in your original answer. Go beyond surface-level identification and delve into the root cause of your mistake. Ask yourself why you made this error. Did you misinterpret the question? Did you overlook a critical piece of information? If your mistake was due to assumptions or misconceptions, explicitly state what these assumptions or misconceptions were. If your original response was incomplete, explain what critical steps or components you omitted. Walk through the problem step-by-step and clarify where you should have elaborated further.
Deadline: You must submit your reflection by the specified deadline, which we will announce on Ed. Details on the submission process will be provided shortly after the first quiz.
Notification: The adjusted points will be updated in Gradescope.
If you have any questions or need further clarification regarding this policy, please don’t hesitate to reach out to the teaching team.
Late Policy
All assignments are due at 5pm on Fridays.
Because of unexpected events, illnesses, work commitments, etc., there is a 0% penalty for 72 hours (no questions asked) after each assignment deadline (not quizzes!), after which you receive 0 credit. Note that late submissions will not qualify for the leaderboard for programming projects 1 and 2.
Quizzes do not have late days. Quizzes submitted past their deadlines will receive 0 credit.
Students with Disabilities
Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 650-723-1066, URL: https://oae.stanford.edu/). Please submit OAE letters by Friday, April 10 to kesbaker@stanford.edu.