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:
- 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
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:
- 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&A 2h a day Acknowledgement:
Funding:
- This project has received funding from VIB.
PURL: not yet available
Authors and Contributors
Authors
Contributors
Citing this lesson
Please cite as:
- 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
{
"@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
- 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).
- Data types: introduces the concept and value of types and the Python syntax for data type annotations.
- 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.
- Decisions:
if,elif, andelse. - Collections: lists, operations on lists,
in. - Loops:
for-each loops over lists, stings, andreange(). - Dictionaries: associating data, looping, slicing, and other operations.
- Input and output: dealing with the outside world. Data cleaning and some common file formats in bioinformatics, such as csv and fasta, are covered.
- 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.

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

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.

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

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

