01 - 03 September 2020
Cancellation deadline:
15 August 2020
Robin Engler, Bulak Arpat, Wandrille Duchemin
Programming and Computing Techniques
Academic: 180 CHF
For-profit: 900 CHF
0.75 ECTS credits

This course is now full with a waiting list. The next session is scheduled in December.

This course will take place in Lausanne with rules complying to COVID situation (distances and hygiene), but in the event of new restrictions, the participants will be informed that it will not be cancelled, but streamed.


Have you ever been stuck with a file format that doesn't precisely conform to your needs, found yourself doing annoyingly repetitive data manipulations, or struggled to efficiently manage and explore your data? Python to the rescue!

Python is an open-source and general-purpose scripting language which runs on all major operating systems. It was designed to be easily read and written with comparatively simple syntax, and is thus a good choice for beginners in programming. Python is applied in many disciplines and is one of the most common languages for bioinformatics. The Python community enthusiastically maintains a rich collection of libraries/modules for everything from web development to machine learning. Other programming languages such as R have comparable functionality to Python, however some tasks are more natural (and easier!) in Python.

This 3-days course is addressed to beginners who want to become familiar with writing Python code to accomplish common tasks such as automated data parsing, basic statistical operations and graphical representations.


No experience with programming is assumed, but at least basic concepts of algorithmics.

Learning objectives

Participants will learn the basic concepts and data structures necessary to solve routine data manipulation tasks. Importantly, we will cover the concepts, terminology, and approach to documentation required to further develop skills in Python programming independently. The goal is to take control of your research questions in an independent manner. By the end of this course you will be prepared to learn more advanced bioinformatics-specific applications in forthcoming courses.

Topics include:

  • A basic introduction to Python scripting and computing in general
  • Creating, populating, and modifying data structures
  • Working with files : reading / writing
  • Installing / Importing libraries/modules
  • Introduction to Regular expressions
  • Graphical libraries and creating figures
  • Functional and Object-Oriented Programming in Python
  • Best practices in Python programming
  • Debugging and documentation


Knowledge / competencies

This course is designed for beginners; there is no requirement for previous training in Python. However, we encourage completion of our "First Steps with UNIX" course or our “UNIX Fundamentals” tutorial.


You are required to bring your own laptop. We will be working with Python managed by Anaconda - a free and operating system (OS)-agnostic platform for organizing Python libraries and environments. It is bundled with Anaconda Navigator, a graphical user interface which will help ease you into what Python makes possible. We will discuss in detail what all of this precisely means during the course. In preparation, all you have to do is download and install Anaconda for your particular OS. Use the most recent version of Python, which is currently 3.7 [as of Dec. 2019]. If your disk space is limited, you can install Miniconda instead. However this lacks the Anaconda Navigator GUI and many of the packages distributed with Anaconda.

We will also be interacting with python via the jupyter notebook interface and we ask that you install jupyter notebook, via conda.


Application is closed.

Registration fees are **180 CHF **for academics and 900 CHF for for-profit companies. This includes access to course content material.

Deadline for free-of-charge cancellation is set is set to 15/08/2020. Cancellation after this date will not be reimbursed. Please note that participation to SIB courses is subject to our general conditions.

You will be informed by email of your registration confirmation.

Venue and Time

This course will take place in Lausanne with rules complying to COVID situation, but in the event of new restrictions it will not be cancelled, but streamed for the registered participants.

The course will start at 9:00 CET and end around 17:00 CET.

Additional information

Coordination: Grégoire Rossier

We will recommend 0.75 ECTS credits for this course (given a passed exam at the end of the course).

You are welcome to register to the SIB courses mailing list to be informed of all future courses and workshops, as well as all important deadlines using the form here.

For more information, please contact training@sib.swiss.