Courses

We offer the following courses on a regular basis:

 

System and Parallel Programming (Lecture, Bachelor)

  • Introduction to C/C++
  • Parallel architectures
  • Foundations & analysis of parallel performance
  • Parallel algorithms & design patterns
  • Shared-memory programming with OpenMP
  • Distributed-memory programming with MPI
  • GPU programming with CUDA

 

Multithreading in C++ (Lecture, Master)

  • Shared-memory architectures
  • Thread management
  • Data sharing between threads
  • Synchronization
  • Lock-based concurrent data structures
  • Testing and debugging

 

Advanced Multithreading in C++ (Lecture, Master)

  • Memory model
  • Atomic operations
  • Lock-free concurrent data structures
  • Advanced thread management

 

Parallel Programming Technology (Lab, Master)

  • Smaller scientific projects
  • Drawn from one of our major research topics
  • Development of practical skills and research competence
  • Working in small teams

 

Parallel Computing (Seminar, Master)

  • Current and foundational topics in parallel computing
  • Development of presentation and writing skills

 

Schedule

Summer Semester 2021

  • Multithreading in C++ (virtual, livestream with recording)
  • Laboratory Parallel Programming Technology (virtual, seminar presentations as livestream)
  • Seminar Parallel Computing (virtual, project presentations as livestream)

 

Winter Semester 2021/2022

  • Advanced Multithreading in C++ (virtual, livestream with recording)
  • Laboratory Parallel Programming Technology (virtual, seminar presentations as livestream)
  • Seminar Parallel Computing (virtual, project presentations as livestream)