Einführung in Python (EiPy, introduction to Python) is an elective in the computer science bachelor's programme at HHU Düsseldorf: Python as a second language for students who already know Java, covering the language itself, the tools around it — linters, profilers, test-driven development — and building small applications with it. It follows the Programming module.

The course is taught entirely in German: lectures, exercise class, slides, exercise sheets, sample solutions and the lecture notes. This page and the module description below are translations.

Einführung in Python has run once so far, in summer 2026, taught by Konrad Völkel; it is not running this term. The handbook schedules it for every summer term, so the next run is expected in summer 2027, but nothing is fixed.

What the course covers

  • Data types, control structures and namespaces, coming from Java
  • Data structures and their runtime complexity, type hints
  • Object orientation, collections, iterables
  • Reading and writing files, exceptions, debugging, garbage collection basics
  • Versioning with git, packaging with uv, linters and formatters
  • IDEs and editors, and AI-assisted ("vibe") coding
  • Profiling, and test-driven development with doctests and pytest
  • Data handling: JSON, CSV, polars, pydantic
  • Building user interfaces, and reading complex data from the web, images and graphs
  • Parallel and asynchronous programming
A painted village crossed by an enormous coiled python snake, with a giant wooden signpost forking into yes and no, baskets of speckled eggs, a market square, and a violet beam of light striking tools on a smith's bench
The course as one village. Click for the full size (4608 × 2048 pixels, 1.7 MB).

Material

The lecture notes, written for this course and freely readable, in German:

  • Einführung in Python (PDF) — organized in parts covering Python as a second language, tools for software development and application development, plus worked examples and the exercise sheets; it carries a glossary written for exam preparation.

Two books from the module handbook, recommended alongside it, with a different style and a lot more material:

  • Klein, Einführung in Python 3: Für Ein- und Umsteiger (Carl Hanser Verlag, 4th edition 2021). In German.
  • Sweigart, Automate the Boring Stuff with Python (No Starch Press, 2nd edition 2019). The author publishes it for free; in English.

Using this material

The lecture notes are open: the rendered pages and the PDF are linked above. If you teach something in this area and want the rest — the slides, the exercise sheets, the sample solutions, the Jupyter notebooks or the MyST sources of the notes — write to me and I will send them. All of it is in German.

The official module description

This is what the module is formally examined against, and what an examination office needs if the course is to count for something elsewhere. It is the entry in the Modulhandbuch B.Sc. Informatik PO 2021 (version of 22 July 2026, page 70), freely translated from the German original:

Contents. Python is a popular language that supports imperative, functional, object-oriented and other programming paradigms, and it is widely used to process data for machine learning. Building on the programming concepts known from Java, this course applies them in Python: data types, control structures, exception handling and input/output; tools for Python software development — linters, profilers, test-driven development; and application development in Python, from user interfaces to data processing.

Learning outcomes. Having taken part in this module successfully, students can explain the differences between Java and Python, read and understand foreign Python source code, evaluate and improve existing Python code, design relevant tests for it, systematically find bugs in it, develop Python programs with the help of generative AI, program simple data-processing applications in Python, and follow the usual conventions for managing Python packages.

The module is worth 5 ECTS — lecture 2 SWS, exercise class 2 SWS, 150 hours of work — and is assessed by a final project (a Python application), with admission earned through active participation in the exercises. Formally, it requires having passed the Programming module.

When it runs again

The handbook schedules the module for every summer term. It has run once, in summer 2026; the next run is expected in summer 2027, but nothing is fixed.

Einführung in Python is one of the courses I teach at HHU Düsseldorf; the others are on the teaching page.