Prerequisites
This course assumes a basic knowledge of the Python language, including variables, control flow, and writing and using functions, at the level of last year's IB course.
Learning Outcomes and Assessment
In this course you will learn
1. About the Python scientific stack (based on the NumPy library)
2. Its use in implementing some common algorithms in computational physics.
3. Basic ideas of computational complexity used in the analysis of algorithms
Synopsis
Here's a list of topics that I'd like to cover. We make not have time for all of them.
1. Setup. Running Python. Notebooks. Language overview
2. NumPy and friends
3. Floating point and all that
4. Soving differential equations with SciPy
5. Monte Carlo methods
6. Linear algebra with NumPy
7. Introduction to algorithms and complexity
8. The fast Fourier transform
9. Automatic differentiation
Prof Austen Lamacraft | Coordinator |