Notes

Supplementary technical documentation covering tools, practices, and additional resources for the course.

Documentation Topics

Development Tools and Practices

  • Code Organisation - How to structure C++ projects with headers and implementations
  • Meson - Build system configuration and project setup
  • Debugging - Tools and techniques for debugging C++ applications
  • Benchmarking - Performance measurement and profiling

Programming Concepts

  • References and Pointers - Understanding C++ memory management
  • Eigen - Linear algebra library for numerical computations
  • Running MPI Programs - Executing parallel code on single machines and clusters

Advanced Topics

  • Scaling - Performance analysis and parallel scalability
  • bwUniCluster - Using the University of Freiburg’s HPC infrastructure
  • eV and Ångström Units - Common atomic unit systems

How to Use These Notes

The notes are organized by topic and can be read as needed to supplement the lecture material and project work. Each note is self-contained but may reference other notes or lecture chapters.

When you encounter unfamiliar concepts in the project milestones, refer to the relevant note for a deeper explanation.