Go to JKU Homepage
Institute for Machine Learning
What's that?

Institutes, schools, other departments, and programs create their own web content and menus.

To help you better navigate the site, see here where you are at the moment.

Special Topics on Bioinformatics (Biology/Chemistry/Physics/Mathematics):
Introduction to Python (2KV)

Course no.: 365.094
Lecturer: Sepp Hochreiter, Michael Widrich
Times/locations: Tue, 13:45-17:00, room MT 226
Mode: KV, 2h
Registration: KUSSS, opens an external URL in a new window



Python (www.python.org, opens an external URL in a new window) is a powerful and versatile programing language that allows for fast prototyping in simple scripts to complex large-scale software. This lecture shall provide a short introduction to Python with a focus on research and scientific applications in the field of Bioinformatics and Machine Learning, as relevant at the Bioinformatics institute and its curriculum.

As students with different academic backgrounds are invited to attend this lecture, the agenda might be modified to fit the needs of the audience throughout the course. Lectures will (if possible) be held interactively and students are encouraged to bring their Laptops. Grading will be based on home exercises or projects.

IMPORTANT: Please install Python3 (version 3.5 or higher) and Pycharm on your laptop. Written instructions will be provided via moodle (link follows). If you need help, please write a post in the moodle forum (link follows).


The main structure of this course is a follows:

  1. Overview and assertion of relevant subtopics based on needs of the students
  2. Introduction to programing (crash-course: program execution, CPU, GPU, memory, Pointers)
  3. Setting up the working environment, "Hello World" program & how to debug
  4. General Python syntax/style
    - data types (variables, strings, lists, dictionaries, .), conditions, loops, list comprehensions, exceptions, regular expressions, functions, and classes
  5. Modules
    - os/sys (Python as pseudo shell-script)
    - Matlpotlib/Pyplot (Plotting in Python)
    - Numpy (efficient computation in Python)
    - Tensorflow (GPU computations in Python) (if enough time)
    - Numba/Cython (speeding up Python programs) (if enough time)
    - Multiprocessing (if enough time)