PSlogo
homeicon uni sucheicon suche siteicon sitemap kontakticon kontakt
unilogo Universität Stuttgart
 

Institut für Softwaretechnologie

 

Programmierübungen

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 Kombinationsscheine für WS06/07 und einem beliebigen Sommersemester sind nun erstellt und können im Sekretariat der Abteilung Programmiersprachen (Raum 1.217) abgeholt werden.

16.05.2007: Die Ergebnisse der Programmierübungen hängen nun an dem Informationsbrett der Programmiersprachenabteilung (neben Raum 1.217 aus). Lehramts-Studierende und Studierende in einem der Studiengänge Technikpädagogik oder Sonstige, die bestanden haben, können einen Schein im Sekretariat der Abteilung (Raum 1.217) abholen. Für Studierende der Wirtschaftsinformatik wurde die Note direkt ans Prüfungsamt gemeldet. Studierende der Informatik erhalten einen Schein nach Bestehen der Programmierübungen 1 und 2.

19.02.2007: Die Bewertung der Programmierübungen ist abgeschlossen. Sobald eine Liste aller Scheine verfügbar ist wird dies hier angekündigt.

09.02.2007: Die Vorlesung am Montag 12.2. findet nicht mehr statt. In den Übungen wird regulär das letzte Übungsblatt besprochen.

08.02.2007: Bei der Bearbeitung von Blatt 13 scheinen vereinzelt Probleme mit der Deklaration eines abstrakten Datentypen für große Zahlen, der einen Vergleichsoperator = besitzt, aufzutreten. Hier gibt es dazu ein paar Bemerkungen.

31.01.2007: In dem Paket Ada.Calendar im Grundstudiumspool ist ein Fehler. Bitte beachten Sie die Hinweise zum Aufgabenblatt 12.

18.01.2007: In eClaus wurde versehentlich die Teilaufgabe 10.3 als Votieraufgabe angelegt. Der Fehler wurde um 13:20 korrigiert und es können jetzt Quelltexte hochgeladen werden.

17.01.2007: Einige Teilnehmer der Programmierübungen haben wegen einer anstehenden Scheinklausur um eine Verlängerung der Abgabefrist für Blatt 10 gebeten. Der Abgabetermin wurde deshalb auf Montag, 22.1.2007, 8:00 Uhr verschoben.

15.01.2007: Die erste Version der Quelltexte zum Übungsblatt 10 enthielt nicht alle Dateien. Der Fehler wurde um 13:40 korrigiert. Bitte laden Sie ggf. das Archiv erneut herunter.

21.12.2006: Die Übungsblätter 8 und 9 werden beide während der vorlesungsfreien Tage parallel verfügbar sein, obwohl die vorgesehene Bearbeitungszeit ausschließlich außerhalb der vorlesungsfreien Tage liegt. Bitte achten Sie darauf, nicht versehentlich ein Übungsblatt auszulassen.

13.12.2006: Auf vielfachen Wunsch hin wurde der Abgabezeitpunkt für das Übungsblatt 7 auf Montag 18.12.2006, 9:00 Uhr verschoben.

01.12.2006: Das Übungsblatt 6 ist verfügbar. In der ersten Version des Blatts war ein Fehler in dem Text zu Aufgabe 6.1 enthalten. Dieser Fehler wurde um 15:15 Uhr korrigiert. Falls Sie das Blatt vor diesem Zeitpunkt bereits heruntergeladen hatten, so überprüfen Sie bitte die Definition der Funktion f.

22.11.2006: In dem Skript adamake.bat wurde ein Fehler behoben. Das Skript schließt nun die Eingabeaufforderung nicht mehr unmittelbar nach Ende der Übersetzung.
In eClaus wurde eine Beispiellösung für Aufgabe 1.2 veröffentlicht. Sie kann unter dem Punkt Meine Leistungen / Lösungen - Korrigierte Abgaben eingesehen werden.

15.11.2006: Hier gibt es eine Anleitung zur Konfiguration von AdaGIDE.

09.11.2006: Das Skript zum Prüfen der Programmierrichtlinie und Übersetzen von Abgaben ist jetzt auch für Windows verfügbar (bei Problemen fragen Sie nach):

  • Für Linux:
    $ ./adamake.sh [programm.adb]
    dabei muss adamake.sh Berechtigung zum Ausführen haben und muss im aktuellen Verzeichnis liegen.
  • Für Windows:
    > adamake [programm.adb]
    dabei muss adamake.bat im aktuellen Verzeichnis liegen.
  • Für Linux und Windows können Sie das Skript auch in ein beliebiges Verzeichnis kopieren, das in der Umgebungsvariable PATH aufgelistet ist.
  • Für Linux können Sie auch einen Alias einrichten und auf das Skript verzichten.

06.11.2006: Sie können ein Skript verwenden um Ihre Abgabe auf Einhaltung der Programmierrichtlinie (siehe siehe Folien vom 6.11.) zu prüfen. Für Linux, bald auch für Windows. Aufruf:
$ ./adamake.sh p.adb

03.11.2006: Das Übungsblatt 2 ist online verfügbar. Neue Aufgaben werden jeweils vor Ablauf der Bearbeitungszeit des vorhergehenden Blatts hier angeboten.

31.10.2006: Es gibt einen weiteren Link mit Ressourcen zu Ada.

26.10.2006: Der Vorlesungstermin wurde auf Montags, 8:00 Uhr in V38.01 verlegt. Die nächste Veranstaltung ist am Montag, 30.10.2006.

24.10.2006: Eine der Freitags-Übungsgruppen wurde auf Montag verlegt. Bitte verteilen Sie sich möglichst gleichmäßig auf die Gruppen.

23.10.2006: Die Vorlesung wird diese Woche regulär am Donnerstag stattfinden. An diesem Tag wird versucht einen neuen Termin zu finden, um den Terminkonflikt der Wirtschaftsinformatiker aufzulösen.

19.10.2006: Für die Arbeit zu Hause kann der Ada Compiler gnatmake von dieser Seite heruntergeladen werden. Die Firma AdaCore verlangt eine Registrierung.
Alternativ kann unter Linux der GCC verwendet werden. Debian Distributionen bieten das Paket gnat an. Hier werden RPMs für Fedora und SuSE angeboten.

Die Veranstaltung beginnt mit der ersten Vorlesung am Donnerstag, 19.10.2006 in V38.01

Übungen

  • Blatt 13, Abgabe bis Sonntag, 11.2.2007.
  • Blatt 12, Quelltexte (aktualisiert 31.01., 17:45), Abgabe bis Samstag, 3.2.2007.
    Die im Grundstudiumspool installierte Version des Pakets Ada.Calendar enthält einen Fehler (siehe Bug 970). Sie können stattdessen das Paket A_Calendar verwenden, das in den Quelltexten zu diesem Übungsblatt enthalten ist.
  • Blatt 11, Quelltexte, Abgabe bis Samstag, 27.1.2007.
  • Blatt 10, Quelltexte (aktualisiert 15.1.2007, 13:40), Abgabe bis Montag, 22.1.2007, 8:00 (verschoben). Bitte beachten Sie, dass auf den letzten 4 Übungsblättern 40 Punkte erreicht werden müssen.
  • Blatt 9, expression_trees.ads, Abgabe bis Samstag, 13.1.2007
    Abgaben zu diesem Blatt sind parallel zu den Abgaben zu Blatt 8 möglich. Falls Sie das Blatt während der vorlesungsfreien Zeit bearbeiten möchten, so haben Sie die Möglichkeit dazu. Achten Sie bitte auf die korrekte Zuordnung Ihrer Abgabe in eClaus.
  • Blatt 8, Quelltexte, Abgabe bis Samstag, 6.1.2007
  • Blatt 7, Abgabe bis Montag, 18.12.2006, 9:00 Uhr.
  • Blatt 6, chess.ads, Abgabe bis Samstag, 9.12.2006.
    In dem Text zur Aufgabe 6.1 war bis Freitag, 1.12. 15:15 ein Fehler enthalten. Die aktuelle Version ist korrigiert. Falls Sie das Übungsblatt vor diesem Zeitpunkt bereits heruntergeladen hatten, so korrigieren Sie bitte die Definition der Funktion f.
  • Blatt 5, Material, Abgabe bis Samstag, 2.12.2006.
  • Blatt 4, hangman.zip, Abgabe bis Samstag, 25.11.2006.
  • Blatt 3, mirror.adb, Abgabe bis Samstag, 18.11.2006.
  • Blatt 2, Abgabe bis Freitag, 10.11.2006. Bitte prüfen Sie Ihre Bearbeitung vor der Abgabe auf Einhaltung der Programmierrichtlinie.
  • Blatt 1, denominations.ads, denominations.adb,
    Beachten Sie bitte zu der Aufgabe 1.1:
    • (ABC)36=13368 (Fehler in dem zweiten Beispiel)
    • Anstatt Eingabezahl: wird in den Beispielen zu 1.1 Eingabe: ausgegeben. In Abgaben werden beide Varianten akzeptiert.

    beachten Sie auch die Bemerkungen auf den Vortrags-Folien vom 30.10.2006,
    Abgabe bis Freitag, 3.11.2006
  • Programmierrichtlinie für die Abgaben
  • Blatt 0, keine Abgabe
  • eclaus

Bearbeitungen der Übungsblätter werden in dem eclaus-System abgegeben. Dazu ist eine Anmeldung erforderlich. Die erforderlichen Informationen wurden in der ersten Vorlesung bekannt gegeben.

Termin Raum Tutor Zielgruppe
Mo. 14:00-15:30 0.457 Keller WiInf u.a.
Mo. 17:30-19:00 0.447 Kessler WiInf u.a.
Mo. 17:30-19:00 0.463 Jakovljevic WiInf u.a.
Di. 15:45-17:15 0.453 Keul Inf.
Mi. 9:45-11:15 0.447 Scherer Inf.
Mi. 15:45-17:15 0.108 Holz Inf.
Do. 14:00-15:30 0.363 Haufler alle
Do. 14:00-15:30 0.463 Holz Inf.
Fr. 14:00-15:30 0.118 Erkilic Inf.
Fr. 14:00-15:30 0.453 Reuß Inf.
Fr. 15:45-17:15 0.447 Jakovljevic Inf.

Vortragsfolien

Die Vorlesung findet wöchentlich immer montags, 8:00-9:30 in V38.01 statt.

Dozent

Steffen Keul

Programmiervorkurs

Für Programmier-Anfänger gibt es zusätzliche Veranstaltungen der Fachschaft.

Literatur

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.