Syllabus
This year’s course structure
Part I
Introduction to Programming with Python
In the first part, an introduction to the basic concepts of programming in Python is provided. Students will learn the Python syntax, data types, as well as how to implement loops, functions, and object classes in Python. Once these concepts are understood, we will learn how they can be used to solve problems.
Lectures
Welcome and Introduction (I)
Basics of Python syntax, variables, data types
Control Structures for Your Code (II)
String methods, comparisons, conditional statements, loops
Building Reusable Functions (III)
Functions, arguments, return values, scope, classes
Handling Data in more than one Dimension (IV)
Tuples, lists, sets, dictionaries
Errors and Debugging (V)
Exceptions, try-except blocks, debugging
Part II
Data Science with Python
In the second part, we will cover basic data science tools in Python referring to data manipulation, descriptive and explorative analysis as well as visualization. At the end, an outlook will be provided on the next steps in Python.
Lectures
Using Modules and Packages (VI)
Standard libraries, random numbers and how to use them
NumPy for Scientific Computing (VII)
Fast array operations with NumPy; we install uv, Zed and Mistral Vibe together in class
Pandas and AI Craft (VIII)
Pandas for data manipulation and AI
Data Visualization (IX)
Matplotlib with AI based on hands-on examples
Part III
Programming Projects
In the third part, students take on a final project in Python where they apply their new knowledge in groups of three on a topic of their choice. Each group will present its results and get feedback at the end of the semester.
Lectures
Git and Your Project (X)
Bring your laptop with git and the GitHub CLI installed (the Session IX homework), learn git and GitHub, form groups, and choose your project
Project Work I (XI)
Progress your group project under assistance
Project Work II (XII)
Finalize your group project with your partners
Presentations and Discussion (XIII)
Present your group’s work and the learnings you have made
Checkpoints
Five in-class checkpoints, 12 points each (six tasks, two points each, all or nothing per task), always the first 40 minutes of the session, individual work, uploaded to Moodle before the time is up. No make-ups: the point math absorbs one miss. With a medical certificate, a missed checkpoint is left out and the pass mark becomes 60 percent of the remaining points. Session II has a 15-minute ungraded practice run in the same format.
Late uploads: within 5 minutes of the deadline they still score in full, between 5 and 10 minutes they are capped at half the points, and after 10 minutes Moodle stops accepting the file and the checkpoint scores zero. Start your download a couple of minutes early so the upload lands in time.
| Checkpoint | Opens | Covers | AI |
|---|---|---|---|
| 0 (practice, ungraded) | Session II, before the lab | Session I and the first loops of Session II | no |
| 1 | Session III | Sessions I-II | no |
| 2 | Session V | Sessions III-IV | no |
| 3 | Session VI | Sessions I-V | no |
| 4 | Session VIII | Sessions VI-VII | allowed |
| 5 | Session X | Sessions VIII-IX | allowed |