Skip to Content

Welcome to the companion website for An Introduction to Python Programming for Scientists and Engineers

Here you will find the Jupyter notebooks that accompany the main textbook. These notebooks are available to download by discipline – Biology, Chemistry and Physics – and include Try This! exercises and homework problems. A ‘Student Resources’ area also includes further explanations of various topics discussed in the textbook, useful links to external websites, and datasets referenced in the book. Solutions to the homework problems are available to instructors, alongside PPT and JPEG figures from the book.

 

Python is one of the most popular programming languages, widely used for data analysis and modelling, and is fast becoming the leading choice for scientists and engineers. Unlike other textbooks introducing Python, typically organised by language syntax, this book uses many examples from across Biology, Chemistry, Physics, Earth science, and Engineering to teach and motivate students in science and engineering. The text is organised by the tasks and workflows students undertake day-to-day, helping them see the connections between programming tools and their disciplines. The pace of study is carefully developed for complete beginners, and a spiral pedagogy is used so concepts are introduced across multiple chapters, allowing readers to engage with topics more than once. “Try This!” exercises and online Jupyter notebooks encourage students to test their new knowledge, and further develop their programming skills. Online solutions are available for instructors, alongside discipline-specific homework problems across the sciences and engineering.

 

Errata/Addenda

Errata and addenda

Reviews & endorsements

"An excellent introduction to Python for scientists and engineers. Much more than teaching you how to program with Python, it teaches you how to do science with Python."

Eric Shaffer, University of Illinois at Urbana-Champaign

"This book provides an excellent introduction to the Python language especially targeted at those interested in carrying out calculations in the physical sciences. I especially like the strong coverage of graphics and of good coding practice."

Raymond Pierrehumbert, University of Oxford

"Python has achieved an essential role in many disciplines within science, engineering and beyond. Students and professionals are expected to be fluent in it, and (as I see in my daily job of helping users of a high-performance computing facility) they often struggle to reach that fluency. The authors have succeeded in the daunting task of writing a single book to help people reach a very advanced level of fluency, starting very gently and assuming no background. Unlike other books on the subject, An Introduction to Python Programming for Scientists and Engineers focuses on teaching for the intended end goal of scientists and engineers - investigating their scientific problems - not writing software for its own sake. I am looking forward to working with the generation who will learn how to program in Python using this book!"

Davide Del Vento, NCAR Computational & Information Services Laboratory

"An Introduction to Python Programming for Scientists and Engineers introduces programming in Python using evidence-based approaches to active learning. The exercises help both students and instructors identify misconceptions in programming, allowing students to build a strong foundation in Python programming. The book streamlines content such that there is a focus on mastering immediately useful concepts, normalizing errors, and demonstrating recovery."

Kari L. Jordan, Executive Director, The Carpentries

read more reviews  >