This course is brought to you by the Lab of Environmental Informatics (University of Marburg, Germany)
Motivation
A life without the free programming language Python is no longer imaginable for many people and those who do not know Python often do not know what they are missing. Unfortunately, the widespread believe that Python is difficult to learn still exists, which makes it unnecessarily difficult for many newcomers to enter the world of Python. We would like to change this with this course.
Learning Objectives
By the end of this course, participants will be able to:
- set up and operate a Python development environment for data-driven tasks;
- use and distinguish basic data types and variables to structure and process information effectively;
- apply string manipulation and fundamental operators to work with textual and numeric data;
- control program flow using conditional statements and loops;
- structure and manage data using Python’s built-in object data types such as lists, arrays, and data frames;
- read, process, and organize external data from CSV files for analysis;
- create simple and informative visualizations to explore and communicate data insights;
- understand and apply basic concepts of object-oriented programming (OOP);
- Quick recap;
Setting
The first session will take place on Thursday, 15 October 2026, at 14:15 (German time) in room F 14 | 00A19.
Throughout the semester, short learning quizzes will be offered at the end of each unit to support continuous learning and self-assessment.
Further information regarding study requirements, assessments, examination procedures, course organization, and participation can be found in the corresponding sections of this course website.
| A weekly tutorial session will take place on Fridays from 15:00 to 17:00 (German time) in room F 14 | 00A19. |
The tutorial sessions are voluntary and provide additional opportunities to discuss course content, ask questions, and practice programming skills.
Further details will be announced during the first course meeting.
The tutorial sessions are voluntary and provide additional opportunities to discuss course content, ask questions, and practice programming skills.
Further details will be announced during the first course meeting.
Syllabus
| Unit | Date | Topic | Content |
|---|---|---|---|
| 01 | 15.10.2026 | Overview and the Very Basics | Set up Python, explore essential tools, and take your first programming steps |
| 02 | 22.10.2026 | Variables and Basic Data Types | Learn how Python stores and represents different types of data |
| 03 | 29.10.2026 | Working with Strings and Simple Operators | Use strings and apply mathematical, comparison, and logical operators |
| 04 | 05.11.2026 | Conditionals | Control program flow using if, elif, and else statements |
| 05 | 12.11.2026 | Object Data Types | Work with lists, arrays, matrices, and DataFrames |
| 06 | 19.11.2026 | Loops | Automate repetitive tasks using for and while loops |
| 07 | 26.11.2026 | Working with Files | Read, write, and process data stored in files |
| 08 | 03.12.2026 | Combining Loops and Conditionals | Solve more complex tasks by combining loops and decision structures |
| 09 | 10.12.2026 | Simple Visualizations | Create basic charts and graphical representations of data |
| 10 | 14.01.2027 | OOP Fundamentals | Introduction to object-oriented programming concepts |
| 11 | 21.01.2027 | Artificial Intelligence (AI) | Explore fundamental AI concepts and practical applications |
| 12 | 28.01.2027 | Course Review and Practical Applications | Review key concepts and solve practical programming exercises |
| 13 | 04.02.2027 | Final Project, Exam Preparation and Feedback | Introduction to the final project, exam preparation, and course feedback |
| 14 | 11.02.2027 | Final Exam and Project Submission | Written exam and submission of the final project |