AA228 / CS238: Decision Making under Uncertainty
Stanford University, Autumn Quarter 2014–22
This course introduces decision making under uncertainty from a computational perspective, and  provides an overview of the necessary tools for building autonomous and decision-support systems. Following an introduction to probabilistic models and decision theory, the course will cover computational methods for solving decision problems with stochastic dynamics, model uncertainty, and imperfect state information. Topics include: Bayesian networks, influence diagrams, dynamic programming, reinforcement learning, and partially observable Markov decision processes. Applications cover: air traffic control, aviation surveillance systems, autonomous vehicles, and robotic planetary exploration. Prerequisites: basic probability and fluency in a high-level programming language.

AA229 / CS239: Advanced Topics in Sequential Decision Making
Stanford University, Winter Quarter 2015–16, 2018, 2020, 2022
This course surveys recent research advances in intelligent decision making for dynamic environments from a computational perspective. It will explore efficient algorithms for single and multiagent planning in situations where a model of the environment may or may not be known. Topics include partially observable Markov decision processes, approximate dynamic programming, and reinforcement learning. This course discusses new approaches for overcoming challenges in generalization from experience, exploration of the environment, and model representation so that these methods can scale to real problems in a variety of domains including aerospace, air traffic control, and robotics. Students are expected to produce an original research paper on a relevant topic. Prerequisites: AA228/CS238 or CS221.

AA222: Introduction to Multidisciplinary Design Optimization
Stanford University, Spring Quarter 2014–22
Design of aerospace systems within a formal optimization environment. Mathematical formulation of the multidisciplinary design problem (parameterization of design space, choice of objective functions, constraint definition); survey of algorithms for unconstrained and constrained optimization and optimality conditions; description of sensitivity analysis techniques. Hierarchical techniques for decomposition of the multidisciplinary design problem; use of approximation theory. Applications to design problems in aircraft and launch vehicle design. Prerequisites: multivariable calculus; familiarity with a high-level programming language: FORTRAN, C, C++, MATLAB, Python, or Julia.

AA120Q: Building Trust in Autonomy
Stanford University, Winter Quarter 2017, 2019, 2021
Major advances in both hardware and software have accelerated the development of autonomous systems that have the potential to bring significant benefits to society. Google, Tesla, and a host of other companies are building autonomous vehicles that can improve safety and provide flexible mobility options for those who cannot drive themselves. On the aviation side, the past few years have seen the proliferation of unmanned aircraft that have the potential to deliver medicine and monitor agricultural crops autonomously. In the financial domain, a significant portion of stock trades are performed using automated trading algorithms at a frequency not possible by human traders. How do we build these systems that drive our cars, fly our planes, and invest our money? How do we develop trust in these systems? What is the societal impact on increased levels of autonomy?

AA47SI: Why Go to Space?
Stanford University, Winter Quarter 2016, 2018
Why do we spend billions of dollars exploring space? What can modern policymakers, entrepreneurs, and industrialists do to help us achieve our goals beyond planet Earth? Whether it is the object of exploration, science, civilization, or conquest, few domains have captured the imagination of a species like space. This course is an introduction to space policy issues, with an emphasis on the modern United States. We will present a historical overview of space programs from all around the world, and then spend the last five weeks discussing present policy issues, through lectures and guest speakers from NASA, the Department of Defense, new and legacy space industry companies, and more. Students will present on one issue that piques their interest, selecting from various domains including commercial concerns, military questions, and geopolitical considerations.
See Stanford Daily article on this student initiated course.

AA93: Building Trust in Autonomy
Stanford University, Spring Quarter 2016, 2018
Preparatory course for Bing Overseas Studies summer seminar in Edinburgh.