Grundlagen der Programmkonstruktion
LVA 185.A02, VU, 2.9 Ects, 2012/2013 W
Grundlagen der Programmkonstruktion
Lehrveranstaltungsbeschreibung
Ziele der Lehrveranstaltung:
Fachliche und methodische Kenntnisse:
- Basis- und Hintergrundwissen hinsichtlich der Erstellung von Programmen in einer stark typisierten objektorientierten Programmiersprache (Java)
- Systematische und konstruktive Vorgehensweise bei der Erstellung und Evaluation von Programmen
Kognitive und praktische Fertigkeiten:
- Abstrakte und systemorientierte Denkweise in der Programmierung
- Fähigkeit zum Einsatz einfacher formaler und informeller Methoden bei der Erstellung und Evaluation von Programmen
Soziale Kompetenzen, Innovationskompetenz und Kreativität:
- Selbstorganisation und Eigenverantwortlichkeit
- Neugierde an der Programmierung
Inhalt der Lehrveranstaltung:
- Ziele und Qualitätsbegriff in der Programmierung
- Abstraktes Modell (= Objekt oder abstrakte Maschine), dessen Verhalten durch ein Programm beschrieben wird
- Grundlegende Sprachkonstrukte und ihre Anwendung
- Zusicherungen (formal und informell) und Testfälle zur Spezifikation des Programmverhaltens und zur Evaluation
- Umgang mit und Strategien zur Vermeidung von Laufzeitfehlern (Debugging, Exception Handling, Programmanalyse)
- Verwendung einer Programmierumgebung und von Programmierwerkzeugen
- Problemlösungsstrategien, Datenstrukturen und Algorithmen
- Implementierung von Listen, Stacks und Bäumen
- Rekursion in Datenstrukturen und Algorithmen
- Prinzipien der objektorientierten Programmierung (Datenabstraktion, Untertypen, Polymorphie, Vererbung)
- Verwendung von Standardbibliotheken
- Ein- und Ausgabe sowie die interne Repräsentation von Daten
- Basiswissen über Generizität und nebenläufige Programmierung
- Sicherheit in der Programmierung (Gefahrenquellen und Vermeidungsstrategien)
- Verweise auf und Beispiele in andere(n) Programmiersprachen zur Förderung des Interesses an der Programmierung
Modulzuordnung:
Die Lehrveranstaltung
Grundlagen der Programmkonstruktion bildet zusammen mit der Lehrveranstaltung
Programmierpraxis das Modul
Programmkonstruktion.
Dieses Modul beinhaltet die erste Stufe der Programmierausbildung für alle Bachelorstudien der Informatik und Wirtschaftsinformatik.
Da das Modul zur Studieneingangs- und Orientierungsphase (STEOP) zählt, ist es ganz zu Beginn eines entsprechenden Studiums zu absolvieren.
Während Grundlagen der Programmkonstruktion im Wesentlichen einen theoretischen Überblick über die Programmierung (vorwiegend in Java) gibt, werden in der Programmierpraxis praktische Programmierfähigkeiten entwickelt.
Es wird dringend empfohlen, beide Lehrveranstaltungen zusammen zu absolvieren.
Sie sind sowohl inhaltlich als auch hinsichtlich des Ablaufs stark ineinander verzahnt.
Notwendige Vorkenntnisse:
Die Lehrveranstaltung ist für Studienanfänger(innen) vorgesehen.
Daher werden keine besonderen Vorkenntnisse vorausgesetzt.
Der Aufbau ist so, dass Personen ohne vorherige Programmiererfahrung das Programmieren erlernen können, gleichzeitig aber Personen, die schon Programmierkenntnisse haben, neue Sichtweisen auf die Programmierung erhalten.
Zielpublikum:
In erster Linie ist Grundlagen der Programmkonstruktion zusammen mit Programmierpraxis für Studierende eines Informatik- oder Wirtschaftsinformatik-Bachelorstudiums im ersten Semester gedacht.
Für diese Studierenden ist Grundlagen der Programmkonstruktion eine Voraussetzung für die Absolvierung der STEOP und den Studienabschluss.
Näheres dazu ist den
Studienplänen zu entnehmen.
Studierende des Bachelorstudiums Wirtschaftsinformatik, die ihr Studium schon vor Juli 2011 begonnen haben, benötigen Grundlagen der Programmkonstruktion nur, wenn sie nicht schon die (jetzt nicht mehr angebotene) Lehrveranstaltung Grundzüge der Informatik absolviert haben.
Studierende eines Informatik-Bachelorstudiums, die ihr Studium schon vor Juli 2011 begonnen haben, können sich Grundlagen der Programmkonstruktion als ergänzende Pflichtlehrveranstaltung
(mit 3 Ects) anrechnen lassen.
In der Regel stehen auch andere ergänzende Pflichtlehrveranstaltungen zur Auswahl.
Näheres dazu ist den Übergangsbestimmungen zu den Studienplänen zu entnehmen.
Studierenden, die eine Alternative wählen können, wird dringend davon abgeraten, Grundlagen der Programmkonstruktion in diesem Semester zu besuchen.
Beschränkungen der Lehrkapazität könnten gerade für diese Studierenden zu erheblichen Studienverzögerungen führen – siehe unten.
Ablauf und Beurteilung:
- Der Stoff wird in wöchentlich zwei Vorlesungen vermittelt, jeden Montag und Donnerstag von 13:00 bis 14:00 Uhr im Kuppelsaal (repräsentativer Raum im Hauptgebäude, Karlsplatz 13, oberstes Stockwerk).
Für den Fall, dass der Platz im Kuppelsaal nicht ausreicht, wird die Vorlesung zeitgleich in Bild und Ton in den Prechtlsaal (Erdgeschoß im Hauptgebäude) übertragen.
Im Anschluss an jede Vorlesung findet von 14:00 bis 15:00 Uhr in denselben Räumen eine
Praxisbesprechung
statt, in der praktische Programmierbeispiele besprochen werden, die sowohl für Grundlagen der Programmkonstruktion als auch Programmierpraxis relevant sind.
Die erste Vorlesung mit anschließender Praxisbesprechung findet am 4. Oktober statt.
Dabei wird es auch umfangreiche Informationen zum Ablauf der beiden Lehrveranstaltungen des Moduls Programmkonstruktion geben (= Vorbesprechung).
- Der vermittelte Stoff gliedert sich in drei aufeinander aufbauende Teile:
- Allgemeinwissen über die Programmierung und erste illustrierende Beispielprogramme
- Sprachkonzepte in Java und ihre Anwendung in grundlegenden Algorithmen und Datenstrukturen
- Vorgehensweisen in der Programmierung zur Erreichung der notwendigen Softwarequalität
- Die Beherrschung des Stoffs der drei Teile wird getrennt voneinander überprüft.
Für eine insgesamt positive Beurteilung der Lehrveranstaltung ist eine positive Beurteilung von jedem der drei Teile notwendig.
Ist die Beurteilung eines Teils negativ, so ist auch die Gesamtbeurteilung negativ.
Ist die Beurteilung jedes einzelnen Teils positiv, ergibt sich die Gesamtbeurteilung aus den gewichteten Beurteilungen der drei Teile, wobei der erste Teil zu 25% und der zweite und dritte Teil zu je 37,5% zur Gesamtbeurteilung beiträgt.
- Die Beurteilung des ersten Teils erfolgt anhand eines Tests, der am 30. Oktober (an Computer-Terminals) stattfindet.
Zur Vorbereitung auf diesen Test gibt es Übungsaufgaben (siehe Lehrunterlagen), die auf freiwilliger Basis gelöst werden können.
Tutoren sind bei der Lösung der Aufgaben behilflich.
Für StudienanfängerInnen wird außerdem die Möglichkeit geboten, in einer Übungsgruppe mitzumachen, in der es neben der inhaltlichen Diskussion von Übungsaufgaben auch um das Kennenlernen von Studienkolleg(inn)en und die Bildung von Lerngruppen geht (siehe Anmeldung).
- Die Beurteilung des zweiten und dritten Teils erfolgt anhand je eines Tests (am 27. November und 29. Jänner) und der Lösung von Übungsaufgaben, die in Kleingruppen erarbeitet und in Übungsrunden einer größeren Teilnehmergruppe präsentiert werden.
Die Beurteilung des zweiten und dritten Teils setzt sich zu je 1/3 aus den Präsentationen in den Übungsrunden und 2/3 aus dem Test zusammen.
- Ist die Teilnahme an einem der drei Tests wegen Krankheit, Unfall, dem Tod eines nahen Angehörigen oder aus ähnlichen schwerwiegenden Gründen nicht möglich und wird der Grund durch entsprechende Unterlagen (z.B. ärztliches Attest) nachgewiesen, kann als Ersatz für diesen Test eine mündliche Prüfung abgelegt werden.
Kein Anspruch auf ein solches Prüfungsgespräch besteht wenn der Testtermin wegen beruflicher Verpflichtungen oder Urlaub, aus Prüfungsangst oder wegen unzureichender Vorbereitung nicht wahrgenommen wurde.
Die Wiederholung eines negativ beurteilten Teils innerhalb der Lehrveranstaltung ist nicht möglich.
- Nur Studierende, die den ersten Teil positiv abgeschlossen haben, dürfen am zweiten Teil teilnehmen, und nur Studierende, die den zweiten Teil positiv abgeschlossen haben, dürfen am dritten Teil teilnehmen.
In anderen Fällen ist ohnehin kein positiver Abschluss der Lehrveranstaltung möglich.
- Die Lehrkapazität N entspricht den verfügbaren Ressourcen.
Für den zweiten und dritten Teil ist die Zahl der TeilnehmerInnen auf N beschränkt.
Im Wintersemester 2012/2013 wird N nach aktuellem Stand 375 betragen.
Wenn mehr Studierende teilnehmen wollen und die Voraussetzungen dafür erfüllen, werden N von ihnen gewählt, die den zweiten und dritten Teil im selben Semester absolvieren können.
Die nicht gewählten Studierenden kommen auf eine Warteliste und können die Lehrveranstaltung erst in einem späteren Semester fortsetzen.
Bei der Auswahl wird folgendermaßen vorgegangen:
- Zunächst erfolgt eine Aufteilung in zwei Kategorien (A und B), wobei Studierende, für die Grundlagen der Programmkonstruktion entsprechend den Studienplänen und Übergangsbestimmungen eine unbedingte Voraussetzung zum Abschluss ihres Studiums darstellt, in die Kategorie A fallen, alle anderen Studierenden in Kategorie B.
- Sollten mehr als N positive Studierende in die Kategorie A fallen, werden die beim ersten Test erfolgreichsten N Studierenden für die Fortsetzung der Lehrveranstaltung im selben Semester gewählt.
Die restlichen positiven Studierenden der Kategorie A sowie alle positiven Studierenden der Kategorie B kommen auf die Warteliste.
- Fallen weniger als N positive Studierende in die Kategorie A, werden alle positiven Studierenden der Kategorie A und die beim ersten Test erfolgreichsten auf N fehlenden Studierenden der Kategorie B für die Fortsetzung der Lehrveranstaltung im selben Semester gewählt.
Die restlichen positiven Studierenden kommen auf die Warteliste.
- Studierende auf der Warteliste dürfen die Lehrveranstaltung im folgenden Semester (ohne Wiederholung des ersten Teils) mit dem zweiten und dritten Teil fortsetzen, sofern die Anzahl der Studierenden dies erlaubt.
Die Maximalzahl N der TeilnehmerInnen wird im Sommersemester 2013 nach aktuellem Stand 125 betragen.
Bei der Auswahl im Folgesemester wird unter Einbeziehung der Studierenden auf der Warteliste wie oben beschrieben vorgegangen.
Auch Studierende aus der Warteliste werden den Kategorien A und B zugeordnet.
Um Studierende auf der Warteliste zu bevorzugen, werden für den Vergleich des Erfolgs beim ersten Test (jedoch nicht für die Gesamtbeurteilung) die Beurteilungen des ersten Tests als um eine Notenstufe pro Semester auf der Warteliste besser angesehen.
- Studierende auf der Warteliste können sich jederzeit, ohne ein Zeugnis zu erhalten, von der Lehrveranstaltung abmelden.
Sobald Studierende jedoch am zweiten oder dritten Teil der Lehrveranstaltung teilnehmen, ist keine Abmeldung mehr möglich.
Werden diese Teile nicht zu Ende geführt, wird ein negatives Zeugnis ausgestellt.
Ebenso wird unmittelbar nach der negativen Beurteilung eines Teiles ein negatives Zeugnis ausgestellt.
Anmeldung:
Die Teilnahme an der Lehrveranstaltung setzt eine Anmeldung über
TISS (das Informationssystem der TU Wien) zwischen 24. September und 7. Oktober 2012 voraus.
Mit dieser Anmeldung werden die formalen Voraussetzungen für die Teilnahme überprüft.
Nach der Anmeldung erhalten Sie automatisch eine Anmeldebestätigung.
Diese Bestätigung garantiert jedoch noch nicht, dass Sie bis zum Ende des Semesters teilnehmen können – siehe obige
Informationen zum Ablauf.
Einige Tage nach dieser Anmeldung erhalten Sie eine Mail mit Informationen über detaillierte weitere Schritte im Ablauf der Lehrveranstaltung.
Die ersten Schritte werden so ausschauen:
- Sie benötigen einen Account auf dem Übungsserver für das Modul Programmkonstruktion, über das Sie Terminreservierungen, Testanmeldungen und Ähnliches sowohl für Grundlagen der Programmkonstruktion als auch Programmierpraxis vornehmen können.
Wenn Sie noch keinen solchen Account (z.B. aus dem letzten Semester oder aus einer schon erfolgten Anmeldung zu Programmierpraxis) haben, werden Sie gebeten, sich einen Account anzulegen.
- Sobald Sie einen Account haben, aktivieren Sie Ihre Teilnahme an Grundlagen der Programmkonstruktion.
Dabei müssen Sie deklarieren, ob und (wenn ja) warum Grundlagen der Programmkonstruktion für Sie eine unbedingte Voraussetzung zum Abschluss Ihres Studiums darstellt.
Die unbedingte Voraussetzung ist beispielsweise dann gegeben, wenn Sie
- Studienanfänger(in) sind (genauer: erstmals ab Juli 2011 ein Informatik- oder Wirtschaftsinformatik-Bachelorstudium begonnen haben)
- oder in die Übergangsbestimmungen zum aktuellen Studienplan des Bachelorstudiums Wirtschaftsinformatik fallen und die Lehrveranstaltung
Grundzüge der Informatik
noch nicht absolviert haben
- oder die Absolvierung dieser Lehrveranstaltung für Ihr Studium als Auflage vom Studiendekan vorgeschrieben wurde.
Für individuelle Begründungen werden Sie ein kurzes Textfeld vorfinden.
- Danach besteht die Möglichkeit, sich zu einer von Tutor(inn)en geführten Übungsgruppe anzumelden, die sich im Oktober wöchentlich zu fixen Zeiten für eine Stunde trifft, um einander und das Studium kennenzulernen und sich gemeinsam auf den ersten Test vorzubereiten.
Die Teilnahme daran ist freiwillig, wird aber allen Studienanfänger(inne)n dringend empfohlen.
Wiederholer(innen), die mit den Abläufen und Testbedingungen bereits vertraut sind, können dagegen leicht darauf verzichten.
Die meisten wählbaren Termine gibt es mittwochs, einzelne Termine auch am Dienstag und Donnerstag, jeweils im HS 14A (Hörsaal im Hauptgebäude).
- Auch wenn Sie bei keiner Übungsgruppe mitmachen wird Ihnen ein(e) Tutor(in) zugeteilt, um Ihre Fragen zu beantworten.
- Später werden Sie über den Account auch Ihren Testtermin wählen.
Über alle weiteren nötigen Schritte werden Sie per Mail informiert.
Achten Sie daher bitte darauf, dass Sie an
eXXXXXXX@student.tuwien.ac.at versandte Mail (wobei
XXXXXXX Ihre Matrikelnummer ist) regelmäßig lesen.
Bei Fragen und Problemen:
In erster Linie ist Ihr(e) Tutor(in) auch Ihr(e) Ansprechpartner(in) in allen Belangen zu Grundlagen der Programmkonstruktion und Programmierpraxis.
Solange sich bei Ihnen noch kein(e) Tutor(in) als für Sie zuständig gemeldet hat oder in Belangen, die Sie nicht mit Tutor(inn)en besprechen wollen, wenden Sie sich bitte an die gemeinsame Mailadresse für Grundlagen der Programmkonstruktion und Programmierpraxis:
programmkonstruktion@complang.tuwien.ac.at
Terminübersicht
| Wann |
Wo |
Was |
| 24.9.–7.10.2012 |
TISS (online) |
Anmeldung zur LVA |
| auf Aufforderung nach Anmeldung |
Übungsserver (online) |
Passwort festlegen, LVA aktivieren, Übungsgruppe wählen |
| 4.10.2012, 13:00–15:00 |
Kuppelsaal, Prechtlsaal |
1. Vorlesung und Praxisbesprechung mit Vorbesprechung |
| jeweils Mo+Do, 13:00–14:00 |
Kuppelsaal, Prechtlsaal |
Vorlesungen |
| jeweils Mo+Do, 14:00–15:00 |
Kuppelsaal, Prechtlsaal |
Praxisbesprechungen |
| je nach Anmeldung bzw. Gruppe |
HS 14A |
Übungsrunden |
| 30.10.2012, Uhrzeit wählbar |
Laborraum wählbar |
1. Test |
| 27.11.2012, Uhrzeit wählbar |
Laborraum wählbar |
2. Test |
| 29.1.2013, Uhrzeit wählbar |
Laborraum wählbar |
3. Test |
Lehrunterlagen
Skriptum:
Folgende Varianten des Skriptums sind bis auf das Format identisch.
Sie können eine davon wählen.
- Skriptum zum Einheften in Ordner
- 2 Seiten/Blatt bei einseitigem Druck, 4 Seiten/Blatt bei doppelseitigem Druck
- Skriptum in sehr großer Schrift
- 1 Seite/Blatt, zum Online-Lesen oder Verkleinern
Es wird am Rande der ersten Vorlesungen möglich sein, eine gebundene Kopie des Skriptums käuflich zu erwerben.
Vorlesungsfolien und Programmierbeispiele:
- Folien zur Vorlesung am 4. Oktober 2012 (Vorbesprechung)
- Beispielprogramme zur Praxisbesprechung am 4. Oktober 2012
- Folien zur Vorlesung am 8. Oktober 2012
- Folien zur Vorlesung am 11. Oktober 2012
- Folien zur Vorlesung am 15. Oktober 2012
- Folien zur Vorlesung am 18. Oktober 2012
- Beispiel zur Praxisbesprechung am 18. Oktober 2012
- Beispielprogramme zur Vorlesung am 22. Oktober 2012
- Beispielprogramme zur Praxisbesprechung am 22. Oktober 2012
- Beispielprogramme zur Vorlesung am 25. Oktober 2012
- Beispielprogramme zur Praxisbesprechung am 25. Oktober 2012
- Vorlesung am 29. Oktober: Beispielprogramme wie am 25. Oktober
- Folien zur Vorlesung am 5. November 2012
- Beispielprogramme zur Vorlesung am 5. November 2012
- Beispielprogramme zur Vorlesung am 8. November 2012
- Beispielprogramme zur Praxisbesprechung am 8. November 2012
- Folien zur Vorlesung am 12. November 2012
- Beispielprogramme zur Vorlesung am 12. November 2012
- keine Vorlesung am 15. November
- Folien zur Vorlesung am 19. November 2012
- Beispielprogramme zur Vorlesung am 19. November 2012
- Beispielprogramme zur Praxisbesprechung am 19. November 2012
- Folien zur Vorlesung am 22. November 2012
- Beispielprogramme zur Vorlesung am 22. November 2012
- Beispielprogramme zur Praxisbesprechung am 22. November 2012
- Folien zur Vorlesung am 26. November 2012
- Beispielprogramme zur Vorlesung am 26. November 2012
- Beispielprogramme zur Vorlesung am 29. November 2012
- Beispielprogramme zur Praxisbesprechung am 29. November 2012
- Folien zur Praxisbesprechung am 29. November 2012
- Beispielprogramm zur Praxisbesprechung am 29. November 2012
- Folien zur Vorlesung am 3. Dezember 2012
- Beispielprogramme zur Vorlesung am 3. Dezember 2012
- Folien zur Praxisbesprechung am 3. Dezember 2012
- Beispielprogramm zur Praxisbesprechung am 3. Dezember 2012
- Folien zur Vorlesung am 6. Dezember 2012
- Folien zur Vorlesung am 10. Dezember 2012
- Beispielprogramme zur Vorlesung am 10. Dezember 2012
- Folien zur Vorlesung am 13. Dezember 2012
- Beispielprogramme zur Vorlesung am 13. Dezember 2012
- Beispielprogramm zur Praxisbesprechung am 13. Dezember 2012
- Folien zur Vorlesung am 17. Dezember 2012
- Beispielprogramme zur Vorlesung am 17. Dezember 2012
- Beispielprogramm zur Praxisbesprechung am 17. Dezember 2012
- Folien zur Vorlesung am 20. Dezember 2012
- Beispielprogramm zur Vorlesung am 20. Dezember 2012
- Beispielprogramme zur Praxisbesprechung am 20. Dezember 2012
- Folien zur Vorlesung am 7. Jänner 2013
- Beispielprogramme zur Praxisbesprechung am 7. Jänner 2013
- Folien zur Vorlesung am 10. Jänner 2013
- Beispielprogramme zur Vorlesung am 10. Jänner 2013
- Beispielprogramm zur Praxisbesprechung am 10. Jänner 2013
- Folien zur Vorlesung am 14. Jänner 2013
- Beispielprogramm zur Praxisbesprechung am 14. Jänner 2013
- Folien zur Vorlesung am 17. Jänner 2013
- Beispielprogramm zur Praxisbesprechung am 17. Jänner 2013
- Folien zur Vorlesung am 21. Jänner 2013
- Beispielprogramme zur Vorlesung am 21. Jänner 2013
- Folien zur Vorlesung am 24. Jänner 2013
- Beispielprogramme zur Praxisbesprechung am 24. Jänner 2013
- Folien zur Vorlesung am 28. Jänner 2013
Übungsaufgaben:
Die Aufgaben für den ersten Teil (im Oktober) können Sie auf freiwilliger Basis zur Vorbereitung auf den ersten Test lösen.
Weitere Aufgaben sind verpflichtend; die Lösungen sind in den Übungsrunden zu präsentieren.
- Aufgabe für 1. Übungsrunde (9.10. bis 11.10.)
- Aufgabe für 2. Übungsrunde (16.10. bis 18.10.)
- Aufgabe für 3. Übungsrunde (23.10. bis 25.10.)
- Aufgabe für 4. Übungsrunde (6.11. bis 8.11.)
- Aufgabe für 5. Übungsrunde (13.11. bis 19.11.)
- Aufgabe für 6. Übungsrunde (20.11. bis 22.11.)
- Aufgabe für 7. Übungsrunde (11.12. bis 13.12.)
- Aufgabe für 8. Übungsrunde (18.12. bis 20.12.)
- keine Aufgabe für freiwillige Übungsrunde vom 8.1. bis 10.1.
- Aufgabe für 9. Übungsrunde (15.1. bis 17.1.)
- keine Aufgabe für freiwillige Übungsrunde vom 22.1. bis 24.1.