This book addresses students and young researchers who want to learn to use numerical modeling to solve problems in geodynamics. Intended as an easy-to-use and self-learning guide, readers only need a basic background in calculus to approach most of the material. The book difficulty increases very gradually, through four distinct parts. The first is an introduction to the Python techniques necessary to visualize and run vectorial calculations. The second is an overview with several examples on classical Mechanics with examples taken from standard introductory physics books. The third part is a detailed description of how to write Lagrangian, Eulerian and Particles in Cell codes for solving linear and non-linear continuum mechanics problems. Finally the last one address advanced techniques like tree-codes, Boundary Elements, and illustrates several applications to Geodynamics. The entire book is organized around numerous examples in Python, aiming at encouraging the reader to le arn by experimenting and experiencing, not by theory.