Modeling and Simulation in Python cover

Modeling and Simulation in Python

An Introduction for Scientists and Engineers
by Allen B. Downey
March 2023, 280 pp.


Look Inside!

The Book of Dash pages 44-45The Book of Dash  pages 64-65The Book of Dash pages 138-139The Book of Dash pages 164-165

Modeling and Simulation in Python is a thorough but easy-to-follow introduction to physical modeling—that is, the art of describing and simulating real-world systems.

Readers are guided through modeling things like world population growth, infectious disease, bungee jumping, baseball flight trajectories, celestial mechanics, and more while simultaneously developing a strong understanding of fundamental programming concepts like loops, vectors, and functions.

Clear and concise, with a focus on learning by doing, the author spares the reader abstract, theoretical complexities and gets right to hands-on examples that show how to produce useful models and simulations.

Author Bio 

Allen Downey is a Staff Producer at Brilliant and Professor Emeritus at Olin College, where he taught Modeling and Simulation and other classes related to software and data science. He is the author of several textbooks, including Think PythonThink Bayes, and Elements of Data Science. Previously, he taught at Wellesley College and Colby College. He received his Ph.D. in computer science from the University of California, Berkeley in 1997. His undergraduate and master's degrees are from the Civil Engineering department at MIT. He is the author of Probably Overthinking It, a blog about data science and Bayesian statistics.

Table of contents 

Chapter 1: Introduction to Modeling
Chapter 2: Modeling a Bike Share System
Chapter 3: Iterative Modeling
Chapter 4: Parameters and Metrics
Chapter 5: Building a Population Model
Chapter 6: Iterating the Population Model
Chapter 7: Limits to Growth
Chapter 8: Projecting into the Future
Chapter 9: Analysis and Symbolic Computation
Chapter 10: Case Studies Part I
Chapter 11: Epidemiology and SIR Models
Chapter 12: Quantifying Interventions
Chapter 13: Sweeping Parameters
Chapter 14: Nondimensionalization
Chapter 15: Thermal Systems
Chapter 16: Solving the Coffee Problem
Chapter 17: Modeling Blood Sugar
Chapter 18: Implementing the Minimal Model
Chapter 19: Case Studies Part II
Chapter 20: The Falling Penny Revisited
Chapter 21: Drag
Chapter 22: Two-Dimensional Motion
Chapter 23: Optimization
Chapter 24: Rotation
Chapter 25: Torque
Chapter 26: Case Studies Part III
Appendix: Under the Hood

View the Copyright page
View the detailed Table of Contents
View the Index


"An excellent choice for students and professionals alike . . . Straightaway, the book takes us into modeling, using basic Python concepts. With each chapter more complex modeling use cases and language features are being introduced. . . . I like the way A. Downey combined teaching modeling with building Python development skills. It is, in my view, a very effective (and more enjoyable) way of learning."
—Peter Schmidt, host of the Code for Thought podcast and Senior Software Engineer at University of College London

"Modeling and Simulation in Python is an introduction to physical modeling using a computational approach . . . making it possible to work with more realistic models than what you typically see in a first-year physics class."
—Python Kitchen

“Downey’s top-down approach, context-rich and motivating, dramatically lowers the barrier to gaining literacy in programming and explicitly and insightfully teaches modeling. . . . I’m grateful for this book.”
—Phat Vu, Director of the Science & Mathematics Program, Soka University of America

“An impressive introduction to physical modeling and Python programming, featuring clear, concise explanations and examples. . . . perfect for readers of any level.”
—Christian Mayer, founder of the Coding Academy and author of Python One-Liners

“Downey uses a combination of Python, calculus, bespoke helper functions, and easily accessible online materials to model a diverse and interesting set of simulation projects. In the process, he presents a practical and reusable framework for modeling dynamical systems with Python.”
—Lee Vaughan, former Senior Principal Scientist for Geological Modeling at ExxonMobil and author of Python Tools for Scientists, Real-World Python, and Impractical Python Projects

“Provides a wealth of instructive examples of all kinds of modeling. . . .  a valuable textbook for classes on scientific computation or guide to exploration for interested amateurs.”
—Bradford Tuckfield, author of Dive into Algorithms and Dive Into Data Science

"An ideal introduction to Python and its predictive applications, [Modeling and Simulation in Python] is comprehensive, exceptionally well organized, and thoroughly 'user friendly' in presentation."
—Midwest Book Review

"It’s a lovely book that doesn’t take long to read, while managing to cover lots of different ideas...Definitely worth a read if you want to play around modeling some equations."
—Frances Buontempo, The Magazine of the ACCU

"Through a blend of accessible science and practical examples, Downey's book demystifies the complex world of simulations, offering readers an invaluable arsenal of modeling techniques. With Python at its core, this guide illuminates the path from theory to application, making it an essential resource for anyone looking to master the art of simulation in science and technology."
—c't Magazin

Extra Stuff 

Watch Allen's interview on Algobotics.