IST Austria Courses
IST Austria logo

Introduction to Programming in Python

Instructor: Srdjan Sarikas

Teaching Assistant: Harald Ringbauer


This course provides an elementary introduction to programming using Python, as one of the most popular programming languages (both in and outside of academia), with a specific emphasis on its usage in science. The main topics include the general elements of programming (variables, expressions, control structures, I/O) and a couple of the scientific toolboxes, such as numpy and matplotlib. Exercises will be posed in the scientific context, such as data analysis, data visualisation, solving (differential) equations, or stochastic simulations.

If time permits, we will cover basic concepts in more advanced topics, chosen by a consensus. The topics include, but are not limited to, object-oriented programming, sequence analysis (using BioPython), boosting python performance...


The in-session and home exercises will require all participants to have a computer with a working software. We will use python 2.7 (not 3.5) version of python. Perhaps the easiest solution is installing a distribution Anaconda, published by Continuum Analytics. You can download the appropriate version from their website. If you are not sure which installer you need, you are welcome to contact us.

A brief preparatory meeting will be held in the later afternoon of Wednesday, Jan 25th, for participants who would like support with the installation of the software or have any preliminary/general questions regarding the programming courses (attendance optional).


The course is targeted towards students with little or no prior programming experiences, so there are no prerequisites for taking this course.

If you do have previous programming experience in any language, you may not be eligible for (both) ECTS credit(s). For example, if you are comfortable with nested loops, or recursive functions, you are likely too advanced for the course. In case of doubt, discuss your situation with the instructor. In any case, however, you are welcome to attend as an auditor to learn the syntax and some peculiarities of Python.


 Upon successful completion of the course students will be granted 2 ETCS credits.

Final Grade

Final grade (fail/pass) will based on completion of homework exercises.

Schedule (subject to change)

Date Time Topic Location Notes
Tue Jan 24 16:00-17:00 Installation of Anaconda Python2.7 Mondi 2 Preliminary session (slides)
Mon Jan 30 9:00-12:00 Expressions and variables Mondi 2 slides
Wed Feb 1 9:00-12:00 Basic control flows, Functions, Modules Mondi 2 slides, slides as html
Fri Feb 3 9:00-12:00 Exercises Mondi 2 slides
Mon Feb 6 9:00-12:00 Basic I/O, List comprehension Mondi 2 slides
Wed Feb 8 9:00-12:00 Data Visualization Mondi 2 slides
Fri Feb 10 9:00-12:00 Custom Modules, Data Visualization 2 Mondi 2 slides
Mon Feb 13 9:00-12:00 Optimization, Data Visualization 3 Mondi 2 Optimization slides Exercises
Wed Feb 15 9:00-12:00 OS module, Data Visualization 4 Mondi 2 slides
Fri Feb 17 9:00-12:00 Exercises Mondi 2 infer the threshold(s) in 1th.dat and 2th.dat datasets


Upload homework as a Jupyter file named like the following example:

Name: John Doe
Homework 1


Upload link

Further Information




Training Datasets









Additional Downloads


Training Datasets




Solution Using Pandas