This undergraduate textbook is a rigorous mathematical introduction to dynamical systems and an accessible guide for students transitioning from calculus to advanced mathematics. It has many student-friendly features, such as graded exercises that range from straightforward to more difficult with hints, and includes concrete applications of real analysis and metric space theory to dynamical problems. Proofs are complete and carefully explained, and there is opportunity to practice manipulating algebraic expressions in an applied context of dynamical problems. After presenting a foundation in one-dimensional dynamical systems, the text introduces students to advanced subjects in the latter chapters, such as topological and symbolic dynamics. It includes two-dimensional dynamics, Sharkovsky's theorem, and the theory of substitutions, and takes special care in covering Newton's method. Mathematica code is available online, so that students can see implementation of many of the dynamical aspects of the text.