An Introduction to Python Programming for Scientists and Engineers



2022 年1 版



讀者購書請至★滄海書局‧鼎隆圖書購書網 ★


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.

  • Deviates and improves upon the traditional computer science-centric approach of teaching Python to science and engineering students
  • Chapters lead with practical examples from across the sciences and engineering, helping students connect programming tools with real tasks
  • Concepts are introduced across multiple chapters, allowing readers to engage with topics numerous times
  • Introduces software engineering tools and the best-practices used by professional developers in Part IV, to prepare students for writing their own high-quality code
  • Online digital resources include numerous Jupyter notebooks, 'Try This!' exercises, student homework problems, and solutions for course instructors

Johnny Wei-Bing Lin is an Associate Teaching Professor and Director of Undergraduate Computing Education in the Division of Computing and Software Systems at the University of Washington Bothell, and an Affiliate Professor of Physics and Engineering at North Park University. He was the founding Chair of the American Meteorological Society's annual Python Symposium.
Hannah Aizenman is a Ph.D. candidate in Computer Science at The Graduate Center, City University of New York. She studies visualization and is a core developer of the Python library Matplotlib.
Erin Manette Cartas Espinel graduated with a Ph.D. in physics from the University of California, Irvine. After more than 10 years at the University of Washington Bothell, she is now a software development engineer.
Kim Gunnerson recently retired as an Associate Teaching Professor at the University of Washington Bothell, where she taught chemistry and introductory computer programming.
Joanne Liu received her Ph.D. in Bioinformatics and Systems Biology from the University of California San Diego.

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.