IS 557: Introduction to Scientific Programming with Python

This course introduces students to principles of scientific programming with the Python programming language. Aside from more introductory concepts, more advanced programming concepts and important scientific libraries essential for data analysis and research are introduced.

Learning outcomes
On completion of the course students should be familiar with the Python programming language and able to solve more scientific and complex problems in Python. This covers the application of scientific libraries, some machine learning techniques, and the collection of data with web mining.

  • Handling of scientific programming projects
  • Independent choice of data-structures and methods to solve a given problem
  • Knowledge about the different scientific libraries and their advantages
Data preprocessing, analysis and visualization

Necessary prerequisites

Recommended prerequisites
Basic knowledge about programming languages, statistics, and machine learning.

Forms of teaching and learningContact hoursIndependent study time
Lecture with intergrated exercise4 SWS17 SWS
ECTS credits6
Graded yes
Form of assessmentWritten exam, between 60 & 90 minutes
Restricted admissionyes
Further information
Performing lecturer
Prof. Dr. Markus Strohmaier
M. Strohmaier & Ivan Smirnov
Frequency of offeringSpring semester & fall semester
Duration of module 1 semester
Range of applicationM.Sc. MMM, M.Sc. Bus. Edu., M.Sc. Econ., MMDS
Preliminary course workSuccessful completion of the corresponding exercises
Program-specific Competency GoalsCG 2
LiteratureBeispielsweise: Introduction to Machine Learning with Python: A Guide for Data Scientists, Sarah Guido, O’Reilly
Course outlineThis course starts with the fundamental syntax and concepts of the Python programming language. Afterwards, we study selected state-of-the-art libraries for scientific applications, including data pre-processing and exploratory analysis. While we provide theoretical background where necessary, we strongly focus on the implementations to solve practical problems.