TU Wien:Einführung in die Programmierung 1 VU (Podlipnig)

Aus VoWi
Zur Navigation springen Zur Suche springen

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Markus AngermannNathaniel BoisgardJürgen KoglerMarion MurzekStefan PodlipnigSebastian SkritekSebastian Zambanini
ECTS 5,5
Alias Introduction to Programming 1 (en)
Ersetzt Programmkonstruktion VU (Puntigam)
Letzte Abhaltung 2024S
Sprache Deutsch
Abkürzung EP1
Mattermost einfuehrung-in-die-programmierung-1RegisterMattermost-Infos
Links tiss:185A91, eLearning
Zuordnungen
Bachelorstudium Informatik Modul Einführung in die Programmierung (Pflichtfach)
Bachelorstudium Wirtschaftsinformatik Modul INT/PRO - Einführung in die Programmierung (Pflichtfach)
Bachelorstudium Medieninformatik und Visual Computing Modul Einführung in die Programmierung (Pflichtfach)
Bachelorstudium Medizinische Informatik Modul Einführung in die Programmierung (Pflichtfach)
Bachelorstudium Software & Information Engineering Modul Einführung in die Programmierung (Pflichtfach)
Bachelorstudium Technische Informatik Modul Einführung in die Programmierung (Pflichtfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

Die LVA bietet (dem Namen entsprechend) eine Einführung in die Programmierung mit der Programmiersprache Java. Themen:

  • Einleitung
  • Variablen, Datentypen, Operatoren
  • Verzweigungen
  • Eingabe und Ausgabe
  • Schleifen
  • Methoden
  • Zusicherungen (Assertions)
  • Arrays
  • Rekursionen — /Übungen zur Rekursion
  • Algorithmen

Ablauf[Bearbeiten | Quelltext bearbeiten]

Wer schon Programmiererfahrung hat, kann bei dieser LVA einen freiwilligen Einstufungstest machen:

Stand WS2023:[Bearbeiten | Quelltext bearbeiten]

Die Einstufungstests sind gleich geblieben. Die Struktur der Übungen hat sich jedoch geändert.

Anzahl der Übungseinheiten:

Kompetenzstufe 1: 9 Einheiten

Kompetenzstufe 2: 6 Einheiten

Kompetenzstufe 3: keine (nach positiver Absolvierung der Einstufungstests kann die LVA "geskipped" werden)


Kompetenzstufe 1:

1.-3. Übungseinheit:[Bearbeiten | Quelltext bearbeiten]

Es gibt in den ersten 3 Einheiten Übungsstunden, um sich mit dem Programmieren mit Java vertraut zu machen. Der Stoff ist aber sehr ähnlich mit dem was im Propädeutikum (2 Wochen vor Semesterstart in Processing) gemacht wird bzw. auch in den Übungsstunden vor dem Propädeutikum für die, die sich kaum mit dem Programmieren auskennen. In diesen 3 Übungseinheiten hat man ein sehr engagiertes Team an Tutoren, die zwischendurch fragen, ob man Hilfe braucht beim Lösen der Aufgaben, die vom Übungsleiter an die Fernseher eingeblendet werden.

4.-7. Übungseinheit:[Bearbeiten | Quelltext bearbeiten]

Ab der 4. Einheit (die 2 Wochen nach der 3. Einheit stattfindet um das Aufgabenblatt 1 zu lösen) beginnt man mit den Abgabegesprächen. Diese laufen eigentlich ganz entspannt ab: Ein Tutor setzt sich zu euch und fragt euch was ihr gemacht habt. Im Endeffekt erklärt man also seinen Code und beantwortet auch 1-2 Fragen zu dem behandelten Thema, das hängt aber eher vom Tutor ab bzw. wie genau man seinen Code erklärt. Da es nicht für jeden Studenten einen Tutor gibt, sodass die Abgabegespräche gleichzeitig ablaufen können, gibt es immer eine Aufgabenstellung, die man währenddessen machen muss, damit man in den 2 Stunden nicht nur in die Luft schaut. Diese Aufgaben müssen dann abgegeben werden, um einen Punkt zu holen. Es ist egal wie weit man gekommen ist. Außerdem gibt es bei den ersten beiden Aufgabenblättern auch sogenannte Mini-Tests in Tuwel zu den behandelten Themen in den Aufgabenblättern, für die man auch Probetests zur Verfügung hat. Die Fragen beim Mini-Test sind die gleichen wie vom Probetest, es wird nur an den Zahlen oder Zeilen etwas geändert. Die Mini-Tests haben nur 3 und 2 Punkte und sind wirklich leicht und bei 1-2-maligem Durchgehen des Probetests vor der Übungseinheit, mit der vollen Punktzahl schaffbar.

Tuwel Test:[Bearbeiten | Quelltext bearbeiten]

Nach dem 4. Aufgabenblatt hat man einen Tuwel Test (20 Punkte - 40 Minuten mit 16 Fragen, beim 2. Termin auf 14 reduziert) über Algorithmen bis einschließlich elementare Sortieralgorithmen, Arrays, Rekursionen, Komplexität. Für diesen Tuwel Test hat man auch einen Probetest, der einen gut auf den Tuwel Test vorbereitet. Die Komplexitätsaufgaben waren zum Teil gottlos schwer, was beim Tuwel Test vielen einige Punkte gekostet hat. Ansonsten waren die Fragen gut lösbar und wenn man gut vorbereitet war, hatte man keinen Zeitdruck.

8.-9. Übungseinheit:[Bearbeiten | Quelltext bearbeiten]

Ab dem 5. Aufgabenblatt muss man seinen Code (meistens nur 1-2 Methoden/Aufgaben des Aufgabenblattes) vor der ganzen Gruppe präsentieren, wenn man aufgerufen wird. Da wird man auch zum Thema der Methode, die man implementiert hat kurz abgefragt, bei Arrays waren das z.B. Fragen wie "Was für ein Array-Typ gibt diese Methode zurück?", "Was ist eine NullPointerException?", "Was passiert wenn man x und y vertascht?" etc. - also leicht zu beantworten, wenn man seinen Code auch selbst geschrieben hat und auch bisschen Ahnung vom Thema hat.

Programmiertest:[Bearbeiten | Quelltext bearbeiten]

Nach dem 6. Aufgabenblatt hat man einen Programmiertest (30 Punkte - 60 Minuten mit 3 Methoden). 2 Methoden sind über zweidimensionale Arrays, beim ersten hat man ein Rückgabe Array, beim zweiten wird ein Array manipuliert und die dritte Methode ist immer(!) eine Rekursionsaufgabe. Man bekommt auch Teilpunkte für Lösungsansätze.

Ganz wichtiger Tipp!

Versucht so viele Punkte wie möglich durch die Aufgabenblätter und mit dem Tuwel Test zu bekommen um beim Programmiertest entspannter zu sein! Mit den Aufgabenblättern, den 3 Übungseinheiten und den Mini Tests bekommt man maximal 50 Punkte. Für eine positive Note würden also noch 15 Punkte beim Tuwel Test ausreichen und man müsste beim Programmiertest gar nicht erscheinen.

Wenn 1-2 Punkte auf die 4 (auf eine bessere Note) fehlen hat man noch eine Chance im Tutorium die ganzen Leistungen noch einmal zu besprechen bzw. seinen Code vom Programmiertest, wie beim Abgabegespräch zu erklären um die fehlenden Punkte zu bekommen.

Stand WS2017:[Bearbeiten | Quelltext bearbeiten]

  • Einstufungstest online auf TUWEL
  • Der Einstufungstest bestand im WS2017 aus 20 Fragen / 5 Minuten / 60 Minuten pro Versuch, der beste Versuch zählt
  • Erreicht man genug Punkte (im WS2017 15,5 / 20, also 77,5%), wird man in die Kompetenzstufe 2 gereiht, in der man nur 3 Übungen absolvieren muss.
    WS2018: Einstufungstest ab 18/24 Punkten (also 75%) in K2, dann 4 Übungen
  • Erreicht man die benötigte Punkteanzahl nicht, bleibt man in Kompetenzstufe 1 und muss 8 Übungen absolvieren.
  • Macht man den Einstufungstest nicht, kommt man auch in Kompetenzstufe 1.

Stand SS2020:[Bearbeiten | Quelltext bearbeiten]

  • Man kann nun 25 Punkte erreichen beim Einstufungstest für die Kompetenzstufe K2; sobald man 20 Punkte oder mehr erreicht ist man in Kompetenzstufe 2. Allerdings zählen die Punkte auch für die Endnote. Wer also nur 20 Punkte erreicht sollte sich überlegen ob er vielleicht nicht lieber Kompetenzstufe 1 nehmen möchte, da er/sie dann hier 25 Punkte erreichen könnte, also 5 Punkte mehr. (Man benötigt 60 Punkte für einen positiven Abschluß; erfahrungsgemäß ist der letzte Programmiertest am schwierigsten, zumindest hat das Podlipnig auch so gesagt im Zuge der Vorbesprechung). [Weitere Anmerkung: im Sommersemester 2020 durch die aktuellen Ereignisse, i. e. Covid19, verschieben sich nun einige Termine. Es wurde angekündigt das verstärkt TUWEL genutzt wird; daher ist das Sommersemester 2020 vermutlich nicht 1:1 zu vergleichen mit dem Sommersemester 2021 oder anderen Sommersemestern.]

Stand WS2021:[Bearbeiten | Quelltext bearbeiten]

Im WS2021 gab es erstmals auch eine dritte Kompetenzstufe (K3). Das Erreichen dieser ermöglicht es, die Vorlesung komplett zu überspringen. Zudem wurden die Einstufungstests vor Ort durchgeführt, anstatt online.

Der K3-Einstufungstest bestand aus einem 45 Minuten langem Theorietest auf TUWEL mit 40% Gewichtung und einem anschließenden 60 Minuten langem Programmiertest mit 60% Gewichtung. Der Theorietest umfasste 10 Fragen, mit je 4 Wahr/Falsch-Teilfragen. Pro Frage waren 4 Punkte erreichbar. Mit einer falsch bentworteten Teilfrage gab es noch 2 Punkte, mit 2 oder mehr falschen Antworten keine Punkte. Die Fragen beschäftigten sich mit der Analyse von Codefragmenten, z.B.:

- Kann der gegebene Code Exceptions auslösen?
- Mit welcher minimalen oberen Schranke kann der Algorithmus beschrieben werden?
- Terminiert der Code noch, wenn eine Zeile verändert wird? Ist der Sortieralgorithmus noch stabil? (Veränderung beschrieben)
- Wie oft wird eine bestimmte Zeile mit bestimmten Übergabeparametern aufgerufen (insb. mit rekursiven Algorithmen)?

Zur Beantwortung der Fragen durften alle Unterlagen und Onlineressourcen verwendet werden, ebenso wie IntelliJ. Allerdings wurde Code als Bild zur Verfügung gestellt und nicht in Textform. Abtippen war aufgrund der knapp ausgelegten Zeit kaum sinnvoll. Zur Programmierübung wurden 2 Beispiele mit mehrdimensionalen Arrays und 1 Beispiel mit Rekursion gefordert. Die Lösung der Beispiele war prinzipiell trivial, jedoch teilweise mit so unkonventionellen Forderungen, dass die Angabe sehr genau gelesen werden musste.

Andere Meinung: Abtippen der Codesnippets des TUWEL-Tests kann insbesondere bei Fragen, bei denen man sich unsicher ist und die durch den Compiler wirklich einfach werden hilfreich sein. Wenn man einigermaßen tippen kann, sollte es kein Problem sein, bis zu 4 Fragen auf diese Art zu lösen.

Kompetenzstufen[Bearbeiten | Quelltext bearbeiten]

K1

Das ist der Standard. Wird kein Einstufungstest durchgeführt, dann wird man automatisch dieser Kompetenzstufe zugewiesen. Auf diese Kompetenzstufe wurde die LVA entworfen. Sie ist auf Studierende mit wenig bis keine Programmiererfahrung ausgelegt. Es bleiben anscheinend aber auch Studierende in dieser Kompetenzstufe, die mit der Programmiersprache Java noch wenig vertraut sind. Personen in K1 müssen die gesamte LVA besuchen und somit auch an allen Übungen teilnehmen.

K2

In K2 wird etwa die erste Hälfte der LVA übersprungen. Für weiter Infos siehe 'Stand SS2020'.

K3

Dies ist eine Neuerung im WS2021. Hierbei kann die gesamte LVA übersprungen werden. Um in diese Kompetenzstufe zu gelangen, muss aber zuerst der K2-Einstufungstest und daraufhin auch der K3-Einstufungstest positiv abgeschlossen werden. Die Endnote der LVA ergibt sich aus dem Ergebnis beim K3-Einstufungstest. Man konnte aber nach Bekanntgabe der Note auch entscheiden (wenn man mit seiner Note nicht zufrieden war), doch auf K2 zu bleiben, um eine bessere Note bekommen zu können.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Grundsätzlich wirklich keine! Erfahrungswerte in einer beliebigen objektorientierten Programmiersprache würden aber nicht schaden.


Addendum aus dem Winteresemester 2022W: Ich würde Grundkenntnisse in der Programmierung empfehlen. Als Beispiel über die Programmiersprache Python. Zwar kann man theoretisch die VU auch ohne Programmierkenntnisse bestehen - jedoch gibt es beim Abschlusstest eigentlich 2 Beispiele zu etwa 20/21 Punkten, in denen nur multidimensionale Arrays vorkommen, die man dann auch manipulieren muss. Da hilft es schon sehr wenn man das bereits verstanden hat über Python, und dem Erstellen von Programmen. Dann kommt man auch während der VU weniger unter Stress, da man hier nur noch die Syntax von Java lernen muss - die Basisregeln bei den Arrays hingegen sind ja gleich bei den meisten Programmiersprachen.

Vortrag[Bearbeiten | Quelltext bearbeiten]

Im Vergleich zu EP2, didaktisch ausgezeichnet.

Übungen[Bearbeiten | Quelltext bearbeiten]

Allgemeines[Bearbeiten | Quelltext bearbeiten]

Die K1-Übungen beginnen Mitte Oktober, die K2-Übungen Mitte November (für das Wintersemester; die VU wird jedoch auch im Sommersemester angeboten).

Im ersten Teil jeder Übung wird für jede Aufgabe ein_e Student_in zufällig (z.T. auch alphabetisch) ausgewählt, um seine Lösung zu präsentieren und zu erklären.

Im zweiten Teil wird entweder eine Ad-Hoc-Übung durchgeführt oder ein TUWEL-Test ist zu lösen.

Die beiden ersten Übungen der Kompetenzstufe 1 sind davon ausgenommen, die dienen nur zum "freien Üben", werden jedoch auch mit 1 Punkt beziehungsweise 2 Punkten "belohnt" - daher sollte man diese unbedingt besuchen wenn man in K1 beginnt.

Übung 1, Kompetenzstufe 1[Bearbeiten | Quelltext bearbeiten]

Gestern (Montag) am Abend war "Üben 1" für die Kompetenzstufe 1. Hier gibt es nur 3 Punkte zu erreichen von insgesamnt 100 (65 Punkte sind für eine positive Note notwendig); dafür muss man kein Aufgabenblatt abgeben und besprechen. Die Übungen finden im Informatiklabor statt; es gibt zahlreiche Computer, eben für jede Person einen Computer, der sich einschalten lässt indem man auf dem Monitor den power-on button drückt.

Es gilt in Summe 5 Aufgaben zu lösen, zumindest zwei davon in kleinen Teams, die man vorab besprechen muss. Ein Beispiel war min-max sorting, wo in jeder Schleife die kleinere Zahl zurückgegeben wird - somit hat man einen Sortier-Algorithmus. Die erste Übung dient eher dazu die accounts aufzusetzen (sein Passwort nicht vergessen!) und eben den Ablauf üben, der für die späteren Aufgabenblätter relevant sein wird. (Ich wollte dies hier festhalten für künftige Studenten/Studentinnen, damit diese wissen wie das in etwa abläuft. Vorab Programmiererfahrung hilft, auch wie man IdeaJ benutzt hilft sicherlich.)

Ad-Hoc-Aufgaben (Veraltet)[Bearbeiten | Quelltext bearbeiten]

Ad-Hoc-Aufgaben sind praktische Programmieraufgaben, die ohne Zuhilfenahme von Unterlagen oder Websites (kein Google, kein StackOverflow) gelöst werden müssen. Für die Ad-Hoc-Übung hat man 45 Minuten Zeit. Für richtige Ansätze bekommt man Teilpunkte. Ad-Hoc-Aufgaben orientieren sich außerdem stark an den Aufgaben der jeweiligen Übungswoche.

TUWEL-Tests[Bearbeiten | Quelltext bearbeiten]

TUWEL-Tests sind Theorietests, man muss also keinen Code schreiben. Es wird aber gefordert, dass man Java-Code lesen, verstehen und auf Fehler überprüfen kann. Die Fragen sind alle aus dem Fragenkatalog der TUWEL-Tests, die man vorab zuhause üben kann.

Die TUWEL-Tests sind außerdem jederzeit zum Üben zugänglich, die tatsächlichen Fragen kommen dann aus demselben Fragenpool. Bei der Lösung der Aufgaben ist ausschließlich TUWEL zugänglich, eine Nutzung der IDE oder von Unterlagen ist nicht möglich bzw. erlaubt. Papier für Notizen/Skizzen/Überlegungen wird zur Verfügung gestellt. Stand 2021W: Im Distance Learning Betrieb sind die TUWEL-Tests open-book, sprich, alle Unterlagen sind zur Beantwortung erlaubt und auch die IDE darf verwendet werden. Solange keine Chatprogramme benutzt werden, ist es auch erlaubt beispielsweise Google als Hilfe zu verwenden.

Der TUWEL Test ist zum Beispiel unter folgender URL zu finden (für registrierte Benutzer), 2019S:

https://tuwel.tuwien.ac.at/course/view.php?id=17119

Für registrierte Benutzer 2020S:

https://tuwel.tuwien.ac.at/course/view.php?id=21169

WS2022[Bearbeiten | Quelltext bearbeiten]

Ich kann die Kritik aus dem Vorjahr (siehe unten) nicht nachvollziehen. Die Vorlesung ist sehr gut strukturiert, Podlipnig erklärt in der Vorlesung alles was man zum Lösen der Übungsblätter braucht, und wenn man trotzdem Schwierigkeiten hat gibt es ja die Aufzeichnungen, Folien und den Beispielcode aus der Vorlesung. Außerdem gibt es ja 3x die Woche (!) ein freiwilliges Tutorium in dem man 1:1 Betreuung bekommt wenn man nicht weiterkommt. Zusätzlich wird ausnahmslos jede Frage im TUWEL-Forum relativ rasch beantwortet. Und man hat ja ganze zwei Wochen Zeit für das Lösen eines Aufgabenblattes, das ist mehr Zeit als in jeder anderen Übung. Also alles in allem genau das Gegenteil von dem "Aussieben" das von unten im WS2021 vermutet wurde. So viel Unterstützung wie in EP1 bekommt man sonst nirgends, man muss sich schon extra anstrengen hier etwas zu finden wo die VU versucht auszusieben. Und dass CodeDraw nicht real eingesetzt wird um UIs zu bauen sollte klar sein, hier gehts aber auch nicht darum den Umgang mit einer bestimmten Library beizubringen, sondern eben eine erste "Einführung in die Programmierung" zu geben und dafür ist CodeDraw durchaus sehr gut geeignet, außerdem sind ja nur manche der Aufgaben in CodeDraw zu machen. Wenn das wem zu fad ist weil man schon alles weiß, kann man ja einfach den K3-Test am Anfang machen und die VU überspringen.


WS2021[Bearbeiten | Quelltext bearbeiten]

Die Aufgabenblätter sind unnötig kompliziert formuliert. Zeitaufwand steht in keinster Weise in einem akzeptablen Verhältnis zu den Punkten die man dafür bekommt. Viele Aufgaben sind nur herumprobieren und haben wenig mit Programmierverständnis zu tun. Vor allem, weil eine eigens für diese LVA entwickelte Bibliothek namens CodeDraw verwendet wird und man zwanghaft versucht irgendwas mit graphischer Oberfläche zu machen!

Andere Meinung: Die Aufgabenblätter sind meiner Meinung nach weder kompliziert formuliert, noch ist der Zeitaufwand zu hoch. Man sollte als K1 schon ein bis zwei Nachmittage für ein Aufgabenblatt einplanen. Als K2 ist ein Aufgabenblatt durchaus in 2-5 Stunden lösbar. Wobei die Aufgabenblätter gegen Ende des Semesters etwas komplexer werden. Bei CodeDraw kann ich nur zustimmen, dass es mMn nicht notwendig ist, allerdings ist es eine gute Abwechslung zu sturem "Konsolenprogrammieren" und vor allem für Anfänger ist es auch sehr motivierend wenn man ein richtiges Bild gezeichnet hat.

Ich gehöre nicht zum Durchschnittstunden. Mir haben die Zeitangaben nicht viel gebracht oder bringen mir halt im allgemeinen recht wenig. Bin deutlich länger gesessen. Fand die Aufgaben im gesamten doch recht schwer, weil man halt mehr oder weniger begrenzt in seiner ausführung war. hilfsmethoden waren nicht erlaubt, außer die die angegeben waren oder die man in der vo durchgenommen hat. Hilfsmethoden wie arrays to list und dann wieder zurück zu array wurden ausgeschlossen zum beispiel. wenn man ne hilfsmethode nimmt, dann hätte man die hilfsmethode erklären dürfen + was ein list etc.... der code wurde in den ue leider zu detailreich gefragt (bei uns zumindest), statt halt aufs konzept und die idee einzugehen wie man das lösen kann/gelöst hat. Zur vo. die sprünge waren eher komisch. ok variablen deklarien initalisieren. dann schleifen, cases. dann rekursion. dazwischen wird codedraw eingeführt, was man sich hätte ersparen können. dann den sprung zu algorithmen inkl laufzeit?

- Das Hauptproblem von CodeDraw ist das man das danach nie wieder benötigt. Ich hatte schon damals 2020 vorgeschlagen auf Swing oder JavaFX zu setzen; die sind wenigstens auch nach der VU brauchbar. Wurde nicht berücksichtigt. Ich vermute da es eine Vorgabe gibt eben "auszusortieren". Auch die Aufgabenstellungen sind viel zu kompliziert. Ich habe dann den Beispiel-Input mit dem Beispiel-Output verglichen. Das war einfacher als die Aufgabenstellung durchzulesen. Die Aufgabenstellung ist oft sehr konfus und wirr. Auch das man kaum vorhandene Methoden verwenden darf zeigt doch das es nicht darum geht den Studierenden etwas real beizubringen sondern auszusieben - ich verwende zum Beispiel GraalVM und statically compiled native binaries. Das klappt hervorragend; mein Java Code klappt auch so. Und ist 1000x einfacher gehalten als diese konfusen Aufgaben. Es ist eben eine "Aussiebe-VU", mit realem Code hat das kaum etwas zu tun. Wer bitte schreibt unnötig komplizierten Code wenn man viel einfacheren Code verwenden kann um ein Problem zu lösen? Die Inhalte der VU sind sehr konstruiert. Podlipnig ist nett und fair, aber man muss eben ehrlich sein und sagen das die VU einfach nur auf aufsortieren setzt. 0.0.0.0 14:17, 10. Aug. 2022 (CEST)

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

Geprüft wird mittels der TUWEL-Tests und Programmiertest. Es gibt in den 6 Übungen jeweils 3 TUWEL-Tests und 3 (ehem. AdHoc) Programmiertests zu lösen, für die man jeweils 30 bis 45 Minuten Zeit hat. Mit diesen und den Übungsaufgaben sind maximal 100 Punkte zu erreichen. Für eine positive Note benötigt man 60.

1. TUWEL-Test   5 Punkte zu erreichen
1. Programmiertest 10 Punkte zu erreichen
2. TUWEL-Test 10 Punkte zu erreichen
2. Programmiertest 15 Punkte zu erreichen
3. TUWEL-Test 15 Punkte zu erreichen
3. Programmiertest 20 Punkte zu erreichen

Also insgesamt 75 durch die Tests plus 25 durch die Aufgabenblätter.

Anmerkung: mit Sommersemester 2020 hat sich das ganze ein wenig geändert, auch die Punkte. Es scheint nur noch einen TUWEL-Test zu geben, der jedoch 20 Punkte bringt.

WS 2021: Im Wintersemester 2021 konnte man durch die Aufgabenblätter 38 Punkte erhalten. Je einen Punkt bekam man für die Anwesenheit bei den ersten 2 Übungen, bei denen man mithilfe eines/r Tutors/in Beispiele live programmieren sollte (K1). Zusätzlich gab es noch 2 Tuwel-Tests. Beim ersten Tuwel-Test konnte man 10 Punkte erhalten und beim zweiten Tuwel-Test 20 Punkte. Am Ende des Semesters gibt es noch einen Programmiertest bei dem man 30 Punkte erreichen kann.

WS 2020: Im Wintersemester 2020 konnten durch die Aufgabenblätter 40 Punkte, durch eine Online-Programmieraufgabe 10 Punkte, durch einen TUWEL-Test 20 Punkte und durch einen Programmiertest am Ende des Semesters 30 Punkte erreicht werden. Der Notenschlüssel sieht wie folgt aus:

Note Punkte
Sehr gut 100 - 90
Gut 89 - 80
Befriedigend 79 - 70
Genügend 69 - 60
Nicht genügend 59 - 0

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

Semester Letzte Leistung Zeugnis Dauer
2019W 23.01.2020 03.02.2020 11 Tage
2020W 28.01.2021 19.02.2021 22 Tage

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

In Kompetenzstufe 1:

  • stark abhängig von der Programmiererfahrung
  • mit Programmiererfahrung (kein Java zuvor) ~2-3h pro Übungsblatt (6 Übungsblätter)
  • ohne Programmiererfahrung (noch nie programmiert) ~ 8 - 10h pro Übungsblatt

In Kompetenzstufe 2:

  • ca. 10 Stunden pro Übungsblatt
  • mit guter Programmiererfahrung: ca. 1,5h pro Blatt.
  • (Anmerkung zu dem "ca 1.5h pro Blatt" von oben. Das ist sehr stark von der Aufgabenstellung ab. Manche Aufgaben sind einfach zu lösen, bei anderen benötigt man durchaus länger.)

Unterlagen[Bearbeiten | Quelltext bearbeiten]

noch offen

  • Übungsblätter samt Lösungen, WS2018: Siehe Materialien
  • Materialien
  • [Todo: Bitte noch einen Fragenkatalog aus TUWEL hier zur Verfügung stellen, und diesen Eintrag dann entfernen; dies mag künftigen Studierenden helfen sich auf den TUWEL Test vorzubereiten, auch wenn dann andere Fragen kommen. Man kann zumindest grob abschätzen in welche Richtung diese Theorie-Fragen gehen. Sobald der für das Sommersemester 2020 veröffentlicht wird werde ich dies tun, und das hier entfernen; mit Stand 07.03.2020 gibt es jedoch auf TUWEL noch keinen TUWEL-Fragenkatalog. Leider gibt es auch hier bei den Materialien noch keinen alten Katalog. Anmerkung aus 2022W: mittlerweile gibt es einige Beispieltests von Moodle unter den Materialen, so das jemand diesen Eintrag hier entfernen könnte.]

Tipps[Bearbeiten | Quelltext bearbeiten]

  • Mit etwas Programmiererfahrung (z.B. HTL) ist es auf jeden Fall möglich die schwere Kompetenzstufe K2 zu machen, die TUWEL-Tests sind exakt gleich. Die Aufgabenblätter und Ad-Hoc-Übungen sind jedoch um einiges schwerer. Wenn du also schon Ahnung hast musst du entscheiden was dir lieber ist: eine gute Note ohne viel Arbeitsaufwand dafür 5 extra Übungen oder etwas schwerere Aufgaben & höheres Übungsniveau
  • Die K2-Übungsblätter stellen teilweise komplexere Aufgaben, zum Teil aber auch idente zu jenen der K1, allerdings zu früheren Zeitpunkten. K2-Aufgaben der ersten Übungsblätter können also auch einige Wochen später in ähnlicher Form bei K1-Blättern auftauchen. (Stand erstes Semester der LV WS2017)
    WS2018: Kompetenzstufe 1 und 2 unterscheiden sich nur dadurch, dass man in Stufe 2 die ersten beiden Übungsblätter nicht macht und stattdessen die Punkte des Einstufungstests zählen.
  • Bei den TUWEL-Tests ist genaues Hinschauen gefragt - oft scheint Code auf den ersten Blick korrekt, ist aber aufgrund von Kleinigkeiten die leicht übersehen werden können falsch (bspw Semikolon statt Doppelpunkt, ...). Wer die Tests zuvor häufig durchprobiert hat die meisten Fragen bereits gesehen und kann die Fallstricke beim Test schnell erkennen und Schlampigkeitsfehler vermeiden.
  • Programmiertests unbedingt zuvor ausprogrammieren, oft gibt es ein paar Eigenheiten, welche im Teststress mühsam zum Überlegen sind.
  • Zum Einstufungstest für K2: der ist meistens etwas schwieriger als beim "Beispielstest" angegeben. So mussten wir heute (06.03.2020) auch drei Strings miteinander vergleichen; und den String der anders ist, sofern er anders ist, zurückgeben. Das ist auch lösbar, jedoch war der Beispielstest deutlich einfacher. Vor allem da man auch nur 40 Minuten Zeit hat, und die Angabe zum Teil etwas konfus ist (mir hat es zum Beispiel mehr geholfen, die input → output Angabe am Ende durchzusehen; da war es dann klar was die Methode können musste) Bei der Benotung sind die Tutoren jedoch recht freundlich und vergeben auch durchaus Teilpunkte, so das man eigentlich 20 Punkte erreichen kann wenn man programmieren kann, selbst wenn man nicht alles richtig hat. Man sollte sich dann jedoch auch vorbereiten, das vor Ort zu erklären; oft erhält man dadurch dann noch die Teilpunkte (kommt wohl auch auf die Tutoren selbst an wie streng diese den Quelltext beurteilen aber mein Eindruck war das sie versuchen möglichst fair zu bewerten, und eher schauen ob der Studierende auch wirklich programmieren kann; und das kann man recht gut erkennen, auch wenn jemand Fehler macht).
  • Vielleicht üben unter "Zeitdruck" zu programmieren. (Anmerkung: beim Abschlusstest hat man 60 Minuten Zeit; andere Studierende oder Tutoren stören jedoch hie und da, so das man die Konzentration verlieren mag. Daher empfiehlt es sich konzentriert arbeiten zu können und zumindest das erste Beispiel relativ zügig umzusetzen.
  • Ich habe die VU beim 2. Antritt geschafft. Für künftige Studierende gebe ich hier noch ein wenig Rat, den ich hier nummerieren werde. 1) Ich empfehle das man schon vorher mit einer Programmiersprache Erfahrung sammelt. Python ist da deutlich einfacher; die Beispiele zu Arrays kann man in Python lösen. Wenn man das verstanden hat ist das in Java auch kein Problem mehr. 2) Die Arbeitsblätter + Freies Üben bringen 50 Punkte. Das sind die wichtigsten Punkte. Man sollte nach Möglichkeit alle Punkte erreichen; das sollte auch möglich sein da man ausreichend Zeit hat. Diese Punkte sind am einfachsten zu erreichen; ich hatte hier 35 Punkte erreicht von 50 Punkten. Am Ende hat mir ein Punkt für einen 3er gefehlt, also hier empfehle ich möglichst viele Punkte zu sammeln. 3) Moodle Test ist ein wenig Glückssache, ich habe nur 10 Punkte erreicht aber trat nur 1x an, daher: nutzt beide Antritte und schaut auch ein paar Algorithmen an, da manche der Fragen sehr ähnlich sind wie dies in der Vorlesung/Folien vorgegeben ist. Man hat ein Blatt Papier so das man die Werte von Variablen hinschreiben kann; das hilft um herauszufinden wo man in einer Schleife sein mag. Bei manchen Fragen habe ich dann geraten, aber auch beim Raten hilft es definitiv wenn man manche Antwortmöglichkeiten ausschliessen kann. Immer genau die Angabe lesen! Das waren meine drei Tipps - viel Erfolg an die künftigen Jahrgänge.

Highlights / Lob[Bearbeiten | Quelltext bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

Meiner Ansicht nach sollten die TUWEL-Tests weniger gewichtet werden, da sie teilweise Fragen stellen die eher die Konzentrationsfähigkeit abtesten, als Wissen oder Verständnis.

Anmerkung: Ab Sommersemester 2020 hat sich das ganze etwas geändert. Es gibt, sofern ich dies richtig verstanden habe, nur noch einen einzigen TUWEL Test der 20 Punkte bringt (also 1/5 der Gesamtpunktezahl). (Und das wurde dann nochmals geändert, da durch die covid-19 Thematik keine Lehrveranstaltungen mit physischer Präsenz möglich sind - ist alles gerade ein ziemliches Chaos.)

Es wäre toll, wenn man beim Programmiertest etwas mehr Zeit haben würde. 30 Minuten mehr würden vielen Besuchern der LVA Helfen auch alle Beispiele zu lösen.

Materialien

Neues Material hinzufügen

A