Programming for Data Scientists: Python

The course introduces students to procedural and object-oriented programming in Python. The goal is to enable students to independently solve complex application problems using software development. For this purpose, the course conveys essential concepts, algorithms, and data structures to make students familiar with the basic constructs of Python and introduces important external libraries.

Programming is a craft that—like any other craft—requires some theoretical knowledge as foundation, but is learned above all through practice and application. Therefore, the exam for this course consists of an extensive programming project during the semester instead of a theoretical final examination.

Course Content

The lecture will cover the following topics:

  • History, philosophy, and technical basics of the Python programming language
  • Data types and control structures
  • Elementary algorithms and data structures
  • Modules and functions
  • Object orientation in Python
  • Advanced language constructs
  • Logging, unit tests, error handling
  • Database interaction
  • Web programming
  • Data visualization
  • Parallelization
  • Application-oriented Libraries
  • PyTorch
  • AI-Assisted Coding (e.g., using ChatGPT for programming)

In the exercise, students will work on hands-on programming projects (teamwork is possible) that address complex tasks. Presenting the intermediate and final results of the projects is mandatory.

Learning Objectives

After successfully completing the course, students should be able to complete the following tasks using Python:

  • Access data from various sources, including local files and databases;
  • Implement algorithms for evaluating data
  • Know and use programming libraries for various advanced data processing tasks, including machine learning;
  • Know and use programming libraries for creating visualizations.

Requirements

  • None

Exam

  • Applied research project (includes teaser, intermediate, and final presentation)
  • Pass / non-pass grade

Schedule

Type Day Time Periodicity Room Dates
lecture Wed 10:15 – 11:45 weekly HG 1.201 (Alfred-Hessel-Saal) every winter semester
exercise Wed 12:00 – 13:30