Programmierübungen II
Die Programmierübungen sollen die
Vorlesung "Einführung in die Informatik" unterstützen. Im Vordergrund
steht der Erwerb praktischer Fähigkeiten. Teilnehmer lernen
algorithmische Lösungen nach Prinzipien des Software Engineering
systematisch in Programme umzusetzen. Es wird die
Programmiersprache Ada2005 verwendet. Behandelt werden Datentypen,
statische und dynamische Datenstrukturen, Deklarationen, Variablen,
Auswahlanweisungen, Schleifen, Blockstrukturen, Ausnahmebehandlungen,
Funktionen und Prozeduren. Es werden die Tätigkeiten Neuentwicklung,
Dokumentation, Test und Fehlersuche, Bewertung von Ergebnissen sowie
Teamarbeit erlernt.
Aktuelles
22.10.2007: Die Scheine für die
Programmierübungen 2 sind nun verfügbar.
Sie können im Sekretariat der Abteilung
Programmiersprachen abgeholt werden. Im
Gegensatz zum Programmierkurs 1 wurden
auch für Wirtschaftsinformatiker scheine
auf Papier erstellt. Sie sollten diese
bitte ebenfalls abholen.
28.09.07: Die Scheine für die
Programmierübungen werden bis Ende
Oktober erstellt werden. Es wird dann
eine Nachricht hier veröffentlicht.
21.06.07: Alle Teilnehmer der
Programmierübungen haben eine e-Mail mit
einer Implementierung des
AVL_Trees-Pakets erhalten.
Sollten Sie diese e-Mail nicht bekommen
haben, oder das Attachment defekt sein, so
schreiben Sie mir bitte.
Ein Problem ist bereits bekannt:
Die Zeilen bis zur ersten Leerzeile wurden
in allen Attachments abgeschnitten.
Dieser Fehler in der e-Mail Generierung
fiel in den Tests leider nicht auf, da in
den meisten Implementierungen nur
Kommentare abgeschnitten werden und die
Pakete voll funktionsfähig bleiben.
Schreiben Sie mir bitte, falls die
Implementierung, die Sie erhalten haben,
dadurch nicht benutzbar ist. Sie erhalten
umgehend eine korrigierte e-Mail.
15.06.07: Die Formulierung der Aufgabe
4.3 scheint etwas missverständlich.
Hier einige Klarstellungen: Es gibt
Personen aus p, die abgewiesen werden,
weil jemand ihre Reservierungsnummer
erraten oder herausgefunden hat. Diese
Personen aus p sind beleidigt und gehen
nach Hause. Einige Personen, die nicht
aus p sind und abgewiesen werden, können
sich entscheiden doch noch eine reguläre
Karte zu kaufen. Personen der
Gruppe r wissen von ihrer Nummer, dass
ein solches Ticket existiert. Personen
der Gruppe q raten relativ blind. Die
Details des Ratevorgangs können
individuell ausgeprägt werden. Das Ziel
ist es den Einfluss auf die
Ausführungszeit zu ermitteln, den viele
erfolglose Suchen in der
Container-Struktur haben.
01.06.07: Das Beispiel für einen
Tauschzyklus vom 22.5. enthielt
einen Fehler. Es wurde durch eine
aktualisierte
neue Version ersetzt. In der
fehlerhaften Version wurde die
Währung GBP mit einem Faktor von
1.0000 annotiert. Dieser Wert kam
durch eine fehlerhafte
Initialisierung zustande und ist
offensichtlich gar nicht
erreichbar. Durch den guten Wert von
1.0000 wurden weitere Wege über den
Knoten fälschlicherweise nicht
verfolgt.
22.05.07: Nach der heutigen Diskussion
von Aufgabe 3.3 wurde die
Aufgabenstellung vereinfacht.
Eine neue Version des Übungsblatts
(mit dem heutigen Datum) kann
heruntergeladen werden. Kleinere
Zyklen, die Bestandteil des
maximalen Umtauschzyklus sind,
müssen nicht behandelt werden. In
diesem
Beispiel ist der zu findende
Zyklus rot hervor gehoben.
Offensichtlich würde ein Tausch
ZAR->Y->ZAR einen
höheren Gewinn bringen; dies muss
von Abgaben jedoch nicht erkannt
werden. Sollte Ihre Lösung diesen
Fall sinnvoll behandeln können, so
wird dies ebenfalls als korrekt
gewertet.
18.05.07: Die Implementierung von Quick
Sort zu Übungsblatt 3 enthielt
einen Fehler, durch den nur Arrays
mit positivem Index-Bereich
sortiert werden konnten. Bei
negativen Zahlen wurde
Constraint_Error
erhoben. Es ist nun ein Update
verfügbar (generic_quick_sort.adb,
Revision 371). Die Funktionalität
ist unverändert gegenüber der
vorigen Version.
16.05.07: Die Ergebnisse der Programmierübungen
1, WS06/07 sind nun fertig.
04.05.07: Der Termin der Vortragsübung wurde auf dienstags, 8:00 in V38.01 verlegt. Die einzelnen Veranstaltungsdaten sind in der Tabelle angegeben.
19.04.07: Die
Folien zur Kick-Off Veranstalltung
sind nun im Netz.
Übungsaufgaben
Es finden jeweils wöchentlich im Wechsel
eine Vortragsübung (Do, 8:00 Uhr in
V38.01) und Gruppenübungen statt. Zur
Teilnahme an den Gruppenübungen ist eine
Anmeldung in dem eClaus-System
erforderlich. Die benötigten
Anmeldedaten werden am 26.4., 8:00 Uhr
in der Vortragsübung bekannt gegeben.
| Termin
| Raum
| Tutor
| Zielgruppe
|
| Mi. |
15:45-17:15 |
0.363 |
Keller |
alle |
| Mi. |
17:30-19:00 |
0.447 |
Holz |
alle |
| Mi. |
17:30-19:00 |
0.457 |
Keller |
alle |
| Mi. |
17:30-19:00 |
0.463 |
Kessler |
alle |
| Do. |
17:30-19:00 |
0.447 |
Holz |
alle |
| Do. |
17:30-19:00 |
0.457 |
Erkilic |
alle |
| Do. |
17:30-19:00 |
0.463 |
Jakovljevic |
alle |
| Fr. |
14:00-15:30 |
0.363 |
Scherer |
alle |
| Fr. |
15:45-17:15 |
0.447 |
Reuß |
alle |
| Fr. |
15:45-17:15 |
0.457 |
Erkilic |
alle |
In der Veranstaltung können je nach
Maßgabe der relevanten Prüfungsordnung
entweder ein Einzelschein oder (für den
Studiengang Informatik) ein Anteil an
dem Programmierkurs-Schein erworben
werden. Zum Bestehen der Veranstaltung
sind folgende Bedingungen zu erfüllen:
- Regelmäßige Teilnahme an den Gruppenübungen
- Vorstellung mindestens einer Bearbeitung in der Gruppenübung
- Regelmäßige Abgabe von Bearbeitungen und Erwerb von 50% der erreichbaren Punkte
- Fähigkeit die Funktionsweise der eigenen Abgaben zu erläutern, einschließlich nicht selbst erstellter Teile bei Teamarbeit
Bearbeitungen der Übungsaufgaben müssen
der Programmierrichtlinie
genügen. Die Bearbeitungen werden
elektronisch in eClaus abgegeben.
Die folgende Tabelle zeigt Links zu
allen bereits ausgegebenen
Übungsblättern, sowie die relevanten
Termine. Die Spalte Plenum gibt den
Termin der Vortragsübung an, in der
Fragen zu dem Übungsblatt gestellt
werden können. In der Spalte
Besprechung muss jeweils der Wochentag
der eigenen Übungsgruppe ausgewählt
werden.
Vortragsfolien
Leitung
Steffen Keul
Die meiste aktuelle Literatur bezieht
sich noch auf Ada 95. Die neue Version
der Sprache (Ada 2005) ist von ISO noch
nicht als Standard veröffentlicht,
obwohl keine größeren Änderungen mehr
erwartet werden. Die Unterschiede
zwischen den beiden Versionen werden für
die Programmierübungen keine Rolle
spielen.
|