Welcome to BLCAA fall 2017
This is the course website for Basic Linux and Coding for Astronomy & Astrophysics (BLCAA), it is updated regularly. BLCAA is part of the Master of
Astronomy and Astrophysics of the Universiteit van Amsterdam. Questions about the course can be sent to Thijs Coenen email@example.com
or David Gardenier firstname.lastname@example.org.
We will keep this site up-to-date with the newest information, chapters of the reader and assignments.
Basic Linux and Coding for Astronomy and Astrophysics
The aim of the course Basic Linux and Coding for AA is to
to get you up and running in Linux with some basic knowledge of its command
line interface and teach you the basics of programming. This course will use
the Python programming language (more specifically Python 2.7 which, despite
Python 3 being available, is still the most prevalent in research). Python was
chosen for its relatively
straightforward syntax, its free availability, the wide range of libraries in
its eco system. For the fields physics and astronomy in particular, Python
provides a large number of libraries for scientific computing and is displacing
packages like IDL and Matlab.
The Linux part of our course will teach you some of the backgrounds and
commands that you will need to be productive. More specifically:
- You should attain basic knowledge of the UNIX/Linux file system layout
and the use of permissions on UNIX/Linux to control file access.
- You should be able to access the command line (we will be using the
BASH shell throughout this course).
- You should be able to manage running processes on a Linux system, to
start or stop programs and to find out which processes are running.
- You should be able to navigate the UNIX/Linux file system and find
files and programs.
- You should be able to manipulate text files through the command line and
search for specific content.
The programming part of this course aims to teach you the basics of programming
in general and programming in Python in particular. Because of the limited
extent of this course, we will focus our attention on a practical subset of
the Python language --- and test whether you attain working knowledge of that
- You should be able to design and implement a properly structured Python
program written in the standard Python style. You will also learn to
properly document you program, use proper variable and function naming,
how to modularize you program using functions, and how to make your
- You should be able to read and write simple text data files.
- You should be able create basic plots using Matplotlib.
- You should be familiar with Numpy and Scipy and be able to use these
libraries to implement simple scientific calculations efficiently.
A further more general goal is that you develop problem solving skills using
- Learn how to find help when programming. That includes how to read the
documentation available with Python and its libraries, and which
resources are available on-line.
- Develop the skills to, when presented with new data files, inspect that
data, create plots and write small tools to work with them.
- Feedback on previous assignment
- Interactive lecture
- Intro to new assignment
- Work on assignment
- Work on assignment
- Ask Teacher and Assistant for questions
- Announcement of next week's subject