Difference between revisions of "TU Wien:Einführung in die Programmierung 2 VU (Puntigam)"

From VoWi
Jump to navigation Jump to search
m (Ergänzungen zu ss20)
 
Line 18: Line 18:
  
 
== Inhalt ==
 
== Inhalt ==
noch offen
+
Abstrakte Datentypen, Data Hiding, Datenkapselung, Objekterzeugung, Liste, Baum, Verkettung, dynamisches Binden, Hash Code, Iteratoren, Interfaces, Streams, Fehlerbehmdlung, Qualitätstest beim Programmieren
  
 
== Ablauf ==
 
== Ablauf ==
noch offen
+
VO geht über das ganze Semester, Besuch ist nicht verpflichtend.
 +
 
 +
UE gibt es insgesamt 8 Termine mit jeweils AD Hoc Tests und Präsentation, der zuvor ausgearbeiteten Aufgaben.
 +
 
 +
Es gibt 2 Tests, die positiv zu absolvieren sind (mind 50/100)
  
 
== Benötigte/Empfehlenswerte Vorkenntnisse ==
 
== Benötigte/Empfehlenswerte Vorkenntnisse ==
Line 78: Line 82:
 
* Packages im Stoff inkludieren und verwenden, idealerweise um die verschiedenen Funktionen trennen, wie ''participation''.*, ''participations''.*, ''utils.*'', ''iterator.*'', ...
 
* 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
 
* Ausgeglichenere Tests, beim ersten Test war die Schwierigkeit teilweise stark von dem gewählten Timeslot abhängig
 +
 +
SS20:
 +
 +
War angenehmer durch Home Learning, die AD Hoc Aufgaben sind auch weggefallen und man konnte so im eigenen Tempo lernen. Einzig die Testbewertung finde ich etwas fragwürdig. Aussagen wie "sinnlos programmiert" , "nutzloser Code" könnte man schon etwas erwachsener formulieren. (zB: "Nicht zielführend/gefragt")

Latest revision as of 09:58, 30 July 2020

Daten[edit]

Lecturers Franz Puntigam, Ulrich Neumerkel, Michael Reiter, Roman Ganhör, Markus Raab, Martin Ertl, Markus Scherer
ECTS 4
replaces Programmkonstruktion VU (Puntigam)
Department Forschungsbereich Compilers and Languages
When summer semester
Abbreviation EP2
Links tiss:185A92 , Mattermost-Channel
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"RegisterMattermost-Infos

Inhalt[edit]

Abstrakte Datentypen, Data Hiding, Datenkapselung, Objekterzeugung, Liste, Baum, Verkettung, dynamisches Binden, Hash Code, Iteratoren, Interfaces, Streams, Fehlerbehmdlung, Qualitätstest beim Programmieren

Ablauf[edit]

VO geht über das ganze Semester, Besuch ist nicht verpflichtend.

UE gibt es insgesamt 8 Termine mit jeweils AD Hoc Tests und Präsentation, der zuvor ausgearbeiteten Aufgaben.

Es gibt 2 Tests, die positiv zu absolvieren sind (mind 50/100)

Benötigte/Empfehlenswerte Vorkenntnisse[edit]

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[edit]

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.

Andere Meinung: Professor kann die Inhalte schon verständlich rüberbringen, jedoch werden die bei der Prüfung bzw bei den Übungsbeispielen relevanten Teile nur kurz angeschnitten, bzw sind im Vortrag gar nicht vorhanden sondern nur im Skriptum. Dieses ist allerdings wirklich schrecklich. Die Beispiele zur Veranschaulichung sind teilweise auch komplett anderen Seiten als die Erklärungen dazu und letztere sind oftmals nicht ausreichend um den Code zu verstehen. Aus dem Internet gelernt habe ich nicht sondern mich durch diverse Whatsappgruppen durchgefragt bzw auf Stackoverflow nachgeschaut oder die besser erklärten Folien von AlgoDat verwendet.

Übungen[edit]

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[edit]

Es kommen oftmals Teile die in der Vorlesung nur angeschnitten wurden, daher sich am besten alle Datenstrukturen genau anschauen, auch Dinge die absolut unwichtig erscheinen wie etwa Ringlisten. Für die zweite Prüfung auf jeden Fall alle möglichen Arten von Iteratoren einfach auswendig lernen. Besonders wichtig sind auch die MC Fragen, da auf jeden Fall die Fragenkatolge von Test 1 und 2 aus dem Vowi machen. Diese sind sehr angenehm benotet bei der Prüfung und können einen echt vor dem Fetzen bewahren. Auch variiert die Schwierigkeit von Prüfungen sehr stark von den verschiedenen Zeitslots, tendenziell dürften frühere Slots einfacher sein.

Dauer der Zeugnisausstellung[edit]

Dauert ewig bei mir hat die Auswertung der MC Tests etwa eine Woche gedauert und die praktischen Aufgaben etwas mehr als ein Monat.

Zeitaufwand[edit]

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!

Andere Meinung (SS19): Für Personen die zum ersten Mal in EP1 angefangen haben zu programmieren kann der Aufwand doch im Verlauf des Semesters explodieren. Die Aufgabenblätter wurden immer komplexer und unverständlicher und das Skriptum half einem leider nicht was sehr frustrierend war. Ich persönlich habe einige Aufgabenblätter nicht zeitgerecht lösen können.

Unterlagen[edit]

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[edit]

bei den Übungen gescheit alle BSP lösen dann ist man gut vorbereitet für die Tests und muss nicht so viel lernen.

Verbesserungsvorschläge / Kritik[edit]

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

SS20:

War angenehmer durch Home Learning, die AD Hoc Aufgaben sind auch weggefallen und man konnte so im eigenen Tempo lernen. Einzig die Testbewertung finde ich etwas fragwürdig. Aussagen wie "sinnlos programmiert" , "nutzloser Code" könnte man schon etwas erwachsener formulieren. (zB: "Nicht zielführend/gefragt")