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

Instructor

Dirk Zeuss

Philipps-Universität Marburg

Spaska Forteva

Philipps-Universität Marburg