TU Wien:Programmiersprachen VU (Puntigam)
- Programmiersprachen VU (Puntigam) (TU Wien, 5 Materialien)
- Programmiersprachen und -konzepte VU (Benkner) (Uni Wien, 0 Materialien)
- Programmiersprachen VL (Puntigam) (TU Wien, veraltet, 9 Materialien)
Daten[Bearbeiten | Quelltext bearbeiten]
Vortragende | Franz Puntigam |
---|---|
ECTS | 3,0 |
Alias | Programming Languages (en) |
Letzte Abhaltung | 2024S |
Sprache | Deutsch |
Mattermost | programmiersprachen • Register • Mattermost-Infos |
Links | tiss:185208, eLearning |
Inhalt[Bearbeiten | Quelltext bearbeiten]
In der Vorlesung werden Konzepte von programmiersprachen besprochen.
Siehe: VL Programmiersprachen (basically the same, nur dass es damals als VL und nicht als VU gebranded war)
Ablauf[Bearbeiten | Quelltext bearbeiten]
2022S:
- 6 Vorlesunen á 100 Minuten.
- 3 Übungen in Gruppen von 2-4 Personen
- Mündliche Prüfung
Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
- Kenntnisse aus der Programmierung - besser in unterschiedlichen Paradigmen (also OOP und FP)
Vortrag[Bearbeiten | Quelltext bearbeiten]
2022S:
Es gab 6 Vorlesungen á 100 Minuten. Der Vortrag war in meinen Augen recht angenehm und gut zu folgen. Es konnten während der VO Fragen gestellt werden und diese wurden umfangreich beantwortet.
Die Vorlesungen behandeln folgende Themen:
- 1. VO: Übersicht, Terminologie, Syntax, Semantik, Paradigmen
- 2. VO: Implementierung einer Programmiersprache in einem ASSEMBLER
- 3. VO: Datentypen
- 4. VO: Control Structures, Exceptions und Concurrency
- 5. VO: OOP-Sprachen
- 6. VO: Funktionale Sprachen
Der Vorlesungsstoff basiert auf dem Buch Carlo Ghezzi, Mehdi Jazayeri. Programming Language Concepts. 3rd edition, John Wiley & Sons, 1998, ISBN 0-471-10426-4
Übungen[Bearbeiten | Quelltext bearbeiten]
2022S: Die Übung wurde als Team von 2-4 Personen durchgeführt (wobei gesagt wurde, dass größere Teams lieber gesehen werden). Die Übungen hatten den folgenden Inhalt:
- UE 1: Implementieren einer Stackbasierten Sprache (Taschenrechner) und Implementieren von vorgegebene Programmen in dieser Sprache
- UE 2: Implementieren eines Interpreters für eine (selbst-definierte) funktionale Sprache in einer dynamisch typisierten Sprache (z.B. Ruby, Python)
- UE 3: Implementieren eines "syntax-aware" Editor für die Programmiersprache aus UE 2.
Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]
also er hat gefragt:
- Unterschiedliche Arten der Parameterübergabe... wie kann man ohne die Implementierung zu sehen feststellen ob etwas call by reference oder call by value result. Call by name erklären; was ist fp(d)? was ein static Link?
- Monitor erklären in Ada und Java; protected type (Ada) und syncronized (Java) erklären
- C++ Was gibt das an wenn bei einer Klasse ein Doppelpunkt mit einem Typen dahinter steht.
- C++ was ist eine pure virtual function
andere Prüfung:
- Pure functions in C++
- Ada Rendeavouz
- Lambda Kalkül (Alphakonversion, Betareduktion)
- Wann ist Typinferenz in ML nicht ausreichend?
andere Prüfung:
- obligatory "Was haben wir dieses Semester gemacht?"
- Activation Records (warum kein static link in Java)
- Monitor, Protected Type (ist ziemlich auf wait und notfiyAll eingegangen)
- Code Ausschnitte erklären
2022S: Die Prüfung findet mündlich bei Prof. Puntigam im Büro statt. Hierbei nimmt Prof. Puntigam das Buch, auf dem die VO basiert, aus seinem Schrank, blättert zu einer Seite und fragt die in den Beispielen vorkommenden Konzepte. (z.B. er öffnet die Seite von Smalltalk und fragt, was denn bei den Beispielen passiert - Wer sendet eine Nachricht an wen?, ...).
Daher ist es sehr ratsam, sich zuvor das Buch durchzulesen. Dieses kann in der Bibliothek ausgeborgt werden.
Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]
Für 2 individuelle mündliche Prüfungstermine, basically instant.
- 2022S: Am gleichen Tag wie die Prüfung.
Zeitaufwand[Bearbeiten | Quelltext bearbeiten]
2022S: In meinen Augen wirken die Programmieraufgaben auf den ersten Blick mehr, als sie dann sind, vor allem im Vergleich zu FOOP. Ich würde sagen, dass der Aufwand unter den 3 ECTS liegt, sodass man mit FOOP und PS gemeinsam auf einen Aufwand von 6 ECTS kommt.
Unterlagen[Bearbeiten | Quelltext bearbeiten]
noch offen
Tipps[Bearbeiten | Quelltext bearbeiten]
- Das Buch lesen, da die Beispiele aus dem Buch abgefragt werden
- 2022S: Diese LVA war mit FOOP (185.211) zeitlich abgestimmt. Daher ist es ratsam, als Gruppe beide LVAs zusammen im gleichen Semester zu machen.
Highlights / Lob[Bearbeiten | Quelltext bearbeiten]
noch offen
Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]
noch offen