This is a summary of ETH Zurich’s Programming Techniques for Scientific Simulations I course.
Originally based on notes by Mattia Luca
- Git & version control
- C++ fundamentals, classes, and templates
- Compilation, linking, CMake, and Makefiles
- Optimization techniques (loop unrolling, metaprogramming, etc.)
- Python basics and plotting
- Algorithms, STL containers, data structures
- Exception handling and testing
- Hardware-level considerations (caching, pipelining)
For private, academic use only. Not affiliated with or endorsed by ETH Zurich.
If you use or adapt this material, please credit the original and this revised version accordingly.