Computational Physics is a sequence of two courses designed to equip physics scientists with essential numerical methods for tackling complex problems where analytical solutions are lacking or impractical. Computation stands as an indispensable tool in modern theoretical and experimental physics research, making this course a fundamental component of both industry and graduate-level studies.
Throughout the course, students will delve into the integration of numerical analysis and computer programming using Fortran, C/C++, and Python (and their combinations) to address a diverse array of physics problems. This includes a comprehensive exploration of numerical methods currently employed to solve mathematical challenges, coupled with in-depth programming techniques tailored to each method's implementation.
While the focus remains on physics-related problems, no prior background in the field is required, as the techniques explored are easily transferrable to various scientific and engineering domains. Additionally, the course provides an introduction to scientific programming intricacies, covering topics such as git, docker containers, pip, etc., alongside a review of numerical computation fundamentals and best programming practices in Fortran, C/C++, and Python.
Theoretical understanding of algorithms will be reinforced through practical implementation, with students engaging in comprehensive programming assignments aimed at solidifying their grasp of these techniques. By the course's conclusion, students will possess the foundational computational tools necessary to navigate and solve physics-related challenges effectively.