Freshly Printed - allow 4 days lead
An Introduction to Python Programming for Scientists and Engineers
Textbook that uses examples and Jupyter notebooks from across the sciences and engineering to teach Python programming.
Johnny Wei-Bing Lin (Author), Hannah Aizenman (Author), Erin Manette Cartas Espinel (Author), Kim Gunnerson (Author), Joanne Liu (Author)
9781108701129, Cambridge University Press
Paperback / softback, published 7 July 2022
766 pages
24.5 x 18.9 x 3.1 cm, 1.61 kg
'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
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.
Part I. Getting Basic Tasks Done: 1. Prologue: Preparing to Program
2. Python as a Basic Calculator
3. Python as a Scientific Calculator
4. Basic Line and Scatter Plots
5. Customized Line and Scatter Plots
6. Basic Diagnostic Data Analysis
7. Two-Dimensional Diagnostic Data Analysis
8. Basic Prognostic Modeling
9. Reading In and Writing Out Text Data
10. Managing Files, Directories, and Programs
Part II. Doing More Complex Tasks: 11. Segue: How to Write Programs
12. n-Dimensional Diagnostic Data Analysis
13. Basic Image Processing
14. Contour Plots and Animation
15. Handling Missing Data
Part III. Advanced Programming Concepts: 16. More Data and Execution Structures
17. Classes and Inheritance
18. More Ways of Storing Information in Files
19. Basic Searching and Sorting
20. Recursion
Part IV. Going From a Program Working to Working Well
21. Make it Usable to Others: Documentation and Sphinx
22. Make it Fast: Performance
23. Make it Correct: Linting and Unit Testing
24. Make it Manageable: Version Control and Build Management
25. Make it Talk to Other Languages.
Subject Areas: Maths for computer scientists [UYAM], Database programming [UMT], Environmental science, engineering & technology [TQ], Engineering: general [TBC], Earth sciences, geography, environment, planning [R], Life sciences: general issues [PSA], Chemistry [PN], Physics [PH], Science: general issues [PD], Data analysis: general [GPH]