ASTR 701 – Computational Astrophysics – Spring 2012
Instructor: Dr. Maura McLaughlin
Contact details: Maura dot McLaughlin at mail dot wvu dot edu, 304-293-4812
Office hours: Just stop by or email me for an appointment.
Class times: M/W 1430-1545 in 103 White Hall
Aim: The goal of this course is to give you the computational tools necessary to efficiently analyze modern astronomical data and address common astrophysics problems.
The course will introduce observational astrophysics, data analysis and algorithms, and computational basics such as the Linux operating system, shell scripts, Latex as a scientific text editor, and the C programming language. We will use some existing packages such as numerical recipes. Several programs for plotting and data visualization will be introduced, including sm (supermongo), pgplot, and IDL (Interactive Data Language). Techniques for programming using IDL and use of the IDL Astronomy User’s Library will also be covered.
Numerous applications of these programming skills will be made throughout the course. These will involve the analysis of existing astronomical data, the simulation of astrophysical systems, and purely analytical solutions to problems. The methodologies used will include least squares fitting, fourier transforms, spectral analysis, Monte Carlo analysis, random number generation, and numerical integration.
While this course is designed to prepare students for careers as observational astrophysicists, the analytical skills and programming techniques acquired should be useful for students in any physical science field.
Prerequisites: You are expected to have had a course on differential equations and to have a good background in the general physics that will form the basis for some of our problems. However, no prior knowledge of astronomy is required. Similarly, no knowledge of Linux or any programming language is assumed.
Text: There is no required text for the course. However, the following texts may be useful and are on hand in the astro wing conference room.
The C Programming Language by Kernighan and Ritchie
Numerical Recipes in C by Press, Flannery, Teukolsky and Vetterling
Practical IDL Programming by Gumley
Practical C Programming by Oualline
The UNIX Programming Environment by Kernighan
Website: http://astro.phys.wvu.edu/ASTR701 will be updated regularly with the syllabus, homework assignments and solutions. The syllabus may evolve over the course of the semester.
Homework: Homework will usually be assigned every Wednesday, to be due on the following Monday (though sometimes there will be short homeworks assigned on Monday and due on Wednesday). If possible, some time during Wednesday’s class may be devoted to starting on the homework. Homework will be submitted by putting all of your material in the submitted/ directory. Because all of the course is dependent on mastering previous topics, there will be no allowance for missed homeworks.
Programs written for homeworks will be graded on their correctness, efficiency and clarity. They should be commented so they are understandable to and able to be easily run by outside readers.
Homework assignments will be assigned different numbers of points based on their difficulty. We will discuss the homeworks in class after they are due. I encourage you to fix your homeworks so they work perfectly after they are graded as they will form a nice library to fall back on when you are programming for your own research.
Attendance: There is no specific attendance requirement for this course. However, because there is no textbook, all of the material derives from the lectures and you are therefore strongly encouraged to come to all classes.
Grading: Your grade will be comprised of the following parts:
- 80% Homeworks
- 20% Final project
You will be guaranteed the following letter grades for the following percentages in this class:
- 85-100% A
- 75-84% B
- 65-74% C
- 50-64% D
- < 50% F
If you pay attention in class and start working on the assignments early enough to come to me with problems, it should be possible to get an A in the course.
Syllabus:
|
DATE |
TOPIC |
NOTES |
HOMEWORK |
|
January 9 |
If you don’t already know a UNIX text editor, do emacs tutorial. Complete introquiz by end of day TODAY and email pdf to me. Please call the document introquiz.yourlastname.pdf. This will be worth 10 points. |
||
|
January 11 |
Install psrcat. Introduction to linux, scripting, sorting, grepping, and awking |
Complete Homework 2 by Wednesday the 18th. |
|
|
January 18 |
This is why we are not going to derive the KS statistic in class. |
Complete Homework 3 by Monday the 23rd. |
|
|
January 23 |
|||
|
January 25 |
C programming: do, while loops, cases, error handling. |
Complete Homework 4 by Monday the 30th. | |
|
January 30 |
Chi-squared significance tests. Folding X-ray pulsar data. |
|
|
|
February 1 |
Chi-squared significance tests. Folding X-ray pulsar data. |
Complete Homework 5 by Friday the 3rd. Complete Homework 6 by Thursday the 9th. | |
|
February 6 |
Complete folding X-ray data project. |
||
|
February 21 |
HI spectra and calculating the HI mass of a galaxy. |
Complete Homework 7 by Wednesday February 29th. | |
|
February 23 |
HI spectra and calculating the HI mass of a galaxy. |
||
|
February 27 |
Least squares fitting to calculate spectral indices. |
||
|
March 1 |
Fourier Transforms |
Complete Homework 8 by Friday March 9th. | |
|
March 6 |
Fourier Transforms |
||
|
March 8 |
Least squares fitting |
Complete Homework 9 by Wednesday March 14th. | |
|
March 12 |
Least squares fitting. |
||
|
March 7 |
Source detection algorithm. |
Complete Homework 10 by Wednesday March 14th. | |
|
April 2 |
Source detection algorithm. |
Complete Homework 11 by Tuesday April 10th. | |
|
April 3 |
Source detection algorithm. |
|
|
|
April 10 |
Radial profile fitting. (Fitting of a non-linear function.) |
|
Complete Homework 12 by Tuesday April 17th. |
|
April 12 |
Radial profile fitting. (Fitting of a non-linear function.) |
||
|
April 17 |
Calculating colors. |
||
|
April 19 |
HR diagram and cluster turn-off points. |
Complete Homework 13 by Tuesday April 24th. |
Useful Links:
Linux
Working remotely
Editors
Latex
Plotting
Pulsars
C Programming
IDL
Statistics
Astronomical Dataservers
Objects
Effective Speaking and Writing