Skip to content

Module Catalogue

Breadcrumbs navigation

AS3013   Computational Astrophysics

Academic year(s): 2019-2020

Key information

SCOTCAT credits : 15

ECTS credits : 7

Level : SCQF Level 9

Semester: 2

Planned timetable: 2.00 - 5.30 Mon & Thu

The aim of this module is to introduce students to computational methods in astrophysics. Based on a general introduction to the programming language Fortran-90, students are shown how to apply simple numerical algorithms to calculate integrals, iteratively find the roots of non-linear equations, solve systems of ordinary differential equations, and to develop tools for statistical data analysis. Further emphasis is put on the development of skills to make convincing plots from the calculated data. The practical exercises include applications to the initial mass function in star formation, the calculation of orbits for N-body gravitational problems and in mean galactic potentials, and planet transition light-curves. Students gain experience with the basics of numerical accuracy, and the development of problem-solving algorithms in general.

Relationship to other modules

Pre-requisite(s): Before taking this module you must pass PH2011 and pass PH2012 and pass MT2501 and pass MT2503

Learning and teaching methods and delivery

Weekly contact: 2 x 3.5-hour supervised or taught sessions (x 10 weeks). Mostly hands-on guided work on computers, but with occasional presentation.

Scheduled learning hours: 70

Guided independent study hours: 80

Assessment pattern

As used by St Andrews: Coursework (practical work, the submission of computer code and computational solutions to given problems) = 100%

As defined by QAA
Written examinations : 0%
Practical examinations : 0%
Coursework: 100%

Re-assessment: No Re-assessment available - laboratory based


Module coordinator: Dr P Woitke
Module teaching staff: Dr P Woitke, Dr M Dominik, Dr C Helling

Additional information from school


Modern Astronomy relies more and more on the intelligent and efficient use of computers, for example for observational data processing and for complex model simulations. The aim of this module is to introduce the students to basic computational methods in astrophysics. Students gain hands-on experience by developing their own FORTRAN-90 programs under LINUX, learn how to devise and test efficient numerical algorithms, depict their results in form of graphical plots with PYTHON, and develop their skills for systematic work and report writing. The module is subdivided into 4 exercises covering different topics, from the basics like "Hello, world" to more ambitious tasks like the simulation or N-body gravitational systems.


Aims & Objectives

  • learn how to use the operating system LINUX
  • learn the basics of the FORTRAN-90 programming language
  • develop computational algorithms and computational methods, in particular for finding the numerical roots of algebraic equations, for numerical integration, for the numerical solution of systems of differential equations, and for Bayesian data analysis
  • realize the difference between an algebraic and a numeric solution of a given problem
  • structured programming with use of subroutines, loops and logical decision making structures, headers and comments
  • variable types, argument lists, and the use of data modules
  • input & output
  • plot making with PYTHON, from simple 2D-plots, over 3D-plots to coloured contour plots
  • scientific writing


Learning Outcomes

The student will learn and have practical experience of programming and the basic use of numerical techniques. Specifically, by the end of the module, the students will have a comprehensive knowledge about how to


  • work on LINUX computers
  • program in FORTRAN-90
  • understand and apply the fundamentals of structured programming
  • develop computational algorithms
  • testing and debugging
  • plot with PYTHON
  • problem-oriented structured work towards a deadline
  • scientific report writing
  • deepen the understanding of the astrophysical topics covered in practise, namely black body radiation, interstellar mass function, fitting a model to noisy data, and planet orbits and gravitational systems.



The course is organized in 4 exercises, each lasting between 2 and 4 weeks, steadily increasing in complexity. The first 3 weeks are accompanied by 1-hour lectures, but the course takes place mainly in the computer lab. At the end of the second exercise, students start creating plots, and during the third exercise, students start to write complete scientific reports with figures and tables. Each exercise has a deadline for submission of the results, and is assessed separately.


Additional information on continuous assessment

Please note that the definitive comments on continuous assessment will be communicated within the module.  This section is intended to give an indication of the likely breakdown and timing of the continuous assessment. 


This is a 15 credit module, so is expected to take 150 hours of study for the average student at this level.  The first three weeks include a lecture (about 45min) before students move on to the afternoon computer lab. The work in weeks 4-11 takes place fully in the computer labs.  The sessions run on Monday and Thursday afternoons.  The module's work is finished by revision week, so students can expect to commit about 14 hours a week to this module in weeks 1-11.  This means that the scheduled time in classes forms about half of the total expected study time.


The module grade is based on attainment in continuous assessment. There are 4 assessed exercises of duration 3 weeks, 2 weeks, 4 weeks and 2 weeks, with marking weights 15%, 20%, 40%, and 25%,  respectively.  The submission deadlines are set to the end of those weeks, i.e. week 3, 5, 9 and 11. The exercises are of increasing difficulty (exercise 1: basic small tasks, input and output, loops, arrays, root finding; exercise 2: initial mass function with numerical integration; exercise 3: stellar orbits, solve a system of ordinary differential equations; exercise 4: planet transition lightcurves, model fitting and Bayesian analysis of noisy data. Exercises 3 and 4 each require the submission of a written scientific report with tables and figures. Students use Fortran-90 to compute their results, Python to make figures, and a word processing tool of choice (usually Word or LaTeX).


Accreditation Matters

This module may not contain material that is part of the IOP “Core of Physics”, but does contribute to the wider and deeper learning expected in an accredited degree programme.  The skills developed in this module, and others, contribute towards the requirements of the IOP “Graduate Skill Base”.


Recommended Books

Mostly online material, start here


General Information

Please also read the general information in the School's honours handbook that is available via