25 - 27 September 2024
Application deadline:
15 September 2024
Cancellation deadline:
15 September 2024
Wandrille Duchemin and Robin Engler
Programming and Computing Techniques
Academic: 300 CHF
For-profit: 1500 CHF
0.75 ECTS credits

No future instance of this course is planned yet

This course is co-organized by the doctoral program Staromics of the CUSO and SIB. A certain number of places will be attributed in priority to Staromics members.


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.

In this course, 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.

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
  • Writing functions
  • Best practices in Python programming
  • Debugging and documentation


This 3-day 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.

For people who are proficient in programming: this course might be on the slow side for you and an intermediate python class is recommended (check regularly our upcoming training courses).

Learning objectives

By the end of this course, you will not only be prepared to learn more advanced bioinformatics-specific applications in forthcoming courses, but also be able to:

  • Create, populate, and modify data structures
  • Work with files: read and write files
  • Install and import libraries and modules
  • Write functions
  • Apply best practices in Python programming
  • Debug and document your own code


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 e-learning module. Basic concepts of algorithmics is a plus.


You are required to have 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 any most recent version of Python (>= 3.7). 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.


Registration fees are 300 CHF for academics and 1500 CHF for for-profit companies.

While participants are registered on a first come, first served basis, exceptions may be made to ensure diversity and equity, which may increase the time before your registration is confirmed.

Applications will close as soon as the places will be filled up. Deadline for free-of-charge cancellation is set to 15/09/2024. Cancellation after this date will not be reimbursed. Please note that participation in SIB courses is subject to our general conditions.

You will be informed by email of your registration confirmation. Upon reception of the confirmation email, participants will be asked to confirm attendance by paying the fees within 5 days.

Venue and Time

The course will take place at the University of Bern.

The course starts at 9:15 and end around 17:15. A social apero might be organised at the end of the first day (TBC).

Precise information will be provided to the participants in due time.

Additional information

Coordination: Monique Zahn, SIB Training group.

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.

Please note that participation in SIB courses is subject to our general conditions.

SIB abides by the ELIXIR Code of Conduct. Participants of SIB courses are also required to abide by the same code.

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