This course takes you through the basic elements of building a physically based quadrotor drone simulation, and introduces elements of control theory, such as the feedback loop and PID controllers. You will learn about representing rotation in 3D space using rotation matrices, quaternions and Euler angles. You will learn to implement a discrete-time PID controller, and an entire PID-based controller structure for attitude and position control for non-aggresive flight. You will be provided with a reference implementation in Python to experiment with.