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

Course no.: 365.095
Lecturer: Sepp Hochreiter, Michael Widrich
Times/locations: tba
Mode: KV, 2h
Registration: KUSSS

Motivation:

Python (www.python.org) 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)