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%).

Homework Assignments

Note: All problem sets will be posted on the google classroom.

Final Project

Important dates:

4/22 Project proposal presntation (online)
4/29 Project proposal submission (by google classroom)
6/17 Project presentation
6/24 Report submission (by google classroom)