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 pages24.5 x 18.9 x 3.1 cm, 1.61 kg 'I think the text is well written and serves it's intended audience, scientists who are learning to program and are interested in applications, extremely well.' Jonathan Cornell, Weber State University 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]