Programming in Python: master your first project

August 18, 2026 ยท View on GitHub

Teaching materials for the course. This course is intended to help new programmers find their feet and begin them on their journeyto writing useful programs.

Lesson overview

License: Creative Commons Attribution 4.0 International License

Target Audience: Anyone who whant to get started with Python

Level: Beginner

Prerequisites

This course is designed for participants with NO prior programming experience

Description
Do you want to learn programming skills that will boost your research? In this course, we introduce you to the Python programming language, starting from the very basics. You will explore core programming concepts through a mix of live online sessions, guided practical afternoons, and self-paced exercises. We emphasize hands-on learning in a supportive environment where you can ask plenty of questions. By the end of the course, you will be able to read, modify, and write Python programs and feel confident continuing with more advanced programming topics.

Learning Outcomes:

By the end of the course, learners will be able to:

  1. Understand core programming concepts including functions and values
  2. Analyze programs written by peers to understand their structure and logic
  3. Modify existing programs to improve functionality or adapt them to new tasks
  4. Develop new programs to solve practical problems
  5. Apply techniques to detect errors and fix problems in code

Time estimation: 40 h

  • 4 half days Q&A
  • Self-study time

Requirements:

No installation is required previously. You need to register to the course to get access to Dodona, the platform where the course will be offered. Find the next course and register now.

Course Materials:

  1. The material is available in this repository and in Dodona (under registration)

Proposed Schedule

Once a week:Self-study, everyday
14:00 to 17:00 - Q&A2h a day

Acknowledgement:

Funding:

  • This project has received funding from VIB.

PURL: not yet available

Authors and Contributors

Authors

James Collier

Nina Buchina

Tuur Muyldermans

Frank Vernaillen

Contributors

Tatiana Woller

Bruna Piereck

Janick Mathys

Jolan Heyse

Citing this lesson

Please cite as:

  1. to be updated soon

Workshop and Material organization

We are using the interactive Open Educational Resource online/offline course infrastructure called LiaScript. It is a distributed way of creating and sharing educational content hosted on github. To see this document as an interactive LiaScript rendered version, click on the following link/badge: LiaScript

About us

About ELIXIR Training Platform

The ELIXIR Training Platform was established to develop a training community that spans all ELIXIR member states (see the list of Training Coordinators). It aims to strengthen national training programmes, grow bioinformatics training capacity and competence across Europe, and empower researchers to use ELIXIR's services and tools.

One service offered by the Training Platform is TeSS, the training registry for the ELIXIR community. Together with ELIXIR France and ELIXIR Slovenia, VIB as lead node for ELIXIR Belgium is engaged in consolidating quality and impact of the TeSS training resources (2022-23) (https://elixir-europe.org/internal-projects/commissioned-services/2022-trp3).

The Training eSupport System was developed to help trainees, trainers and their institutions to have a one-stop shop where they can share and find information about training and events, including training material. This way we can create a catalogue that can be shared within the community. How it works is what we are going to find out in this course.

About VIB and VIB Technologies

VIB is an entrepreneurial non-profit research institute, with a clear focus on groundbreaking strategic basic research in life sciences and operates in close partnership with the five universities in Flanders โ€“ Ghent University, KU Leuven, University of Antwerp, Vrije Universiteit Brussel and Hasselt University.

As part of the VIB Technologies, the 12 VIB Core Facilities, provide support in a wide array of research fields and housing specialized scientific equipment for each discipline. Science and technology go hand in hand. New technologies advance science and often accelerate breakthroughs in scientific research. VIB has a visionary approach to science and technology, founded on its ability to identify and foster new innovations in life sciences.

The goal of VIB Technology Training is to up-skill life scientists to excel in the domains of VIB Technologies, Bioinformatics & AI, Software Development, and Research Data Management.


Editorial team for this course

Authors: @orcid(Alexander Botzki), @orcid(Bruna Piereck)

Technical Editors: Alexander Botzki

License: CC BY SA

{
  "@context": "https://schema.org/",
  "@type": "LearningResource",
  "@id": "https://elixir-europe-training.github.io/ELIXIR-TrP-TeSS/",
  "http://purl.org/dc/terms/conformsTo": {
    "@type": "CreativeWork",
    "@id": "https://bioschemas.org/profiles/TrainingMaterial/1.0-RELEASE"
  },
  "description": "Do you want to learn programming skills that will boost your research? In this course, we introduce you to the Python programming language, starting from the very basics. You will explore core programming concepts through a mix of live online sessions, guided practical afternoons, and self-paced exercises. We emphasize hands-on learning in a supportive environment where you can ask plenty of questions. By the end of the course, you will be able to read, modify, and write Python programs and feel confident continuing with more advanced programming topics.",
  "keywords": "Python, Programming, Bioinformatics",
  "name": "Programming in Python: master your first project",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "educationalLevel": "beginner",
  "competencyRequired": "none",
  "teaches": [
    "Understand core programming concepts including functions and values",
    "Analyze programs written by peers to understand their structure and logic",
    "Modify existing programs to improve functionality or adapt them to new tasks",
    "Develop new programs to solve practical problems",
    "Apply techniques to detect errors and fix problems in code"
  ],
  "audience": "life scientists",
  "inLanguage": "en-US",
  "learningResourceType": [
    "lesson"
  ],
  "author": [
    {
      "@type": "Person",
      "name": "James Collier"
    },
    {
      "@type": "Person",
      "name": "Nina Buchina"
    },
    {
      "@type": "Person",
      "name": " Tuur Muyldermans"
    },
    {
      "@type": "Person",
      "name": "Frank Vernaillen"

    }

  ],
  "contributor": [
    {
      "@type": "Person",
      "name": "Bruna Piereck"
    },
    {
      "@type": "Person",
      "name": "Tatiana Woller"
    },
    {
      "@type": "Person",
      "name": "Janick Mathys"
    },
    {
      "@type": "Person",
      "name": "Jolan Heyse "
    }
    
  ]
}

Outline

  1. Introduction: We begin with Hedy, a gradual introduction to programming. This aids in learning to think computationally. But also builds confidence and provides quick feedback between writing a program and seeing outp[ut on the screen. Finally, it motivates syntax (especially for strings).
  2. Data types: introduces the concept and value of types and the Python syntax for data type annotations.
  3. Functions: introduces functions as an abstraction for program design and construction. Testing is also covered. This chapter forms the final theoretical foundation for the course.
  4. Decisions: if, elif, and else.
  5. Collections: lists, operations on lists, in.
  6. Loops: for-each loops over lists, stings, and reange().
  7. Dictionaries: associating data, looping, slicing, and other operations.
  8. Input and output: dealing with the outside world. Data cleaning and some common file formats in bioinformatics, such as csv and fasta, are covered.
  9. Plotting: a teaser for more advanced topics.

Hedy

As part of your welcome email you should receive a link to join Hedy. When you click on the link you should see a website asking if you want to join the class.

Join a Hedy class

When you click on the "Join class" button you will be prompted to create an account. Click "Yes".

Hedy create a account

You will then be asked to login using a username and password. If you do not already have an account you can click on the "Create account" button.

Create a Hedy account

You will now be asked if you are a student or a teacher. You should click "Student".

Hedy question: student or teacher

At this point you have successfully created your account and joined the class.

Hedy finished