Grundlagen der Programmkonstruktion
LVA 185.A02, VU, 2.9 Etcs, 2012 S
Grundlagen der Programmkonstruktion
Aktuell:
Im Zuge der Anpassung der Studierendenzahlen an die vorhandenen Lehrkapazitäten (siehe
www.schluesseltechnologie-informatik.at) wird sich der Ablauf ab dem
Wintersemester 2012/2013 im Vergleich zum Studienjahr 2011/2012 erheblich ändern.
Überblick
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 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:
Da die Lehrveranstaltung für Studienanfänger vorgesehen ist, 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-Bachelorstudiums gedacht, die im ersten Semester sind oder die nicht mehr angebotene Lehrveranstaltung
Einführung in das Programmieren
(EPROG) noch nicht absolviert haben.
Für diese Studierenden ist Grundlagen der Programmkonstruktion eine Voraussetzung für die Absolvierung der STEOP und den Studienabschluss.
Auch Studierende, die EPROG bereits absolviert haben, können sich Grundlagen der Programmkonstruktion als ergänzende PflichtLVA
anrechnen lassen.
Das ist in einigen Fällen sinnvoll, vor allem für Studierende, die noch relativ am Anfang des Studiums stehen.
Für Studierende kurz vor Abschluss ihres Bachelorstudiums ist es jedoch nicht sinnvoll, und es wird dringend davon abgeraten.
Ablauf:
Grundlagen der Programmkonstruktion setzt sich aus mehreren Teilen zusammen:
Anmeldung (Registrierung):
Die Teilnahme an der Lehrveranstaltung setzt eine Anmeldung über
TISS (das Informationssystem der TU Wien) voraus.
Gelegenheit dazu besteht vom 23. Februar bis zum 7. März 2012.
Die Teilnehmerzahl ist nicht beschränkt.
Daher spielt es keine Rolle, wann innerhalb dieses Zeitraums die Anmeldung erfolgt.
Weiters ist es notwendig, sich für (große) Übungsgruppen anzumelden.
Gelegenheit dazu besteht am Ende der Vorlesungen am 5.3. und 8.3.2012 im Prechtlsaal (also am 5.3. von ca. 15:45 bis 16:15 Uhr und am 8.3. von ca. 14:00 bis 14:15 Uhr und von 15:00 bis 15:15 Uhr, also nach dem Repetitorium).
Zur selben Zeit und am selben Ort werden auch ausgedruckte Skripten verkauft.
Können Sie zu keinem dieser Termine kommen, melden Sie sich bitte ab 8.3. per Mail.
Die Einteilung der Teilnehmer in Kleingruppen erfolgt in der ersten Übungsrunde.
Folgende Gruppen (A bis M) für die Übungsrunden stehen zur Auswahl:
| Gr. |
Tag |
Zeit |
Termine (alle im HS 15) |
| A |
Mi |
10:00-11:00 |
14.3., 28.3., 25.4., 09.5., 30.5., 13.6. |
| B |
Mi |
11:00-12:00 |
14.3., 28.3., 25.4., 09.5., 30.5., 13.6. |
| C |
Do |
17:00-18:00 |
15.3., 29.3., 26.4., 10.5., 31.5., 21.6. |
| D |
Mo |
13:00-14:00 |
19.3., 16.4., 30.4., 14.5., 04.6., 18.6. |
| E |
Mo |
14:00-15:00 |
19.3., 16.4., 30.4., 14.5., 04.6., 18.6. |
| F |
Di |
17:00-18:00 |
20.3., 17.4., 08.5., 15.5., 05.6., 19.6. |
| G |
Mi |
10:00-11:00 |
21.3., 18.4., 02.5., 16.5., 06.6., 20.6. |
| H |
Mi |
11:00-12:00 |
21.3., 18.4., 02.5., 16.5., 06.6., 20.6. |
| J |
Mo |
13:00-14:00 |
26.3., 23.4., 07.5., 21.5., 11.6., 25.6. |
| K |
Mo |
14:00-15:00 |
26.3., 23.4., 07.5., 21.5., 11.6., 25.6. |
| L |
Mo |
18:00-19:00 |
19.3., 16.4., 30.4., 14.5., 04.6., 18.6. |
| M |
Mo |
18:00-19:00 |
26.3., 23.4., 07.5., 21.5., 11.6., 25.6. |
Beurteilung:
Die Beurteilung erfolgt über ein einfaches Punktesystem, wobei die Anzahl der erreichten Punkte über die Note entscheidet:
- Die Mitarbeit in jeder einzelnen Übungsrunde (einschließlich der Qualität der Vorbereitung auf die Übungsrunde) wird mit bis zu 5 Punkten honoriert.
Insgesamt sind 30 Punkte aus den 6 Übungsrunden erreichbar.
- Jeder Test wird mit bis zu 30 Punkten beurteilt.
Für versäumte Tests gibt es keine Punkte.
Bei den 3 Tests sind insgesamt 90 Punkte erreichbar.
- Sollte sich herausstellen, dass eine Leistung durch Schummeln erreicht wurde, werden alle entsprechenden Punkte aberkannt.
- Die Note ergibt sich aus den erreichten Punkten folgendermaßen:
- Sehr gut: 106 bis 120 Punkte
- Gut: 91 bis 105 Punkte
- Befriedigend: 76 bis 90 Punkte
- Genügend: 61 bis 75 Punkte
- Nicht genügend: 0 bis 60 Punkte
In strittigen Fällen ist durch das Punktesystem keine eindeutige Einstufung möglich.
Diese Fälle werden durch ein Prüfungsgespräch in Ergänzung oder als Ersatz des Puntkesystems entschieden.
Als strittig werden vor allem Situationen betrachtet, in denen
- ein Verdacht auf Schummeln besteht, das Schummeln selbst aber nicht nachweisbar ist,
- oder wegen Krankheit, Unfall, dem Tod eines nahen Angehörigen oder aus ähnlichen schwerwiegenden Gründen die Teilnahme an Tests nicht möglich war.
Kein Anspruch auf ein Prüfungsgespräch als Ersatz für versäumte Tests besteht, wenn der Testtermin wegen beruflicher Verpflichtungen oder Urlaub, aus Prüfungsangst, oder wegen mangelhafter Vorbereitung nicht wahrgenommen wurde.
Vorbesprechung:
Die
Vorbesprechung zu
Grundlagen der Programmkonstruktion findet zusammen mit der Vorbesprechung zu
Programmierpraxis am Donnerstag, den 1. März 2012 von 13:00 bis 15:00 Uhr im
Kuppelsaal (mit Liveübertragung in den
Prechtlsaal) statt.
Zu diesem Termin werden wichtige Informationen zum Ablauf und zur Beurteilung gegeben.
Vortragende und Betreuer:
| Franz Puntigam |
(Lehrveranstaltungsleiter, Vorlesungen) |
| Karl Gmeiner |
(Übungsrunden, Tests) |
| Michael Reiter |
(Programmierpraxis, gelegentlich Vorlesungen) |
| Georg Brandstätter |
(Tutor; Sprechstunde: Di, 13:00-14:00) |
| Bernhard Seda |
(Tutor; Sprechstunde: Mi, 12:00-13:00) |
Bei Fragen und Problemen:
Gemeinsame Mailadresse für Grundlagen der Programmkonstruktion und Programmierpraxis:
Details und Download
Skriptum:
Folgende Varianten des aktualisierten 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
Vorlesungsunterlagen:
- Folien zur Vorbesprechung am 1. März 2012
- Folien zur Vorlesung am 5. März 2012
- Folien zur Vorlesung am 8. März 2012
- Folien zum Repetitorium am 8. März 2012
- Folien zur Vorlesung am 12. März 2012
- Folien zur Vorlesung am 15. März 2012
- Beispielprogramme zur Vorlesung am 15. März 2012
- Beispielprogramme zum Repetitorium am 15. März 2012
- Beispielprogramme zur Vorlesung am 22. März 2012
- Beispielprogramme zum Repetitorium am 22. März 2012
- Folien zur Vorlesung am 26. März 2012
- Beispielprogramme zur Vorlesung am 26. März 2012
- Beispielprogramme zur Vorlesung am 29. März 2012
- Folien zur Vorlesung am 16. April 2012
- Beispielprogramme zur Vorlesung am 16. April 2012
- Folien zur Vorlesung am 19. April 2012
- Beispielprogramme zur Vorlesung am 19. April 2012
- Folien zur Vorlesung am 23. April 2012
- Beispielprogramme zur Vorlesung am 23. April 2012
- Folien zur Vorlesung am 26. April 2012
- Beispielprogramme zur Vorlesung am 26. April 2012
- Beispielprogramme zur Vorlesung am 30. April 2012
- Folien zur Vorlesung am 3. Mai 2012
- Beispielprogramme zur Vorlesung am 3. Mai 2012
- Folien zur Vorlesung am 7. Mai 2012
- Folien zur Vorlesung am 10. Mai 2012
- Beispielprogramme zur Vorlesung am 10. Mai 2012
- Folien zur Vorlesung am 14. Mai 2012
- Beispielprogramme zur Vorlesung am 14. Mai 2012
- Folien zur Vorlesung am 21. Mai 2012
- Beispielprogramme zur Vorlesung am 21. Mai 2012
- Folien zur Vorlesung am 24. Mai 2012
- Beispielprogramme zur Vorlesung am 24. Mai 2012
- Folien zur Vorlesung am 31. Mai 2012
- Folien zur Vorlesung am 11. Juni 2012
- Beispielprogramme zur Vorlesung am 11. Juni 2012
- Folien zur Vorlesung am 14. Juni 2012
- Folien zur Vorlesung am 18. Juni 2012
- Folien zur Vorlesung am 21. Juni 2012
- Beispielprogramme zur Vorlesung am 21. Juni 2012
- Folien zur Vorlesung am 25. Juni 2012
Übungsaufgaben:
- Aufgabe für 1. Übungsrunde (14.3. bis 26.3.)
- Aufgabe für 2. Übungsrunde (28.3. bis 23.4.)
- Aufgabe für 3. Übungsrunde (25.4. bis 7.5.)
- Aufgabe für 4. Übungsrunde (9.5. bis 21.5.), Musterlösung
- Aufgabe für 5. Übungsrunde (30.5. bis 11.6.), Musterlösung
- Aufgabe für 6. Übungsrunde (13.6. bis 25.6.)