Welcome to the online materials for the Python Crash Course at SEDS.
This introductory course is exclusively designed for first-semester MA SEDS students, aiming to provide a solid foundation in Python programming. It consists of hands-on sessions that cover theoretical and technical aspects of programming with Python and practical sessions where participants directly apply their acquired knowledge. Students will learn fundamental programming concepts such as variables, control flow, basic data structures, and functions, and will also learn how to use Python to load, manipulate, and visualize data. Successfully completing this course will enable students to apply these skills to basic data analysis and programming in other courses and will help them develop more advanced, domain-specific Python skills. The course does not follow a specific textbook but useful references are "Learn Python the Hard Way" by Zed Shaw and "Introduction to Python" by Eric Matthes.
Time and place in WS 2025/26: K503, October 13-17, 2025, 9:00 - 17:00
Before starting the block course:
- Install the Jupyter environment or another IDE that allows you to follow the course.
 Instructions how to install Jupyter can be found here.
- Familiarize yourself with the Jupyter environment.
 You can start trying to do the steps in the Jupyter walkthrough.
- Make sure that you have a university account and can access course Ilias. If you have problems with this, talk to support at the university.
- Check out Ilias to get the link to our private DataCamp Classroom. DataCamp is for you to do extra exercises besides the course.
- Take a look at the Github forum to ask questions
- Welcome and course logistics: Slides
- Interactive lecture: Jupyter Notebook walkthrough
- Interactive lecture: Variables, strings, and numbers
- Interactive lecture: Introduction to lists and basic loops
- Assignment 1: Variables, Strings, Numbers, Lists, and Loops
- assignment_1.ipynb -- Deadline: October 13th, 23:59
- Extra exercises 1 (ungraded)
 
- Quiz about Day 1: Slides
- Interactive lecture: Advanced lists, slicing, and comprehensions
- Interactive lecture: Conditional statements
- Assignment 2: Lists, Tuples, Sets, Comprehensions, and if-statements
- assignment_2.ipynb -- Deadline: October 14th, 23:59
- Extra exercises 2 (ungraded)
 
- Quiz about Day 2: Slides
- Interactive lecture: Dictionaries
- Interactive lecture: Functions
- Assignment 3: Dictionaries and Functions
- assignment_3.ipynb -- Deadline: October 15th, 23:59
- Extra exercises 3 (ungraded)
 
- Quiz about Day 3: Slides
- Interactive lecture: Python modules and exceptions
- Interactive lecture: Write and read files
- Interactive lecture: Data Exploration with Pandas
- Assignment 4: Data exploration
- assignment_4.ipynb - Deadline: October 16th, 23:59
- Extra exercises 4 (ungraded)
 
- Quiz about Day 4: Slides
- Interactive lecture: Data visualisation in Python
- Written exam (90 min)
- Assignment 5: Data visualization
- assignment_5.ipynb -- Deadline: October 17th, 23:59
 
- 
The course is graded as pass/fail. To pass the course, you need the following: - Pass each of the five daily assignments (at least 50% points in each)
- Pass the final written exam (at least 50% points)
 
- 
During the daily sessions, we will do small ungraded quizzes as practice for the final written exam. 
- 
Attendance is not mandatory but highly recommended to pass the assignments and to practice for the final exam. 
- 
From Monday to Friday, there is an assignment due each day by 23:59. 
- 
Assignment submissions are done through ILIAS 
I am the Professor for Social and Behavioral Data Science at the University of Konstanz. My background is Computer Science but I worked my whole career with psychologists, sociologists and physicists to learn new ways to understand human behavior. I got my PhD from ETH Zurich in 2012 and a habilitation in 2018, starting to work as full professor TU Graz in 2020 and then at the University of Konstanz in 2022. To learn more about my work, check my website.