TU Wien:Programmiersprachen VL (Puntigam)

Aus VoWi
Wechseln zu: Navigation, Suche

Daten[Bearbeiten]

Inhalt[Bearbeiten]

Alle möglichen Facetten bzw. Konzepte von Programmiersprachen und auch deren implementation.

Ablauf[Bearbeiten]

Geblockte Vorlesung, am Ende des Semesters ein Abgabegespräch über den Übungsteil sowie eine mündliche Prüfung. Die Anmeldung erfolgt am Papier zumeist in der 2. oder 3. Vorlesungseinheit, wo man sich schon eine Gruppe aus 2-4 Personen gesucht haben sollte.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

Programmierpraxis solltest du auf jeden Fall gemacht haben. Erfahrung in verschiedenen Programmiersprachen und -paradigmen sind enorm von Vorteil. Sinvoll sind daher außerdem OOP und Funktionale Programmierung.

Vortrag[Bearbeiten]

Recht gut, frei und kompetent. Gemütliche Atmosphäre in einem kleinen Hörsaal, aufgrund der Stoffdichte kann allerdings Gehirnüberflutung und dadurch ausgelöst Sekundenschlaf auftreten.

Übungen[Bearbeiten]

Drei Aufgabenstellungen mittlerer Größe müssen in Gruppen aus 2-4 Personen und in unterschiedlichen Programmierpsrachen gelöst werden.

  • Beispiel 1: Ein programmierbarer "Taschenrechner" in einer frei wählbaren Programmiersprache
  • Beispiel 2: Ein Tool für bulk-Bearbeitung von Dateien in einer dynamisch typisierten Skriptsprache (z.B. Perl, Python, PHP, Ruby, AWK, ...)
  • Beispiel 3: Zugnetzwerk Routensuche und Reservierungsverwaltung in einer stark typisierten funktionale Sprache (Haskell oder ML)

Die Beispiele müssen nicht elektronisch abgegeben werden, sondern werden erst beim Abgabegespräch vorgezeigt (man sollte also mindestens einen Laptop in der Gruppe haben, ansonsten kann es kompliziert werden). Damit besteht während des Semesters auch absolut freie Zeiteinteilung, es gibt nur eine Deadline ganz am Ende (um die man sich auch selbst kümmern muss, sprich Anmeldung zum Abgabegespräch per E-Mail).

Das Abgabegespräch gestaltet sich als sehr entspannt, die Programme werden vorgeführt und auf ihre Funktionalität überprüft. Dazu gibt es ein paar Fragen und Anmerkungen, die kein Problem darstellen sollten. Prof. Puntigam hat gesagt, dass er in dieser Lehrveranstaltung mehr Wert auf die mündliche Vorlesungsprüfung legt, als auf die Übungen.

Prüfung, Benotung[Bearbeiten]

Mündlich, dauert ca. 20-30 Minuten. Es werden Theoriefragen gestellt, wichtig ist, dass du die Konzepte verstanden hast. Außerdem werden Code-Stücke verschiedener Programmiersprachen vorgelegt, die du dann erklären musst. Prof. Puntigam bohrt gerne dort nach, wo du nicht auf Anhieb sichere Antworten geben kannst (das Antäuschen einer kleinen Unsicherheit könnte sich also auszahlen, wenn du bei einem Thema sowieso sattelfest bist).

Die Benotung ist in Ordnung, befriedigende und gute Noten sind locker schaffbar. Für sehr gute Noten musst du beim Lernen exponentiell mehr Aufwand treiben.

In meiner Gruppe wurde bei der mündlichen Prüfung jeweils 2 Theorieteile und 2 Praxisbeispiele gefragt. Die Theoriefragen waren grundsätzlich nicht schwer es wurde jedoch sehr viel wert auf Verständnis gelegt. Bei den Praxisteilen musste man Funktionalität des Codebocks und tlw. Konzepte der Paradigmen erklären. -- bayk

Dauer der Zeugnisausstellung[Bearbeiten]

SS08: Prüfung am 22.09.2008, Zeugnis erhalten am 23.09.2008 (ca. 1 Tag)

Zeitaufwand[Bearbeiten]

Mittel. Durch die Flexibilität bei den Übungen kannst du dir die Arbeit selbst aufteilen und bist nicht an mehrere Deadlines pro Semester gebunden. Für die Vorlesungsprüfung musst du dich mit dem Buch auseinandersetzen, das mit 400 Seiten nicht gerade dünn ist. Ich empfehle ein Lernen nach den Folien und ein Nachschlagen aller noch nicht bekannten Konzepte oder Unklarheiten im Buch. Für die Vorbereitung solltest du 4-6 Tage einplanen, je nach Vorkenntnissen.

Die Aufgaben nicht unterschätzen. Während sich die Angaben relativ leicht lesen, fällt erst bei etwas längerem Auseinandersetzen auf, dass sie doch zum Teil recht kniffling sind.

Unterlagen[Bearbeiten]

Die (guten) Folien gibt es auf der Homepage der Lehrveranstaltung zum Download. Die Inhalte der Vorlesung sind auch in einem Buch nachlesbar, das ebenfalls auf der Homepage der Lehrveranstaltung als 12MB-Postscript-Datei verlinkt ist (gut für Leute, die nie in der Vorlesung waren).

Nachdem das E-Book etwas kaputt ist (konnte die Postskript-Datei nur mit kpdf öffnen), habe ich es mal als PDF bei den Materialien hochgeladen.

Tipps[Bearbeiten]

  • Beim Abgabegespräch ist es egal, wer welche Codeteile herzeigt. Es kann einer alles oder jeder seinen Part demonstrieren - der Prof. ist hier wirklich sehr nett und freundlich.
  • Code kommentieren! Der Prof. war erstaunt, dass wir als ziemlich einzige Gruppe kommentare im Code hatten. Es müssen jetzt zwar nicht großartige Zusicherungen usw. vorhanden sein, aber Methoden- und Klassenkommentare sind von Vorteil!
  • In die Vorlesung gehen und Notizen zu den Folien machen da diese nur sehr überblicksmäßig gestaltet sind. Zwar gibt es das Buch, dieses ist aber sehr umfangreich und man kann sich viel Zeit beim sparen wenn man weis was in der Vorlesung erwähnt wurde und was man aulassen kann.

Verbesserungsvorschläge / Kritik[Bearbeiten]

  • Anders als bei OOP, FOOP oder Typsyteme, finde ich die Unterlagen hier eher Bedauernswert. Die Folien bilden eigentlich 1:1 das Buch nur auf Deutsch ab, und das Buch ist voller Fehler, zum Teil sehr schwer verständlich geschrieben, unübersichtlich strukturiert, viel zu Ada lastig und ein typographisches Verbrechen. Hab beim lernen sehr viel online recherchiert und hauptsächlich aus meiner Zusammenfassung gelernt. --Thrau (Diskussion) 00:45, 2. Jul. 2013 (CEST)