Section 1: Setting Up Your Scientific Computing Environment¶
In order to simulate any scattering physics, a computing environment is first needed. What is provided here is a recommendation based on preferences of the ALS RSOXS group. Feel free to explore other tools as you become more familiar with what options are available.
This section assumes you have no Python experience.
By the end of this section you will have:
- Python installed and managed with uv, a fast and modern package manager
- A GitHub account connected to your computer via SSH authentication
- VS Code configured to run Jupyter notebooks interactively
- Your first notebook committed and pushed to GitHub
These are not scattering-specific tools. They are the standard infrastructure for reproducible scientific computing and data analysis. These tools should be helpful throughout a career in research.
A note on time
Setting up a Github account and becoming familiar with building a virtual computing environment takes a little more than an hour the first time. It might feel redundent in the beginning, but it will greatly improve your ability to build software in a team environment.
Pages in this section¶
- Why Python?
- Installing uv
- Virtual Environments
- Git and GitHub
- SSH Keys
- VS Code and Jupyter
- Your First Commit
Remote computing
A later section of this tutorial involves running code on a remote Linux machine. Instructions for that are in the Appendix. You do not need to worry about this yet. Once your computing needs expand beyond a laptop, this will be helpful tool to accelerate your productivity.