Introduction to Programming with Python for Data Science

Module Group: Computer Science

In this module, participants acquire fundamental programming skills in Python. The programming activities are always focused on the field of Data Science. This includes proper data input, processing, and cleaning, as well as the creation of aggregation analyses and visualizations. All learning content is delivered in a practical manner through exercises based on real datasets.

The module includes a fixed weekly online session on Tuesday evenings from 7:00 to 8:30 p.m.

Schedule:
  • October 7 / 14 / 21 / 28, 2025
  • November 4 / 11 / 18 / 25, 2025
  • December 2 / 9 / 16 / 23, 2025
  • January 13 / 20 / 27, 2026
  • February 3, 2026

  

You can find the module handbook here.
 

The following content is taught with extensive practical exercises using real-world data (e.g., from the Kaggle website):

  • Basics of Python, IPython, and Jupyter Notebooks
  • Built-in data structures, functions, file handling
  • NumPy and vectorization
  • Pandas
  • Data cleaning
  • Data aggregation and pivot tables
  • Visualization

The module concludes with a project that brings all content together.

Students will...

Technical Competence

  • explain the syntax and semantics of language constructs in Python
  • understand basic concepts of procedural programming
  • apply programming rules for readable and maintainable code
  • use basic Python libraries for data analysis
  • choose appropriate algorithmic solution patterns for given analytical problems

Methodological Competence

  • solve simple application problems using appropriate programming solutions
  • design, implement, and test algorithms for problem-solving
  • relate problem solutions to business contexts

Social and Self-Competence

  • develop and discuss solutions for programming problems and work in small groups
  • assess their own analytical and conceptual skills and reflect on their professional strengths and weaknesses

The online course takes place as a self-study format in the form of a "flipped classroom". Video lectures, detailed and well-documented code examples (Jupyter notebooks), and practical exercises are provided for self-study. Weekly online Q&A sessions support learners with the course content.

A first university degree is required.

Content-wise: Knowledge of relational databases (SQL) and basic programming concepts is helpful but not mandatory.

Recommended:

  • A desktop or laptop with a current version of Microsoft Windows, Apple macOS, or Linux supported by the manufacturer
  • A headset
  • The latest version of Mozilla Firefox, Google Chrome, Apple Safari, or Microsoft Edge
  • Internet access (e.g., via xDSL, cable, LTE, 5G) with at least 3 Mbit/s downstream and 384 kbit/s upstream ("DSL 3000")

Please don’t hesitate to contact us if you have questions regarding the technical requirements.

The following conditions must be met to be admitted to the module exam (written/oral):

  • Participation in at least 2 attendance days
  • Completion of mandatory online content

In exceptional cases, an informal request for admission can be submitted to the module coordinator.

In case of illness, a medical certificate must be provided to the module coordinator.

Regular participation in online forums supports the learning process. Detailed information can be found in the module description in the module handbook.
 

Upon successful completion of the module, you will receive a certificate and a supplement listing the module contents. The supplement confirms the equivalent of 3 ECTS credits.
 

The tuition fees for the modules for enrolled students or for taking individual modules in continuing education can be found on the tuition and participation fees webpage.

Instructor

Prof. Dr. Reinhold von Schwerin
Ulm University of Applied Sciences