Field Guide to Research with Python
Anthony Scopatz, Kathryn D. Huff

#Computation
#Physics
#Python
#HDFS
More physicists today are taking on the role of software developer as part of their research, but software development isn’t always easy or obvious, even for physicists. This practical book teaches essential software development skills to help you automate and accomplish nearly any aspect of research in a physics-based field.
Written by two PhDs in nuclear engineering, this book includes practical examples drawn from a working knowledge of physics concepts. You’ll learn how to use the Python programming language to perform everything from collecting and analyzing data to building software and publishing your results.
In four parts, this book includes:
Table of Contents
Part I. Getting Started
Chapter 1. Introduction to the Command Line
Chapter 2. Programming Blastoff with Python
Chapter 3. Essential Containers
Chapter 4. Flow Control and Logic
Chapter 5. Operating with Functions
Chapter 6. Classes and Objects
Part ll. Getting It Done
Chapter 7. Analysis and Visualization
Chapter 8. Regular Expressions
Chapter 9. NumPy: Thinking in Arrays
Chapter 10. Storing Data: Files and HDFS
Chapter 11. Important Data Structures in Physics
Chapter 12. Performing in Parallel
Chapter 13. Deploying Software
Part lll. Getting It Right
Chapter 14. Building Pipelines and Software
Chapter 15. Local Version Control
Chapter 16. Remote Version Control
Chapter 17. Debugging
Chapter 18. Testing
Part IV. Getting It Out There
Chapter 19. Documentation
Chapter 20. Publication
Chapter 21. Collaboration
Chapter 22. Licenses, Ownership, and Copyright
Chapter 23. Further Musings on Computational Physics
Anthony Scopatz is a computational physicist and long time Python developer, Anthony holds his BS in Physics from UC, Santa Barbara and a Ph.D. in Mechanical / Nuclear Engineering from UT Austin. A former Enthought employee, he spent his post-doctoral studies at the FLASH Center at the University of Chicago in the Astrophysics Department. He is currently a Staff Scientist at the University of Wisconsin-Maidson in Engineering Physics. Anthony’s research interests revolve around essential physics modeling of the nuclear fuel cycle, and information theory & entropy. Anthony is proudly a fellow of the Python Software Foundation and has published and spoken at numerous conferences on a variety of science & software development topics.
Kathryn Huff is a Fellow with the Berkeley Institute for Data Science and a postdoctoral scholar with the Nuclear Science and Security Consortium at the University of California Berkeley. In 2013, she received her Ph.D. in Nuclear Engineering from the University of Wisconsin Madison. She also holds a bachelor's degree in Physics from the University of Chicago. She has participated in varied research including experimental cosmological astrophysics, experimental non-equilibrium granular material phase dynamics, computational nuclear fuel cycle analysis, and computational reactor accident neutronics. At Wisconsin, she was a founder of The Hacker Within scientific computing group and has been an instructor for Software Carpentry since 2011. Among other professional service, she is currently an division officer in the American Nuclear Society and has served two consecutive years as the Technical Program Co-Chair of the Scientific Computing with Python (SciPy) conference.









