Current Semester (2026W)

Scientific Programming with Python (191.125, 2.0 ECTS)

  • Introduction to the Python programming language
  • The SciPy and NumPy ecosystem
  • Data processing and plotting (Matplotlib)
  • Code testing
  • Reproducible and interactive data processing with IPython/Jupyter
  • Introduction to solving optimization problems with Python (e.g.,
  • SciPy, PuLP)
  • Parallel processing in Python
  • Interfaces to other programming languages (e.g., Julia)

Scientific Programming with Python in TISS, opens an external URL in a new window

Seminar for Master Students in Software Engineering (Distributed, High-Performance, and Automated Systems, 180.011, 1.5 ECTS)

After successful completion of the course, students are able to prepare a scientifically sound Master’s thesis proposal in the field of Distributed, High-Performance, and Automated Systems, including clear objectives, methodology, and a feasible research plan.

Subject of course

  • Developing a thesis proposal
  • Proposal writing
  • Feedback and revision
  • Proposal presentation

Seminar for Master Students in Software Engineering in TISS, opens an external URL in a new window

Further Courses

Lectures offered in other semesters:

Parallel Computing (184.710, 6 ECTS)

Motivation, goals of parallel computing. Parallel algorithms, architectures, programming models, performance measurement and analysis. Problems in parallel algorithms. Introduction to MPI (Message-Passing interface), hreads and OpenMP. Task-parallel models and interfaces (Cilk). Other languages for multi-core processors.

Parallel Computing in TISS, opens an external URL in a new window

Scientific Research and Writing (193.052, 3 ECTS)

Introduction to science and the operation of the scientific community; based on a self-chosen or a given topic students practice developing a research question, performing a literature search, basic skills of scientific writing, and giving a scientific presentation

Scientific-Reasearch-And-Writing in TISS, opens an external URL in a new window

Competitive Programming for Programming Contests (191.126, 3 ECTS)

  • Programmierprobleme schnell und detailliert analysieren
  • notwendige, effiziente Algorithmen zum Lösen von Programmieraufgaben kennenlernen
  • selbstständig effiziente Programmiertechniken beim Erstellen einer korrekten Lösung anwenden.

Competitive Programming for Programming Contests TISS, opens an external URL in a new window

Advanced Multiprocessor Programming (184.726, 4.5 ECTS)

Memory models, synchronization problems, operations and primitives, atomic operations, consensus, impossibility and universality results, locks, lock- and wait-free data structures (lists, stacks, queues,
hashtables, search structures, ...), work-stealing. Practical implementation project (C/C++ with pthreads, Java, ...)

Advanced-Multiprocessor-Programming in TISS, opens an external URL in a new window

Parallel Algorithms (184.727, 3 ECTS)

The course gives an introduction into the basics of scheduling theory, but will also highlight practical aspects when solving scheduling problems. The course introduces basic concepts and notation used in scheduling research. Then, selected topics are discussed in more detail, such as: shop scheduling, scheduling with parallel tasks, online scheduling, approximation algorithms in scheduling, divisible load scheduling, simulations and scheduling.

Parallel Algorithmns in TISS, opens an external URL in a new window