Effective Computation in Physics: High-performance Python Computation

Learn Python Computation, and everything surrounding professional software development with Effective Computation in Physics!

effective computation in Physics pdf free download

The following is a review of the book Effective Computation in Physics: Field Guide to Research with Python by Anthony Scopatz and Kathryn D. Huff. Read on to see what Effective Computation in Physics is all about.

Review

Don’t get fooled by the name, Effective computation in Physics is not only for physicists and researchers. Heck, it might be even a better book for people who have no idea about physics. Engineers, Economists, or anybody that needs to build a solid Computer Science foundation will find this book insightful and insanely useful to learn the computational aspects of their works, and improve their relationship with computing.

Overall, the aim of the book is to get its readers started with Data Analysis and efficient programming using Python. It starts by teaching what Python is from scratch, with the most used data types, the command line, etc.. to then discuss other awesome Data Structures like Binary trees (which are not normally covered in beginner programming books), or Object Oriented Programming.

It then covers the most used libraries for Data Analysis in Python: Pandas, Matplotlib and Numpy, and many other popular modules. Also; and this for us is the best part of the book, it talks about many different technologies that should be used for optimal software development, like Version Control Systems, Documentations and README, or tests.

The book also has a Github repository (don’t worry if you don’t know what this is just yet) where all the code examples can be found and downloaded for your own posterior use.

Despite being a beginner book with narrow explanations of many topics, by the end of it you will be able to code your own programs in Python using advanced libraries, have a working knowledge of complex python features, manage different code versions, and document like a professional.

Content

This practical book teaches essential software development skills to help you automate and accomplish nearly any task where computers are needed. Lets explore its contents:

  • Chapter 1 – Introduction to the Command Line
  • Chapter 2 – Programming Blast Off with Python
  • Chapter 3 – Essential Containers
  • Chapter 4 – Flow Control & Logic
  • Chapter 5 – Operating with Functions
  • Chapter 6 – Classes and Objects
  • Chapter 7 – Regular Expressions
  • Chapter 8 – NumPy: Thinking in Arrays
  • Chapter 9 – Storing Data: Files & HDF5
  • Chapter 10 – Important Data Structures in Physics
  • Chapter 11 – Analysis and Visualization
  • Chapter 12 – Performing in Parallel
  • Chapter 13 – Deploying Software
  • Chapter 14 – Building Software Pipelines
  • Chapter 15 – Local Version Control
  • Chapter 16 – Remote Version Control
  • Chapter 17 – Debugging
  • Chapter 18 – Testing
  • Chapter 19 – Documentation
  • Chapter 20 – Publication
  • Chapter 21 – Collaboration
  • Chapter 22 – Licenses, Ownership, and Copyright
  • Chapter 23 – Further Musings on Computational Physics

In all of these chapters, the book includes:

  • Getting Started: Jump into Python, the command line, data containers, functions, flow control and logic, and classes and objects
  • Getting It Done: Learn about regular expressions, analysis and visualization, NumPy, storing data in files and HDF5, important data structures in physics, computing in parallel, and deploying software
  • Getting It Right: Build pipelines and software, learn to use local and remote version control, and debug and test your code
  • Getting It Out There: Document your code, process and publish your findings, and collaborate efficiently; dive into software licenses, ownership, and copyright procedures

Feel free to check out the following video review about it, if you still have any doubts.

Also, here is some additional material about Effective Computation in Physics:

If a Python programming book like Python Crash Course, met a Data Analysis book like Python for Data Analysis, they had a kid, and the kid learned professional Software development, then Efficient Computation in Physics would be born.

If your goal is to learn Machine Learning, then this book is a great precursor to specific books on the topic, which you can find here: Machine Learning books.

Who is this book for?

We would advice to read Effective Computation in Physics to any student/researcher/scientist/engineer new to scientific computing, that is looking to learn Professional Software development. It is an introductory book to programming and all that surrounds it, so if you are already working as a SW developer or have extensive knowledge of the topic, then it is probably not for you.

It is a great book for self learners that want to learn how to program, and not just that, but also all the technologies that support the coding ecosystem. For us, this text should be a required reading for any first year graduate student in science and engineering who intends to rely heavily on computation for both simulation and/or analysis, or building applications.

Summary

Effective Computation in Physics will take you from not knowing how to make a computer add two variables together to being a software development Guru. It is a wonderful read for those looking to get into programming and computation in an amusing, simple, and yet professional manner.

You can buy the book on Amazon here:

Effective Computation in Physics

Effective Computation in Physics: Field Guide to Research with Python
  • Amazon Kindle Edition
  • Scopatz, Anthony (Author)
  • English (Publication Language)
  • 832 Pages - 06/25/2015 (Publication Date) - O'Reilly Media (Publisher)

We hope you enjoyed our Effective Computation in Physics review. Thank you for reading How to Learn Machine Learning and have a fantastic day!

Subscribe to our awesome newsletter to get the best content on your journey to learn Machine Learning, including some exclusive free goodies!

HOW IS MACHINE LEARNING

Leave a Comment

×