Python is a very popular programming language. It is fairly easy to learn the basics, even if you do not have prior programming experience. This material is intended for self-study and guided training, and is designed as a practical introduction rather than a complete Python course.
The examples are often inspired by scientific work in biology, but the course is also suitable for learners from mathematics, physics, engineering, and other scientific domains.
Upon request, training sessions can be arranged to cover the material.
Learning outcomes
When you complete this training you will
- know Python’s basic syntax;
- be able to use Python’s built-in data types;
- be able to use many built-in functions;
- be able to use Python’s control flow statements;
- be able to write your own functions;
- be able to read from and write to files;
- be ready to continue with introductory scientific Python material.
Recommended use
Absolute beginners should start with the notebooks in numerical order and use the beginner exercises before attempting the more algorithmic stretch exercises.
Learners can work either
- locally on macOS, Linux, or WSL with a terminal and JupyterLab; or
- in Google Colab for a zero-friction start.
Schedule
Tailor-made upon request. Budget for at least 16 hours for the full notebook sequence and additional exercise practice.
Training materials
Slides, notebooks, exercises, and setup instructions are available in the GitHub repository.
Target audience
This training is for people who need Python for simple programming tasks and do not yet have a strong programming background.
Prerequisites
No prior programming experience is required.
Quick self-assessment
No prior programming experience is required. The questions below are meant to help you judge whether the format of the material fits your current workflow and expectations.
- Are you comfortable working through technical material independently between contact moments?
- Can you use a browser-based notebook environment such as Google Colab, or are you willing to set up JupyterLab locally?
- Are you prepared to run small code cells, inspect the output, and revise them when the result is not what you expected?
- Are you willing to treat error messages as part of the learning process and use them to identify where a command or code cell failed?
- Do you have a concrete research, data-processing, automation, or analysis task for which basic Python skills would be useful?
If these points match your expectations, the training is a suitable starting point even if you have not programmed before.
Level
- Introductory: 70 %
- Intermediate: 30 %
Trainer(s)
- Geert Jan Bex (geertjan.bex@uhasselt.be)