in Studies, Sweden, Travel

ERASMUS Bericht

Nachdem ich nun mittlerweile wieder zurück in Deutschland bin, ist es Zeit für den obligatorischen ERASMUS-Bericht. Anbei findet ihr das PDF für meine Hochschule, aber auch ein paar persönliche Meinungen von mir zu den Vorlesungen die besucht habe. Ich hoffe es hilft euch.

TDDB68 Concurrent programming and Operating Systems (Bachelor)

Diese Vorlesung war meine einzige Bachelor-Vorlesung. Sie wird für die Vorlesung “Multicore and GPU Programming” als Voraussetzung angegeben (was aber für ERASMUS-Studenten formell egal ist). Jedoch wollte ich etwas ins Thema und in C-Programmierung reinkommen.
Die Vorlesung ist fundiert und orientiert sich stark am Buch “Operating System Concepts” von Silberschatz. Ich empfehle das Buch sehr, man kann es wirklich günstig gebraucht kaufen.
Das wirklich interessante an der Vorlesung sind aber die Labs. Hierbei arbeitet man an Pintos, einem kleinen Operating System, dass in einer VM läuft. Pintos ist sehr einfach und umfasst nur ein paar tausend Zeilen C-Code. In den Labs wird dieses System erweitert. Man muss beispielsweise System Calls implementieren oder etwas im Prozess-Scheduler verbessern.
Die Labs sind gut dokumentiert und machen Spaß. Am Anfang braucht man etwas Zeit um sich zurecht zu finden, aber ich finde es lohnt sich. Wer die Labs rechtzeitig besteht bekommt außerdem Bonus-Punkte für die Klausur. Man sollte aber definitiv programmieren können und etwas C kennen.

TDDB84 Design Patterns (Master)

Diese Vorlesung befasst sich relativ klassisch mit dem Thema Design Patterns. Alles orientiert sich demnach auch am Buch “Design Patterns” der GoF. Die Vorlesung nimmt jedes Pattern einzeln durch, bespricht Vor- und Nachteile, sowie Beispiele. In den Labs werden einige ausgewählte Pattern mit kleinen Beispielen in Java programmiert.
Die Vorlesung hat Spaß gemacht und war außerdem recht einfach. Die Labs und die Klausur gehen locker von der Hand. Der Prof ist zudem ein Phänomen. Ihr werdet gut unterhalten und bekommt sicher einige Geschichten aus dem Silicon Valley oder der NASA zuhören.

TDDB44 Compiler Construction (Master)

Bei dieser Vorlesung bin ich etwas zwiegespalten. Die Vorlesung an sich ist relativ schlecht. Es wird sich am Buch “Compilers: Principles, Techniques, and Tools” von Alfred V. Aho orientiert und das Thema Stück für Stück besprochen. Automatentheorie, Regex, Sprachen, Alphabete, Parser… blabla. Alles ist relativ banal, aber gleichzeitig schlecht erklärt. Über den theoretischen Grundbau kommt die Vorlesung nicht hinaus. Wer sich für Konzepte wie Objektorientierung, Garbage Collection, Optimierung oder ähnliches interessiert ist hier falsch.
Auf der anderen Seite sind aber die Labs. Diese sind unglaublich gut dokumentiert (mit ca. 130 Seiten) und machen durchweg Spaß. Es waren die besten Labs die ich bisher in meinem Studium hatte. Die Aufgabenstellung ist klar, die Lösung meist schwierig, aber genau so, dass man selbst dahinter kommt und nicht entnervt aufgibt.
Wer sich für das Thema interessiert sollte es machen, denn der theoretische Teil wird wohl überall gleich sein. Wer nur mal reinschnuppern möchte wird enttäuscht sein.

TDDD56 Multicore and GPU Programming (Master)

Die Vorlesung greift ein sehr aktuelles Thema der Informatik auf – allerdings nur in einer Hälfte, denn die Vorlesung ist in zwei Blöcke geteilt. Der erste Block beschäftigt sich mit einfacher Thread-Programmierung. Es geht um Synchronisierung, Kommunikation und z.B. Non-Blocking-Data-Structures. Alles ist relativ simple, wäre es nicht in C++ erklärt.
Die zweite Hälfte beschäftigt sich dann mit GPU-Programmierung. Das Thema ist gut erklärt und spannend, aber leider etwas kurz. Alles in allem spricht man ca. 3 Wochen wirklich über GPUs. Dafür könnte man sich auch einfach ein paar Tutorials durchlesen. Aber, die Vorlesung ist gut gemacht, was vor allem an den zwei Professoren liegt.
Die Labs sind hingegen schlicht nervig. Die Code-Vorlagen sind riesig (für winzige Beispiele) und voller Fehler. Außerdem gibt es zisch Skripte um Grafiken zu generieren die garantiert nicht funktionieren. Die Aufgaben sind teils nicht eindeutig beschrieben und es macht wirklich keinen Spaß.
Ich war enttäuscht von dieser Vorlesung, bin aber auf der anderen Seite ganz froh mal etwas über GPU-Programmierung gehört zu haben. Schade dass man nicht mehr daraus gemacht hat.

Swedish for Foreign Students (egal)

Klassiker. Schwedisch in Schweden zu lernen gehört einfach dazu. Mein Tipp ist aber einen Anfängerkurs schon vorab in Deutschland zu machen. Schwedisch ist zwar einfach (gerade für Deutsche), aber so einfach nun auch wieder nicht. Wer hingegen schon etwas Schwedisch kann, kann hier ganz entspannt mitschwimmen und seine Kenntnisse noch ein wenig verbessern. Andernfalls werdet ihr sicher einige Nachmittage Verben und Substantive mit “a” und “ar” und “en” versehen bis ihr nicht mehr wisst was Singular und Plural ist.
Der Kurs macht aber Spaß und ihr lernt viele andere Austauschstudenten kennen. Ein Muss.

Download: ERASMUS Bericht.pdf

Ich hoffe euch helfen meine Einschätzungen und Kommentare ein wenig weiter. Ich bin insgesamt sehr zufrieden mit meinem Studium gewesen und – bei aller Kritik – auch mit meinen Vorlesungen.

Beste Grüße,
Thomas Uhrig