Many dynamic systems to be controlled have both parametric and dynamic uncertainties. For instance, robot manipulators may carry large objects with unknown inertial parameters. Power systems may be subjected to large variations in loading conditions. Fire-fighting aircraft may experience considerable mass changes as they load and unload large quantities of water. Adaptive control theory is motivated by similar examples and offers solutions for controlling systems in the presence of uncertainties. This course presents a rigorous mathematical foundation for the synthesis and analysis of robust adaptive control systems. It covers fundamentals of Lyapunov stability theory and robust control, presents methods of direct and indirect model reference adaptive control, and places the focus on L1 adaptive control. Various examples will be discussed throughout the course to illustrate the results.