TU Wien:Programmierpraxis UE (Reiter)
TODO pagestructure.
Daten[Bearbeiten | Quelltext bearbeiten]
Vortragende | Michael Reiter |
---|---|
ECTS | 5,9 |
Benötigte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
Keine. Wird gesagt, aber wer noch NIE programmiert hat tut sich schwer.
Mati: Die Frage, ob man schon programmiert haben können muss, um Informatik studieren zu können, ist natürlich eine der ganz häufig gestellten Fragen z.B. bei der Inskriptionsberatung. Als Mensch der sehr viel Inskriptionsberatung macht, höre ich daher Erstsemestrigen besonders genau zu, wenn sie über EProg reden. Meine Erfahrung ist: Wer schon "etwas" Vorkenntnisse hat (und da reichen wirklich rudimentäre Kenntnisse) tut sich tatsächlich leichter mit dieser LVA. Hat jemand noch überhaupt keine Vorkenntnisse, so ist der Aufwand vorher sehr schwer einzuschätzen: Manche haben überhaupt keine Probleme mit der LVA, manche tun sich aber auch sehr, sehr schwer damit.
Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
Wirklich praktisch sind zumindestens einfache Kenntnisse einer Programmiersprache wie C, Java oder Pascal, oder auch Skriptsprachen wie PHP oder perl.
Modus der LVA[Bearbeiten | Quelltext bearbeiten]
siehe unten unter Übungen, ganz genau: [1]
Programmiersprache[Bearbeiten | Quelltext bearbeiten]
Java
Übungen[Bearbeiten | Quelltext bearbeiten]
Achtung: Dieser Modus gilt nicht für Neuanmeldungen ab W2014.
Für die Übung hat man zwei Semester Zeit. Es gibt insgesamt 10 Übungen, 4 Tests und 1 Abgabegespräch am Ende. Es werden 4 Testtermine pro Semester zur Verfügung gestellt, an denen man selbst entscheiden darf, wann man einen Test machen möchte. ABER um einen Test schreiben zu dürfen, müssen vor dem Ende der Anmeldefrist, jeweils drei Übungen gelöst werden und zu 50% richtig sein, man hat 5 Versuche für 3 Tests, sprich: ein Test darf zweimal widerholt werden, oder zwei Tests einmal. Für den 1. Test sind die ersten 3 Übungen Voraussetzung, für den 2. die nächsten drei (Übung 4,5,6), für den 3. widerum die nächsten drei (Übung 7,8,9), und die letzte (Übung 10) Runde ist Voraussetzung um das Abgabegespräch zu machen, was auch der letzte Schritt vor dem Abschluss der Übung ist. Sobald man nicht mehr positiv werden kann (z.B. nur mehr 2 offene Testtermine und noch kein Test geschafft) erhält man ein negatives Zeugnis, kann aber sofort (auch mitten im Semester) weitermachen und seine Leistungen (gelöste Übungsaufgaben / geschaffte Tests) mitnehmen. Die Übungen kann man entweder alleine machen oder sich für ein Laborium anmelden, wo man von Tutoren beim Lösen der Beispiele unterstützt wird - diese Unterstützung nicht nur für AnfängerInnen sehr wertvoll. Außerdem werden regelmäßig Tutorien zu verschiedenen Themen abgehalten, wo auf spezielle Themen näher eingegangen wird.
WS 2014[Bearbeiten | Quelltext bearbeiten]
Siehe Konzept v3.
Übungstests[Bearbeiten | Quelltext bearbeiten]
Drei Übungstests, bei denen sehr detaillierte Kenntnisse der Programmiersprache abgeprüft werden. Die Verwendung von Unterlagen ist nicht erlaubt, aber folgende Tutorials sind auf dem Rechner verfügbar:
Unbedingt gut vorbereiten, die Zeit (kann mit 80 Minuten schon knapp werden.) wurde jetzt auf 110min erhöht. Dennoch nicht utnerschätzen. Blöde Fehler die man nicht so schnell findet können viel Zeit kosten
WS 2014: Sind jetzt 90 Minuten pro Test.
Aufwand[Bearbeiten | Quelltext bearbeiten]
Der Aufwand ist natürlich sehr stark abhängig von den Vorkenntnissen. Es müssen 10 Übungen abgegeben werden, auf die man jeweils mindestens 50% der Punkte erreichen muss (Überprüfung mittels automatisierter Eingabe-Ausgabe-Tests), um zu den Tests antreten bzw. die LVA abschließen zu können. Hat man bereits einige Jahre Java hinter sich und ist entsprechend geübt im Programmieren, schafft man eine Übung (= 100 % der Punkte) im Durchschnitt in ca. 3 Stunden (mein Erfahrungswert im WS 2014, Übung AsciiShop). Hat man keine Erfahrung mit Java oder noch gar keine Programmiererfahrung ist der Aufwand natürlich um ein Vielfaches höher. Allen mit Vorerfahrung in Java gebe ich den Tipp gleich am Anfang des Semesters so viele Übungen wie möglich zu programmieren, dann hat man unter dem Semester quasi nichts mehr zu tun. Zum Üben für die Tests gibt es eigene Bonusaufgaben, die Bestandteil der regulären Übungsbeispiele sind, die zusätzliche Punkte bringen. Die 3 Stunden stellen meines Erachtens aber eine ziemliche Untergrenze dar, wenn man nicht so viel Erfahrung hat, muss man vielleicht sogar das 5- bis 10-fache einplanen.
Tipps[Bearbeiten | Quelltext bearbeiten]
- Die Spezifikationen der einzelnen Beispiele sollten SEHR gewissenhaft durchgelesen werden und auch das Programm ausgiebig testen.
- Wer sich noch nicht wirklich fit beim Programmieren fühlt, sollte die Laborien (geführten Übungsgruppen) besuchen anstatt alles alleine zu machen. Es ist möglich sich von diesen Laborien während des Semesters beliebig ab- und anzumelden, falls sie nicht mehr benötigt werden oder plötzlich Fragen auftreten.
- Die Übungstests sind nicht zu unterschätzen, da nur 80 Minuten Zeit sind! Bei den Übungstests muss der Code nicht unbedingt compilierbar sein, es reicht, wenn die Programmlogik da ist. Weiters können die Schwierigkeitsgrade zwischen den Mustertests und den tatsächlichen Testangaben stark schwanken. Wer daher glaubt, perfekt vorbereitet zu sein, weil die Musterbeispiele ohne Probleme zusammengebracht wurden, kann mit etwas Pech ziemlich einfahren.
- Lernen mit dem Onlinebook hilft sehr.
- Studierende, die die Übungsbeispiele zuhause auf einem Windows-Rechner gelöst haben seien vorgewarnt, dass die Laborumgebung bei den Übungstests unter Linux läuft und es ist anzuraten, sich die Syntax der benötigten Befehle (cd, ls/dir, javac, java) anzueignen, um unter Linux Java-Code kompilieren und ausführen zu können. Als Texteditor bei den Tests wird jEdit verwendet.
- Den Editor, den der Vortragende verwendet, heißt vim, und ihm wöchentlich damit zuzusehen ist eine hervorragende Motivation, diesen, mächtigsten, Editor zu erlernen. Er steht auch auf den Testrechnern (per Kommandozeile) zur Verfügung.
Wo gibts Mitschriften, Folien, etc.[Bearbeiten | Quelltext bearbeiten]
Literatur[Bearbeiten | Quelltext bearbeiten]
Programmieren mit Java - Eine methodische Einführung[Bearbeiten | Quelltext bearbeiten]
von Schiedermeier, Reinhard (ISBN 3-8273-7116-3) - wird von der LVA-Leitung empfohlen
Beginning Java[Bearbeiten | Quelltext bearbeiten]
In der Einführungsvorlesung werden einige Bücher vorgeschlagen. Gleich das erste davon, "Beginning Java 2" (englisch!) von Ivor Horton - ist sehr hilfreich. Es reicht völlig aus, um von Null weg ins Programmieren allgemein sowie Java im Speziellen einzusteigen und die Beispiele sowie den Übungstest zu bewältigen.
Zu englischsprachigen Büchern im Allgemeinen: Es ist nur zu empfehlen, nicht vor englischsprachigen Büchern zurückzuschrecken. PP ist, verglichen mit Lehrveranstaltungen höherer Semester, nicht schwer und bietet daher eine gute Gelegenheit, sich an englischsprachige Bücher zu gewöhnen. Früher oder später muss sich ein/e Studierende/r der Informatik ohnehin mit englischsprachigen Büchern auseinandersetzen!
Java-Links[Bearbeiten | Quelltext bearbeiten]
Wikipedia:
- http://de.wikipedia.org/wiki/Programmiersprache
- http://de.wikipedia.org/wiki/Java_(Programmiersprache)
Auf Java SE Documentation gibt es einige nützliche Sachen zum Lesen und Herunterladen:
- Java Tutorial
- JDK Documentation
- API Specification wird oft benötigt, um nachzusehen, welche vorgefertigten Klassen und Methoden es gibt
- Java Language Specification wer es ganz genau wissen will
- Code Conventions for Java Programming Language
Sonstiges:
- Handbuch der Java-Programmierung (Guido Krüger) (zum Herunterladen)
- Java ist auch eine Insel (Christian Ullenboom) (zum Herunterladen/Onlinelesen)
- How to Think Like a Computer Scientist, Java Version (Allen B. Downey) (zum Herunterladen/Onlinelesen)
- Introduction to Programming Using Java (David J. Eck) (zum Herunterladen/Onlinelesen)
- Thinking in Java, 3rd Edition (Bruce Eckel) (zum Herunterladen)
- Java 7 - Mehr als eine Insel (Christian Ullenboom) (zum Herunterladen/Onlinelesen)
Weiterführende Lehrveranstaltungen[Bearbeiten | Quelltext bearbeiten]
- Objektorientierte Programmiertechniken ist auch für einige andere Bachelorstudien Pflicht.
- Betriebssysteme UE
- für Software Engineering und Projektmanagement solltest du eher auch Objektorientierte Programmiertechniken, Objektorientierte Modellierung und evtl. Datenbanksysteme schon haben...
Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]
noch offen
Materialien
Neues Material hinzufügenA
W
- Wrox.Java.Programming.24-Hour.Trainer (details)
- WS2014 - CharSequence inkl. Lösung.tgz (details)
- WS2014 - Kalender inkl. Lösung.tgz (details)
- WS2014 - Probetest Grundlagen (CharSequence) (details)
- WS2014 - Probetest Objekte und Datenstrukturen (details)
- WS2014 - Probetest Objekte und Datenstrukturen (JukeBox).zip (details)
- WS2014 - Probetest Objekte und Datenstrukturen (MelodySequencer).zip (details)
- WS2014 - Probetest Objekte und Datenstrukturen (SheepFarmer) (details)
- WS2014 - Probetest Rekursion und Iteration (details)
- WS2014 CarWash.zip (details)
- WS2014 Jukebox.zip (details)
- WS2014 MelodySequencer.zip (details)
- WS2014 Probetest Grundlagen (CharSequence) (details)
- WS2014 Shepherd.zip (details)
- WS2014 Test3 Transporter
- WS2013 - Praxisbesprechungen (Java).zip (details)