Here’s some reading material to get familiar with basic concepts in astrophysics and coding. Another excellent compilation by Kate Whitaker is available at this link.


General concepts

Lecture notes on how the universe works (almost a book): Since at DAWN we work with galaxies, we’re mainly interested in galaxies, that is Section II (chapter 11 to 13). Obviously one can also have a look to other chapters (e.g., Ch. 3 for telescopes and Ch. 14 about cosmological principles). Lecture notes on observations at this link. This is to better understand how we interpret the data coming from a telescope. Other slides on observational astronomy here and here. These slides are difficult to understand because the text is very short, but the images are cool!

About simulations

I suggest to visit the website of those research teams deeply involved in simulations: They have an introduction to general public and very nice video.


Getting ready with Python (2 or 3?)

In our field the vast majority of interpreted language software is written in python. I suggest to install python via Anaconda (Python 3 is recommended, but see below). Anaconda works in all OS, however if your computer has Windows installed and you expect to use other software than Python it would be better to create a Linux (e.g., Ubuntu) partition because many astrophysical codes do not compile easily in Windows. MacOS it’s fine since it is Unix-based like Linux. The only problem with python is that a new version (python 3) has been recently distributed, but many people still write their programs in python 2.x. Therefore you need to have both, and switch from one to the other by changing environment. You also need to become familiar with Jupyter Notebooks. I think Jupyter is included in the Anaconda package, and anyway you can find all the info at

An exhaustive guide

Python Data Science Handbook. That github webpage may appear complicated, but you can just scroll down until you find a link to the entire book and to Jupyter notebooks. Probably the most effective way to learn is to download some of the notebooks.

Fundamental skills in Astro-coding

After installing Python you can get started with these 3 fundamental tasks: 1) Mathematical operation with numpy numpy is a module of python that contains a lot of useful functions/methods 2) Plots with matplotlib inside the matplotlib module there is pyplot, we will use pyplot all the time 3) open a data table (ASCII or FITS) with astropy astropy is a package specifically designed for astronomy! To learn 1) and 2), you can find a lot of Jupyter Notebook in the Besides the very simple ones for beginners, notebooks from 02.00 to 02.09 are related to numpy, from 04.00 to 04-13 to pyplot. There’s noting about astropy in the DS Handbook, so you have to visit their website ( to find some tutorial. On the other hand, the Handbook has a section on machine learning that you can look at if you have time (even though I think I’ve already gave you a lot of stuff to do!). And of course is always a good source of documentation, examples, etc.