Courses
The WATCHEP training program includes a tailored graduate-level curriculum and cutting-edge research projects with university and laboratory computing experts. The training is designed to give students hands-on experience with the tools of computational high-energy physics.
The formal curriculum includes advanced topics in technical areas plus communication, leadership, and ethics. We aim to incorporate existing material from the HEP Software Foundation and IRIS-HEP where appropriate and contribute new material as needed for our specific goals.
The following modules are presented in the suggested order of completion.
General computing introduction
- The Unix shell
- Programming with Python
- Programming with C++
- Programming in C
Working in collaboration
- Code of conduct
- Coding standards
- Documentation
- Collaboration tools
Dealing with code
- Build systems and cmake
- Continuous integration and Continuous deployment (CI/CD) with Gitlab
- Unit testing in python
- Level up your python (testing, debugging, logging, and more)
Distributed computing systems
- Storage systems
- Batch systems
- Distributed computing
- Containers: Docker and Singularity
Computational physics techniques
- Floating point representation
- Random number generators
- Numerical methods
- Graphical methods