This book stems from the growing use of learning-based techniques, such as reinforcement learning and adaptive control, in the control of autonomous and safety-critical systems. Safety is critical to many applications, such as autonomous driving, air traffic control, and robotics. As these learning-enabled technologies become more prevalent in the control of autonomous systems, it becomes increasingly important to ensure that such systems are safe. To address these challenges, the authors provide a self-contained treatment of learning-based control techniques with rigorous guarantees of stability and safety. This book contains recent results on provably correct control techniques from specifications that go beyond safety and stability, such as temporal logic formulas. The authors bring together control theory, optimization, machine learning, and formal methods and present worked-out examples and extensive simulation examples to complement the mathematical style of presentation. Prerequisites are minimal, and the underlying ideas are accessible to readers with only a brief background in control-theoretic ideas, such as Lyapunov stability theory.