jochen.rethmann(at)hsnr.de
Letzte Änderung: 25.09.2025
Bachelor Informatik
5. Semester
| Vorkenntnisse: | Grundlagen der Programmierung in C++
bspw. aus dem Modul PE2 Grundlagen über formale Sprachen bspw. aus dem Modul THI |
| Seminar + Projekt: | Montag 14:00 - 17:30 Uhr, Raum F205 |
| Prüfungsform: | Präsentation bzw. Seminarvortrag und schriftlicher Projektbericht bzw. Ausarbeitung zum Seminar |
Das erste Treffen findet am Montag, 22.9.2025 statt.
Organisation: In den ersten drei Wochen findet zu der oben angegebenen Zeit nur das Seminar statt, in den verbleibenden 12 Wochen soll zu der oben genannten Zeit und zu Hause an der Umsetzung des Projekts gearbeitet werden.
Das Seminar dient zur Einarbeitung in das Themengebiet. Es sollen Konzepte wie die Analysephase (bestehend aus lexikalischer, syntaktischer und semantischer Analyse) sowie die Synthesephase (bestehend aus Code-Generierung und -Optimierung) mit anschließendem Linken der einzelnen Module erarbeitet und vorgestellt werden. Sie sollen die Schritte von der textuellen Beschreibung einer compilierten (nicht interpretierten) Programmiersprache, der Übersetzung eines Programms sowie die Ausführung erläutern können und die Komponenten der entsprechenden Toolchain und deren Funktion skizzieren können. Im Seminar bearbeiten Sie alleine oder als Team von zwei Studierenden ein Thema.
Im Projekt sollen Sie einen Prototypen (Proof-of-Concept) für eine Toolchain einer ausgewählten Programmiersprache für die RISC-V-ISA umsetzen. Sie sollen die Übersetzung der selbst entworfenen Programmiersprache und die Ausführung des übersetzten Codes auf dem ESP32C3 demonstrieren und diskutieren. Im Projekt arbeiten Sie in Teams von zwei bis acht Studierenden.
Prüfungsmodalitäten: Im Semester muss im Rahmen des Seminars pro Person ein Thema in einem längeren Vortrag oder mehrere Themen in mehreren kurzen Vorträgen vorgestellt werden, um den anderen Studierenden die entsprechenden Inhalte zu vermitteln. In den Vorträgen muss die Relevanz der vorgestellten Themen für das Projekt klar ersichtlich sein. Zusätzlich muss der eigene Beitrag am Projekt am Ende des Semesters im Rahmen der Projektvorstellung präsentiert und diskutiert werden. Um das jeweilige Testat (Seminar bzw. Projekt) zu erhalten, muss an den Pflichtterminen aktiv teilgenommen und zum allgemeinen Ziel beigetragen werden. Es muss aktiv am Projekt mitgearbeitet und das Projektergebnis am Ende des Semesters demonstriert werden, um den eigenen Beitrag zu diskutieren.
Arbeitsaufwand: Sowohl das Seminar als auch das Projekt sind mit zwei Leistungspunkten (CP) in der Prüfungsordnung angegeben. Insgesamt werden also vier CP erworben, wenn das kombinierte Modul erfolgreich absolviert wird. Laut der Verordnung zur Regelung des Näheren der Studienakkreditierung in Nordrhein-Westfalen (Studienakkreditierungsverordnung - StudakVO) vom 25.01.2018, Paragraph 8 Leistungspunktesystem, Satz (1) entspricht ein Leistungspunkt einer Gesamtarbeitsleistung von 25 bis höchstens 30 Zeitstunden. Insgesamt ergibt sich also ein Arbeitsaufwand von 100 Stunden im Semester. Diese verteilen sich bei 15 Wochen Vorlesungszeit im Semester auf sechs Stunden pro Woche plus einmalig zehn Stunden zum Erstellen des Vortrags und der Seminarausarbeitung.
Die Hauptaufgabe eines Compilers ist es, einen in einer höheren Programmiersprache (wie C++, Java oder Rust) geschriebenen Quellcode in eine maschinennahe Sprache (meist Binärcode oder Maschinensprache) umzuwandeln. Das Ziel ist es, dass der Computer die Anweisungen direkt ausführen kann.
Phasen des Compile-Vorgangs
Im Gegensatz zu einem Interpreter (der den Code Zeile für Zeile während der Ausführung übersetzt), übersetzt der Compiler das gesamte Programm im Voraus. Dadurch ist die Ausführung des Programms in der Regel deutlich schneller.
Compilerbau sollte als Übersetzungspipeline begriffen werden. Die Themen beschreiben die logische Abfolge, wie aus Text ausführbarer Code wird. Jedes Seminarthema sollte von jeweils ein oder zwei Studierenden bearbeitet werden. Die Ausarbeitung der Themen, die allen Seminarteilnehmern zur Verfügung gestellt wird, muss so exakt sein, dass eine Definition der Schnittstellen und eine Implementierung möglich ist. Sie wird der Projekt-Dokumentation hinzugefügt. Mögliche Themen:
An diesem kombinierten Projekt und Seminar sollten nicht mehr als 20 Studierende teilnehmen.
zurück zur Startseite