After a quick overview of the field and its history, we review the basic background that students need in order to succeed in this course. We then dig deeper into the dynamics of maps—discrete-time dynamical systems—encountering and unpacking the notions of state space, trajectories, attractors and basins of attraction, stability and instability, bifurcations, and the Feigenbaum number. We then move to the study of flows, where we revisit many of the same notions in the context of continuous-time dynamical systems. Since chaotic systems cannot, by definition, be solved in closed form, we spend several weeks thinking about how to solve them numerically and what challenges arise in that process. We finish by learning about techniques and tools for applying all of this theory to real-world data.