Course Description
This course does not require previous programming experience but with basic knowledge on compiled languages and/or python is recommended. We will use mainly Fortran (or C/C++) with some python in the course. A Unix-like system (e.g. Linux, Mac OS X, or Windows 10 subsystem for Linux) is required. Students are required to bring a laptop to class.
Lectures will cover
Note: All lecture slides and supplementary materials will be uploaded to the google classroom.Week | Date | Topics | Supplementary material |
---|---|---|---|
1 | 02/25 | Class overview / Introduction / Basic Tools | |
2 | 03/4 | Basic Fortran Programming I | |
3 | 03/11 | Basic Fortran Programming II | |
4 | 03/18 | Python for Astronomers | |
5 | 03/25 | Linear systems | |
6 | 04/1 | Non-Linear systems | |
7 | 04/8 | Initial Value Problems (Celestial movement) | |
8 | 04/15 | Initial Value Problems II (Celestial movement) | |
9 | 04/22 | Project Proposal Presentation | |
10 | 04/29 | Boundary Value Problems (Stellar structure) | |
11 | 05/06 | PDE: Hyperbolic systems (Advection equation) | |
12 | 05/13 | PDE: Hyperbolic systems II (Advection equation) | |
13 | 05/20 | PDE: Astrophysical fluiddynamics | |
14 | 05/27 | PDE: Elliptical systems (gravity) | |
15 | 06/03 | Parallel Programming with MPI and OpenMP | |
16 | 06/10 | Parallel Programming with GPUs | |
17 | 06/17 | Final project presentation | |
18 | 06/24 | (final exam week) No lecture |
Evaluation
Grades will be determined by homework assignments (70%), and the final project (30%).