Summer semester 2021
The content on this page was translated automatically.
Due to the corona pandemic, all courses in the summer semester 2021 will take place digitally until further notice (as of 27.04.2021).
The entire organization of the courses takes place via the learning platform Moodle. If you would like to participate in one of the courses listed below, please register for the corresponding Moodle courses, you will find the corresponding link directly at the respective course.
Further information from the University of Kassel on dealing with the corona virus can be found here.
Students learn about basic abstract data types in computer science, efficient data structures for their implementation and efficient graph and optimization algorithms. They learn how to implement such algorithms and data structures in Java and therefore first familiarize themselves with the language and its object-oriented concepts. Students deepen their skills in asymptotic runtime analysis and acquire further skills in the evaluation of algorithms.
In the accompanying exercises, they apply what they have learned to the design and implementation of their own algorithms and data structures, among other things.
Participants
Students in the Bachelor of Computer Science and others.
Dates
- Lecture
- Monday, from 14:15-15:45, Room 1603
Lecturer: Prof. Dr. Claudia Fohry
The first lecture will take place on 12.04.2021.
- Small group exercises
- Tuesday, 12:15-13:45, Room -1607
Supervisor: M.Sc. Lukas Reitz
The first exercise will take place on 13.04.2021 - Tuesday, 16:00-17:30, Room 1114
Supervisor: M.Sc. Lukas Reitz
The first exercise will take place on 13.04.2021 - Wednesday, 10:00-11:30, Room -1607
Supervisor: RĂ¼diger Nather
The first exercise will take place on 14.04.2021
Scope
Bachelor 4 SWS (6 CP)
Prof. Dr. Claudia Fohry and Mr. M.Sc. Lukas Reitz will be happy to provide you with further information.
Further information on the course can be found in Moodle.
The course initially covers the established programming systems OpenMP and MPI in greater depth than in the Bachelor's program. The focus will be on advanced language constructs such as OpenMP tasks, MPI communicators and hybrid MPI/OpenMP programming. We discuss the use of the constructs using example applications. The focus is on the design goals of performance and scalability. In addition, some more complex synchronization problems will be discussed.
In the second part of the course, current parallel programming systems will be presented and compared with established systems. Typical approaches of these systems are Partitioned Global Address Space (PGAS) and Task-based Parallel Programming (TaPP). Individual languages are learned and tested, e.g. Chapel, TBB, HPX and Charm++. We also discuss cross-cutting topics such as design patterns, fault tolerance and elasticity.
Previous knowledge of parallel processing 1 and 2 is an advantage, but not essential. The course is divided into a lecture and a practical part. The practical part includes the development of programs with the programming systems covered. You will typically work in teams of two during the internship. The work placement, together with a final discussion, forms the basis for the assessment of the course.
Participants:
Students in the Master's degree program in Computer Science according to PO 2010 or 2018. For students according to PO 2018, the course can be included in the compulsory elective area as well as in the specializations Software Development (as a compulsory course) and Environmental Informatics (as a compulsory elective course).
Course times:
- Wednesday, 12:00-13:30, Room 2307A
- Thursday, 08:30-10:00, Room 2307A
The first course will take place on Wednesday, 14.04.2021.
Scope
Master 4 SWS (6 CP)
Lecturer:
Prof. Dr. Claudia Fohry
Further information on the course can be found in Moodle.
The course deals with a selection of parallel algorithms for different problems and architecture classes. First, we will learn basic design techniques and runtime estimation techniques using the Parallel Random Access Machine model. We will then look at algorithms for multi-core processors and clusters that can be implemented using OpenMP or MPI. Depending on the prior knowledge and interest of the participants, the implementation is also part of the course. The algorithms considered range from regular algorithms for matrix calculations to parallel optimization methods and parallel graph algorithms. Finally, algorithms for special scenarios may be covered: fault-tolerant parallel algorithms and efficient algorithms for memory hierarchies.
The course is assessed on the basis of a project with a final examination. The focus of the project is the development of efficient algorithms. These are analyzed with regard to their runtime and, if the participants have the relevant prior knowledge, implemented and evaluated experimentally.
The course complements the courses "Introduction to Parallel Processing" (Bachelor) and "Parallel Programming" (Master), but can also be taken without prior knowledge of parallel programming.
Participants
Students in the Master of Computer Science
Course times:
- Monday, 12:00-13:30, Room 2307A
- Tuesday, 12:00-13:30, Room 2307A
The first event will take place on Monday, 12.04.2021.
Scope
Master 4 SWS (6 CP)
Lecturer:
Prof. Dr. Claudia Fohry
Further information on the course can be found in Moodle.