TU Wien:Programmierparadigmen VU (Puntigam)
Daten[Bearbeiten | Quelltext bearbeiten]
Vortragende | Andreas Krall• Franz Puntigam |
---|---|
ECTS | 6,0 |
Alias | Programming Paradigms (en) |
Letzte Abhaltung | 2024W |
Sprache | Deutsch |
Mattermost | programmierparadigmen • Register • Mattermost-Infos |
Links | tiss:194023, eLearning |
Inhalt[Bearbeiten | Quelltext bearbeiten]
Folgende Themen wurden teilweise sehr intensiv behandelt (bspw. Zusicherungen, Generizität), und teilweise nur kurz angeschnitten (bspw. funktionelle & parallele Programmierung) um einen groben Überblick zu gewähren:
- Lambda Kalkül
- Programmstruktur
- Zusicherungen
- Objektorientierte Programmierung
- Generizität
- Aspektorientierte Programmierung
- Parallele & Nebenläufige Programmierung
- Funktionale Programmierung
- Design Patterns
Ablauf[Bearbeiten | Quelltext bearbeiten]
Es findet eine Vorlesung pro Woche statt.
Es sind 9 Aufgabenblätter in 3er Gruppen in Java zu lösen. Aufgabenblatt 1-3 werden jeweils im 2 Wochen Abstand hochgeladen, danach wird ein Aufgabenblatt, mit einer Bearbeitungszeit von 2 Wochen, pro Woche hochgeladen.
Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
Java Grundkenntnisse bzw. Einführung in die Programmierung 1 und Einführung in die Programmierung 2 sollten positiv absolviert sein, sonst werden schon innerhalb der ersten 3 Aufgabenblätter Probleme entstehen.
EP1 obviously, es wäre gut EP2 schon einmal absolviert zu haben, man versteht teilweise erst so richtig was man in EP2 gemacht hat
Vortrag[Bearbeiten | Quelltext bearbeiten]
extrem informationsgeladene Folien, allerdings steht auf den Folien bei weitem nicht alles, was gesagt wird oder im Skriptum angerissen wird.
Es zahlt sich aus, die VO anzuschauen, weil er da wirklich auch alles sagt, das im Skriptum steht. Leider hat er 2 mal keine VO Aufzeichnung bereitgestellt (Zitat: "Da haben Sie jetzt Pech gehabt", ohne auch nur zu versuchen, den Ton zu fixen)
Übungen[Bearbeiten | Quelltext bearbeiten]
Programmieraufgaben Punktedurchschnitt[Bearbeiten | Quelltext bearbeiten]
Während dem Semester sind Programmieraufgaben zu lösen. Eine Woche nach Abgabe der gelösten Programmieraufgaben bekommt man Feedback in Form einer E-Mail. In diesen E-Mails wird jeweils auch die durchschnittlich erreichte Punkteanzahl über alle Abgaben zu der jeweiligen Aufgabe angegeben. Um den nächsten Semestern einen möglichen Überblick der Schwierigkeit der einzelnen Aufgaben zu geben, werden in der folgenden Tabelle die durchschnittlich erreichten Punkte je Angabe und Semester angegeben.
Anmerkung: Manche Aufgaben (vor allem am Anfang) werden zusammengelegt, wobei hier dann die max. Punkteanzahl für alle drei gilt.
Achtung: Die Punkte sind erst vorläufig und können sich noch im Zuge des Abgabegesprächs verändern. Beachte auch, dass die Punkte nicht eins zu eins die Schwierigkeit widerspiegeln sondern Faktoren wie andere Abgaben, Tests, Prüfungen, etc. einen Einfluss auf den Punktedurchschnitt haben könnten.
Semester (max. Punkte) | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | Durchschnitt gesamt |
---|---|---|---|---|---|---|---|---|---|---|
2023W (100) | - | 68 | 70 | 89 | 90 | 77 | 72 | 79 |
Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]
Prüfung[Bearbeiten | Quelltext bearbeiten]
Prüfungen sind schriftliche Multiple Choice Tests. Es gibt 2 Prüfungen und einen Nachtest der den ganzen Stoff umfasst.
Um den Prüfungsteil positiv zu absolvieren müssen mindestens insgesamt 100 Punkte auf 2 Tests erreicht werden.
Es empfiehlt sich wirklich seine Materialien (Ob VO oder Skriptum) gut zu lernen, da zum Teil auf Wortlaute geprüft wird. Es genügt aber im allgemeinen das Skriptum einmal aufmerksam zu lesen.
WS2023:
Prüfung 1 behandelt die ersten 3 Kapitel des Skriptums, und war durchaus passend gestaltet. Viel Wert wird auf den Vergleich verschiedener Programmierparadigmen gelegt, also diese Eigenschaften auf jeden Fall gut anschauen!
Prüfung 2 behandelt die letzten 3 Kapitel des Skriptums. Tatsächlich waren aber mehr als 50% der Prüfung dem kürzesten Kapitel - Entwurfsmustern gewidmet. Diese gut ansehen, und auch lesen wenn die Muster bereits bekannt sind - er prüft auch hier gerne auf seine Wortlaute. (das wurde in der VO aber auch erwähnt, aber die genauen Wortlaute der Problemstellung, Lösung und Konsequenzen muss man absolut auswendig kennen - dafür kann man die Lernzeit für die ersten zwei Kapitel abkürzen, hier wurde mehr auf Verständnis geprüft). Leider waren viele Fragen sehr uneindeutig gestellt ("Kreuzen Sie an: immer, manchmal, nie"), aber Puntigam hat zugesichert, ggf. zwei Antworten gelten zu lassen.
Dauer der Test Noten[Bearbeiten | Quelltext bearbeiten]
- 2023WS Test 1: Note wurde nach 2 Tagen per Mail verschickt.
- 2023WS Test 2: Note wurde nach 8 Tagen per Mail verschickt.
Abgabegespräch[Bearbeiten | Quelltext bearbeiten]
sehr gemütlich, haben mit Puntigam noch ein wenig über den Test und andere LVAs geplaudert. Bei den Abgabegesprächen geht es mehr darum, ungleiche Arbeitsverteilungen innerhalb der Gruppe auszugleichen und nicht Punkte abzuziehen - d.h. es werden grundsätzlich Punkte verschoben und nicht aberkannt.
Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]
noch offen
Zeitaufwand[Bearbeiten | Quelltext bearbeiten]
Laut der LVA sollten maximal 10-15h aufwand pro Person pro Aufgabenblatt entstehen.
WS2023: Das hat circa dem Zeitaufwand in unserer Gruppe entsprochen. Man hat 2 Wochen Zeit die Aufgaben zu erledigen, also lässt sich das ganze gut einteilen. Man sollte die Konzepte aus EP1 & EP2 jedoch schon gut beherrschen und nicht erst eine Woche warten bis man anfängt, besonders die Tests zu schreiben kann schon viel Zeit kosten.
Andere Meinung: Wir sind trotz Teammate, der wenig bis nichts gemacht hat, mit weniger Zeit ausgekommen. Trotzdem nicht zu spät anfangen, gerade Debuggen/Abstimmen am Ende kann viel Zeit kosten. Nicht von Puntigam in der Vorbesprechung abschrecken lassen, der lang und breit herunterbetet, wieviel Zeit man unbedingt für die Blätter investieren müsse.
Unterlagen[Bearbeiten | Quelltext bearbeiten]
noch offen
Tipps[Bearbeiten | Quelltext bearbeiten]
- Das Skriptum genau zu lesen ist empfehlenswert!
- Puntigam legt viel Wert darauf, die Shell-Syntax (vorgestellt in der VO zur parallelen Programmierung) zu kennen
- nicht zu viel Zeit in die ersten 3 Übungen investieren, diese werden eh nur von Tutor*innen bewertet inkl. Gelegenheit zur Nachbesserung, das heißt, man hat nichts davon hier viel zu tun, und pro Punkt muss man 3-mal so viel Arbeit investieren wie für die folgenden Blätter (da 3 Blätter zusammen bewertet werden)
- Github Copilot hilft beim Schreiben der Zusicherungen
- möglichst mit Kollegen zusammenschließen, mit Randoms zusammengewürfelt zu werden kann zu viel Mehraufwand führen, in solchen Fällen besser schon darauf eingestellt sein dass die Person nichts machen könnte
- am Anfang im Team Lösungsweise ausarbeiten, nachträgliche Änderungen sehr zeitintensiv
Highlights / Lob[Bearbeiten | Quelltext bearbeiten]
Das Skriptum ist im Allgemeinen sehr hochwertig verfasst. Konzepte werden großteils durchaus gut vermittelt, und generell ist eine Niederschrift des Stoffes, die nicht nur Stichwortartig in der Form von Folien ist, zu begrüßen.
Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]
- WS2023: Die Aufgabenstellungen sind oft sehr verbos und umständlich formuliert, man hat das Gefühlt man hätte 2 Sätze aus dem Aufgabenblatt mit einem normalen Satz besser und klarer beschreiben können. Das Skript war im WS2023 360 Seiten lang, wovon sicher nur 200 wirklich wichtig sind. Das macht es extrem schwer gezielt zu lernen für den Test. Die Tutoren sind laut eigener Aussage nur für die ersten 3 Aufgabenblätter zuständig und sind danach für organisatorische Probleme in der Gruppe zuständig und dürfen inhaltlich keine Hilfe anbieten. Es ist oft sehr schwer von Prof: Puntigam konkrete Antworten zu bekommen im TUWEL Forum, also wäre es schon hilfreich wenn Tutoren zumindest uns ein bisschen unter die Arme greifen dürfen. Ich erwarte keine fertige Lösung, aber schon mehr als ein "Ich darf euch garnicht helfen." Da von 9 VOs nur 7 mit Ton sind, wäre eine Empfehlung fürs nächste Semester, ein funktionierendes Mikrofon zu benutzen!
- WS2023: In Aufgabe 1-3 wurde gefühlt nichts von Substanz bearbeitet, und es gab keine klaren Bewertungskriterien. Ich hätte mir stattdessen noch 2 Aufgaben zu Design Patterns gewünscht. Viel zu starker Fokus auf Zusicherungen (zum Teil - in der echten Welt sind Zusicherungen nur Kommentare die zusätzlich gewartet werden müssen, aber nichts garantieren, und damit wertlos.
Materialien
Neues Material hinzufügenA
- Aufgabe 1 WS2023.pdf (details)
- Aufgabe 2 WS2023.pdf (details)
- Aufgabe 3 WS2023.pdf (details)
- Aufgabe 4 WS2023.pdf (details)
- Aufgabe 5 WS2023.pdf (details)
- Aufgabe 6 WS2023.pdf (details)
- Aufgabe 7 WS2023.pdf (details)
- Aufgabe 8 WS2023.pdf (details)
- Aufgabe 9 WS2023.pdf (details)
- Aufgabe7.pdf (details)
F
- Folien 01 Vorbesprechung Berechenmodelle Lambda-Kalkül.pdf (details)
- Folien WS2023 02.pdf (details)
- Folien WS2023 03.pdf (details)
- Folien WS2023 04.pdf (details)
- Folien WS2023 05.pdf (details)
- Folien WS2023 06.pdf (details)
- Folien WS2023 07.pdf (details)
- Folien WS2023 08.pdf (details)
- Folien WS2023 09.pdf (details)
- Folien WS2023 10.pdf (details)