TU Wien:Einführung in die Programmierung 2 VU (Puntigam): Unterschied zwischen den Versionen

Aus VoWi
Zur Navigation springen Zur Suche springen
K (+abbr=EP2)
 
Zeile 6: Zeile 6:
 
|abteilung=Compilers and Languages
 
|abteilung=Compilers and Languages
 
|id=185A92
 
|id=185A92
 +
|abbr=EP2
 
|wann=SS
 
|wann=SS
 
|zuordnungen=
 
|zuordnungen=

Aktuelle Version vom 3. Dezember 2019, 18:59 Uhr

Daten[Bearbeiten]

Vortragende Franz Puntigam, Ulrich Neumerkel, Michael Reiter, Roman Ganhör, Markus Raab, Martin Ertl, Markus Scherer
ECTS 4
Ersetzt Programmkonstruktion VU (Puntigam)
Abteilung Forschungsbereich Compilers and Languages
Wann Sommersemester
Abkürzung EP2
Links tiss:185A92
Zuordnungen
Bachelor Wirtschaftsinformatik Pflichtmodul INT/PRO - Einführung in die Programmierung
Bachelor Medieninformatik und Visual Computing Pflichtmodul Einführung in die Programmierung
Bachelor Medizinische Informatik Pflichtmodul Einführung in die Programmierung
Bachelor Software & Information Engineering Pflichtmodul Einführung in die Programmierung
Bachelor Technische Informatik Pflichtmodul Einführung in die Programmierung

Mattermost: Channel "einfuehrung-in-die-programmierung-2" Team invite & account creation link Mattermost-Infos

Inhalt[Bearbeiten]

noch offen

Ablauf[Bearbeiten]

noch offen

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

Nach dem TISS wird stark darauf hingewiesen, dass man EP1 Positiv abgeschlossen haben sollte. Für Quereinsteiger gilt EP2 nur besuchen, falls man schon Grundlegende Erfahrung mit Programmieren in Java hat.

Vortrag[Bearbeiten]

Skriptum ist sehr gut, der Vortrag beinhaltet oftmals praktische Beispiele, jedoch finde das Tempo und die Erläuterungen in der Vorlesung nicht so gut.

Andere Meinung: Skriptum ist ein Witz. Mit sowas kann man nicht Programmieren lernen. Ich kann nicht nachvollziehen wie Leute ohne Vorkenntnisse Vererbung mit „BoxedText“ und SetBoxedText“ verstehen können. Am besten lernt man mit Tutorials aus dem Internet!

Puntigam: Der Professor kann die Themen nicht verständlich überbringen. Es werden viele wichtigen Aspekte ignoriert und auf Triviales konzentriert. Ich würde empfehlen Internet als Unterstützung zu nehmen. Der Vortragende „erklärt“ so als ob er sich selbst nicht sicher wäre. Er baut in seinen Erklärungen immer wieder rhetorische Zwischenfragen ein (nicht die Gruppenfragen), die aber oft verwirren bzw. den Gedankengang auf Umwege führt.

Übungen[Bearbeiten]

Eine Stunde Übung, Ablauf ähnlich wie EP1: besprechen der Aufgaben, dann Ad-Hoc (15 Minuten) Die Ad-Hoc Übungen werden meistens im Team gelöst (einer stellt den Code des Aufgabenblattes bereit, der andere programmiert den Ad-Hoc Task) und waren sehr trivial (nur leichte Abwandlungen von Pflicht-Aufgaben der Übungsblätter). Ad-Hoc 3 war alleine zu lösen. Das 7. Aufgabenblatt war eine Teamaufgabe über mehrere Wochen, bei der es um die Implementierung einer komplexeren Datenstruktur geht.

Prüfung, Benotung[Bearbeiten]

noch offen

Dauer der Zeugnisausstellung[Bearbeiten]

noch offen

Zeitaufwand[Bearbeiten]

Würde ich recht hoch einschätzen. Die Themen sind zwar an sich nicht schwer, allerdings ist Prof. Puntigam in keinster Weise fähig diese verständlich rüberzubringen. Internet ist definitiv in diesem Fall dein Freund und Helfer!

Unterlagen[Bearbeiten]

Auf dem Tiss wird ein Skriptum Angeboten: https://tiss.tuwien.ac.at/education/course/documents.xhtml?dswid=4860&dsrid=433&courseNr=185A92&semester=2018S

Tipps[Bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten]

2019S:

Puntigams Vorlesung ist ein didaktisches Desaster und in etwa so verständnisfördernd wie das ausgedruckte Skriptum zu verzehren. Anstatt Java Code, könnte Puntigam genauso gut Java Bytecode vorlesen.

  • Die Namensgebung der zu implementierenden Klassen ist ein schlechter Witz: Participations, Participations1, Participations2, Participations3 und Participations4. getRacer() und getRace() sind auch stark verwechslungsgefährdet.
  • Das Aufbauen der Aufgabenblätter auf vorige Aufgabenblätter stellt ein unnötiges Erschwernis dar, wenn man eine Übung versäumt.
  • 20+ Klassen in einem Ordner ist unübersichtlich: ein package per Übung wäre wünschenswert.

2019S:

Ein paar Verbesserungsvorschläge meinerseits:

  • Statt Participations[0-9], lieber die zu implementierenden Datenstrukturen im Klassennamen vermerken, also z.B. ParticipationsBinaryTree oder ParticipationsLinkedList, damit man auch in späteren Übungseinheiten noch weiß, wie die Klassen funktionieren
  • Packages im Stoff inkludieren und verwenden, idealerweise um die verschiedenen Funktionen trennen, wie participation.*, participations.*, utils.*, iterator.*, ...
  • Ausgeglichenere Tests, beim ersten Test war die Schwierigkeit teilweise stark von dem gewählten Timeslot abhängig