Book description
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.
Publisher resources
Table of contents
- Foreword
- Preface
- I. Getting Started
- 1. Introduction to the Command Line
- 2. Programming Blastoff with Python
- 3. Essential Containers
- 4. Flow Control and Logic
- 5. Operating with Functions
- 6. Classes and Objects
- II. Getting It Done
- 7. Analysis and Visualization
- 8. Regular Expressions
- 9. NumPy: Thinking in Arrays
- 10. Storing Data: Files and HDF5
- 11. Important Data Structures in Physics
- 12. Performing in Parallel
- 13. Deploying Software
- III. Getting It Right
- 14. Building Pipelines and Software
-
15. Local Version Control
- What Is Version Control?
- Getting Started with Git
-
Local Version Control with Git
- Creating a Local Repository (git init)
- Staging Files (git add)
- Checking the Status of Your Local Copy (git status)
- Saving a Snapshot (git commit)
- git log: Viewing the History
- Viewing the Differences (git diff)
- Unstaging or Reverting a File (git reset)
- Discard Revisions (git revert)
- Listing, Creating, and Deleting Branches (git branch)
- Switching Between Branches (git checkout)
- Merging Branches (git merge)
- Dealing with Conflicts
- Version Conrol Wrap-Up
-
16. Remote Version Control
- Repository Hosting (github.com)
- Creating a Repository on GitHub
- Declaring a Remote (git remote)
- Sending Commits to Remote Repositories (git push)
- Downloading a Repository (git clone)
- Fetching the Contents of a Remote (git fetch)
- Merging the Contents of a Remote (git merge)
- Pull = Fetch and Merge (git pull)
- Conflicts
- Resolving Conflicts
- Remote Version Control Wrap-up
- 17. Debugging
- 18. Testing
- IV. Getting It Out There
- 19. Documentation
- 20. Publication
- 21. Collaboration
- 22. Licenses, Ownership, and Copyright
- 23. Further Musings on Computational Physics
- Glossary
- Bibliography
- Index
Product information
- Title: Effective Computation in Physics
- Author(s):
- Release date: June 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491901533
You might also like
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Practical Statistics for Data Scientists, 2nd Edition
Statistical methods are a key part of data science, yet few data scientists have formal statistical …
book
Fundamentals of Data Visualization
Effective visualization is the best way to communicate information from the increasingly large and complex datasets …
book
JavaScript: The Definitive Guide, 7th Edition
JavaScript is the programming language of the web and is used by more software developers today …