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 synthesis and analysis of adaptive control systems. It covers fundamentals of Lyapunov stability theory, methods of direct and indirect model reference adaptive control, and the recent extension, known as adaptive control, which enables adaptive control with desired transient and steady-state performance specifications. Various examples will be discussed throughout the course to illustrate the results.