Einführung in die Systemprogrammierung

Moderne Programmiersprachen wie Java, Haskell, Python, oder Scala machen es Programmierern einfach, mächtige Algorithmen und Systeme in kürzester Zeit in Programmen zu implementieren. Allerdings ist es nicht immer einfach, diese Programme effizient zu gestalten: kleinste Detailänderungen an einer Implementierung können dramatische Auswirkungen auf die Laufzeit oder den Speicherverbrauch haben.

In dieser Veranstaltung betrachten wir daher die Ursprünge, aus denen diese Sprachen erwachsen sind, um zu verstehen, warum die Fundamente dieser Sprachen (die sogenannten Laufzeitsysteme) ihre heutige Form angenommen haben. Dabei untersuchen wir zunächst die Abläufe im Inneren des Prozessors und wenden uns dann den Abstraktionsschichten zu, die sich im Laufe der Zeit als Substrate von Forschung und Systemdesign in Computersystemen angesammelt haben.

Ziel der Veranstaltungen ist es, den Teilnehmern ein Verständnis für die inneren Abläufe im Rechner zu geben und eine Intuition dafür zu vermitteln, was alles passiert oder passieren kann, wenn ein Programm eine bestimmte Aktion ausführt.

Neuigkeiten

Administrativa

Dozent:Prof. Dr. Christoph Reichenbach (reichenbach at cs.uni-frankfurt.de)
Büro:210a, Robert-Mayer-Str. 10
Sprechstunden:Donnerstags, 12:00–14:00 (nicht am 17. April) oder nach Vereinbarung
Vorlesung:Hörsaal 12/Jügelhaus, Dienstags 14:00 (c.t.)–16:00
Klausur:Hörsaal V am 22.07, 10:00-12:00

Übungen

Die Übungen beginnen in der 2. Vorlesungswoche (23. April). Die Übungen werden gemischt mit Übungszetteln und Programmieraufgaben durchgeführt. Für die Programmieraufgaben benötigen Sie Internet- und RBI-Zugang.
GruppeTagUhrzeitRäumeTutor
1Mi10:00–12:00Fischerräume 23 & 25Ronald Rempel
2Mi12:00–14:00Fischerräume 23 & 25Patrick Bonack

Klausur

Bonuspunkte für Klausur

Zusätzlich zu den Übungen gibt es zwei Testate, für die Sie Bonuspunkte für die Klausur erhalten können (bis zu 10% insgesamt). Die Testate sind jeweils Programmieraufgaben, die Sie alleine oder mit einem Partner zusammen abgeben können. Sie haben jeweils 4 Wochen, um die Testate zu bearbeiten.

Literatur

Die Veranstaltung baut auf folgenden Büchern auf: