PHY 504: Computational Methods in Physics and Astrophysics I
Spring 2024
An introduction to procedural and object-oriented programming in a high-level language such as C++ or modern Fortran with examples and assignments consisting of rudimentary algorithms for problems in physics and astronomy. Students will use the UNIX/Linux operating system to write programs and manage data, and the course will include an introduction to parallel computing and good programming practices such as version control and verification. The course will prepare students for courses in algorithms and methods that assume a knowledge of programming.
Intro & Logistics
The UNIX Shell
Git and Version Control
Shell Scripting
Introduction to Programming
C++ Basics
Functions
Elements of Software Engineering
Classes
Some Random Bits...
Testing
Digging Deeper into C++ Classes
Documenting Code
Some Numerical Algorithms
Parallel Programming
Calling C++ from Python
To Be Continued...
Project