Syllabus

High-Performance Scientific Computing for Astrophysics

Astro 528: Fall 2021

Scope & Sprit of the Course

High-Performance Scientific Computing for Astrophysics will combine class discussion and programming exercises to train students in the use of modern computing hardware and programming strategies for application to astronomy and astrophysics research. Students will gain experience applying these practices during a class project (potentially in support of the student’s dissertation research). While Astro 528 is primarily intended for graduate students in the astronomy & astrophysics program, it is likely also beneficial for graduate students in other physical sciences and engineering.

This course can count toward the Penn State Graduate Minor in Computational Science. It is complementary to Phys/Astro 587 Computational Physics/Astrophysics, the recent Astro 585: Astrostatistics and Stat/IST 557: Data Mining. The combination of these four courses with the domain expertise from their Ph.D. program would provide students with an excellent introduction to Data Science.

Goals & Objectives

The primary goal is for students to improve their skills in scientific computing, including programming practices for achieving reproducible results and high-performance scientific computing with an eye towards scaling up to larger problems and Big Data. To achieve this, students will develop a basic understanding of modern computer architectures, memory systems, programming languages and common programming patterns. Exercises provide students with experience applying established programming practices (e.g., version control, coding standards, unit testing, debugging, profiling, documenting and reviewing code) and optimizing performance using multi-core processors, clusters and GPUs.

All of these objectives may not be realized within the one-semester course, and we will adapt the scope and emphasis based on student interests and programming experience. The version of the syllabus on the course website will be updated throughout the semester. Students should check the website regularly for updates.