Lecture: 2.01.021 Vorlesung - Parallele Programmierung mit Java-Threads - Details

Lecture: 2.01.021 Vorlesung - Parallele Programmierung mit Java-Threads - Details

You are not logged into Stud.IP.

General information

Course name Lecture: 2.01.021 Vorlesung - Parallele Programmierung mit Java-Threads
Subtitle inf021
Course number 2.01.021
Semester SoSe2022
Current number of participants 6
expected number of participants 12
Home institute Department of Computing Science
Courses type Lecture in category Teaching
First date Monday, 25.04.2022 08:15 - 09:45, Room: V03 3-A309
Type/Form VL
Learning organisation Ziele

Die Veranstaltung „Parallele Programmierung mit Java-Threads“ ist eine Spezialveranstaltung im Modul „Fortgeschrittene Java-Technologien“. Die Veranstaltung findet im SoSe 2022 zum zweiten Mal statt. Ziel der Veranstaltung ist es, Konzepte der parallelen Programmierung im Allgemeinen und der parallelen Programmierung mit Java-Threads im Speziellen kennenzulernen und selbst praktisch zu beherrschen. Der parallelen Programmierung kommt in nahezu allen Anwendungsgebieten eine immer größere Bedeutung zu, insbesondere zur Steigerung der Performance entwickelter Programme bzw. Softwaresysteme.

Hinweis

Ziel des Moduls „Fortgeschrittene Java-Technologien“ (inf021) ist es, den Studierenden fortgeschrittene Konzepte der Programmierung mit Java zu vermitteln. Im Modul inf021 werden mehrere Veranstaltungen angeboten:
• Java-Praktikum (jedes Wintersemester): In dieser Veranstaltung werden die einzelnen Bereiche der JDK-Klassenbibliothek vorgestellt. Die Studierenden entwickeln durch Einsatz der entsprechenden Technologien/Klassen inkrementell ein großes Programm.
• informatiCup (jedes Wintersemester): Teilnahme an einem jährlich stattfindendem Programmierwettbewerb der Gesellschaft für Informatik
• Parallele Programmierung mit Java-Threads (jedes Sommersemester)

Da jedes Modul nur einmal belegt werden kann, müssen sich die Studierenden entscheiden, welche der drei Veranstaltungen sie besuchen möchten: Entweder Java-Praktikum oder informatiCup oder parallele Programmierung.

Voraussetzungen

Die Teilnehmer sollten die Module PDA und OMP erfolgreich absolviert haben. Es können maximal 15 Studierende an der Veranstaltung teilnehmen.

Anmeldung/Bewerbung

Wer an der Veranstaltung teilnehmen möchte, muss sich bis zum 10.04.2022 im StudIP in den beiden Veranstaltungen „2.01.021 Vorlesung - Parallele Programmierung mit Java-Threads (SoSe2022)“ und „2.01.021a Projekt - Parallele Programmierung mit Java-Threads (SoSe2022)“ anmelden und mir per Nachricht oder E-Mail eine kurze Bewerbung (Name, Studiengang, Fachsemester, Motivation für Teilnahme, Wünsche, …) zukommen lassen.

Sollten sich mehr als 15 Studierende anmelden, entscheidet die Bewerbung bzw. ggfls. das Los.

Zeit und Ort

Formal besteht die Veranstaltung aus einer 2-stündigen Vorlesung und einem 2-stündigen Projekt/Übung. Praktisch findet die Veranstaltung allerdings als 4-stündige Veranstaltung ohne formale Trennung in zwei Teile statt. Die Teilnehmer und der Dozent treffen sich während der Veranstaltungszeit des SoSe 2022 jeden Montag von 8.15 – max. 11.45 Uhr im Raum A06 4-418 (in Präsenz). In Absprache mit den Studierenden kann es jedoch sein, dass einzelne Veranstaltungen auch mal online im BigBlueButton-Meeting der zugehörigen StudIP-Veranstaltung stattfinden. Im Laufe jeder Woche müssen selbstständig bestimmte Aufgaben bearbeitet werden. Der reale Arbeitsaufwand für die Veranstaltung wird sich (wie für eine 4 SWS-Veranstaltung üblich) auf ca. 8-10 Stunden pro Woche belaufen (inkl. der 4 Stunden am Montag). Eine regelmäßige Teilnahme an den wöchentlichen Treffen wird ausdrücklich erwartet!

Ablauf

Jeden Montag stehen ein (oder mehrere) neue Themen auf dem Programm (siehe Inhalte). Der Dozent stellt die Grundlagen dieser Themen jeweils ausführlich inklusive vieler praktischer Demonstrationen vor. Nachfragen und Diskussionen sind dabei ausdrücklich erwünscht.

Anschließend (zum Teil auch zwischendurch) werden praktische Programmieraufgaben gestellt, die dann gemeinsam oder in Eigenleistung (allein oder Gruppen) bearbeitet werden. Der Dozent ist während der Veranstaltungszeit online verfügbar und hilft bei Nachfragen und Problemen gerne weiter. In der Regel werden nicht alle Aufgaben während der Veranstaltung gelöst werden können, sondern müssen dann in der entsprechenden Woche von den Teilnehmern zuhause weiterbearbeitet werden.

Zu Beginn der Veranstaltung der darauffolgenden Woche stellen jeweils einzelne Teilnehmer des Praktikums ihre erarbeiteten Lösungen den anderen vor und es wird über die Lösungen diskutiert.

Inhalte

Folgende Inhalte sind u.a. geplant:

• Grundlagen von Threads
• Synchronisation
• Semaphore
• Locks
• Fehlverhalten
• Microbenchmarks
• Java Memory Modell
• Atomics
• Queues
• Collections
• Rendezvousklassen
• Threadpools
• Fork-Join-Framework
• Parallele Streams

Prüfung und Bewertung

Prüfungsform des Moduls inf021 ist „fachpraktische Übungen“ („Eine fachpraktische Übung besteht aus einer Reihe von praktischen Versuchen, Übungsaufgaben oder Programmieraufgaben mit schriftlichen Ausarbeitungen (Versuchsprotokolle). Fachpraktische Übungen können eine mündliche Kurzprüfung oder eine Projektpräsentation beinhalten.“).

Jeden Montag wird ein Aufgabenblatt mit Programmieraufgaben ausgegeben. Dieses Aufgabenblatt wird am Montag während der Veranstaltungszeit und in der jeweiligen Woche bearbeitet. Wöchentlich sind von jedem Teilnehmer bis jeweils sonntags abends (23.59 Uhr) die Lösungen abzugeben. Die Abgabe erfolgt durch Hochladen eines entsprechenden Eclipse-Projektes (oder IntelliJ-Projektes mit Eclipse-Export) in einen entsprechenden Hausaufgabenordner in der zugehörigen StudIP-Veranstaltung.

Am Beginn der Veranstaltung jeden Montag werden gemeinsam die Aufgaben besprochen. Dabei stellen einzelne Studierende ihre Lösungen vor und wir diskutieren darüber. Im Laufe der Woche korrigiert der Dozent die Abgaben der einzelnen Studierenden und schickt ihnen Kommentare und eine Bewertung per E-Mail zu.

Anmeldeschluss zur Prüfung beim Prüfungsamt (via StudIP) ist der 13.06.2022!

In die Bewertung des Moduls fließen folgende Aspekte ein:

• Vollständige Bearbeitung aller Aufgaben
• Korrektheit und Qualität der Implementierung
• Mitarbeit in der Veranstaltung (Vorstellen eigener Lösungen und Diskussion)
• Mündliche Kurzprüfung in der letzten Veranstaltungswoche bzw. der darauffolgenden Woche
Lehrsprache deutsch
Info-Link https://uol.de/medieninformatik/lehre/lehrveranstaltungen/parallele-programmierung-mit-java-threads

Rooms and times

V03 3-A309
Monday: 08:15 - 09:45, weekly (12x)

Module assignments

Admission settings

The course is part of admission "Anmeldung gesperrt (global)".
Erzeugt durch den Stud.IP-Support
The following rules apply for the admission:
  • Admission locked.