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

Institut für Softwaretechnologie

 

Programmierübungen 2

In den Programmierübungen steht der Erwerb praktischer Fertigkeiten, die Beherrschung einer Programmiersprache und die Befähigung, algorithmische Lösungen systematisch und nach Prinzipien des Software Engineering in ein Programm umzusetzen im Vordergrund. Die Programmierübungen unterstützen die Vorlesung Einführung in die Informatik. Derzeit wird die Programmiersprache Ada 2005 verwendet. Behandelt werden Datentypen, Variablen, Kontroll- und Datenstrukturen, Unterprogramme, Ausnahmebehandlung, Trennung von Spezifikation und Implementierung, Information Hiding sowie generische Einheiten. Es werden die Tätigkeiten Neuentwicklung, Dokumentation, Test und Fehlersuche, Bewertung von Ergebnissen sowie Teamarbeit erlernt. Im Programmierkurs 1 liegt der Schwerpunkt auf der sicheren Auswahl geeigneter Programmkonstrukte zur Erfüllung vorgegebener Anforderungen; im Programmierkurs 2 werden Lösungen für umfangreichere Aufgabenstellungen erarbeitet und diese effizient und korrekt umgesetzt.

Aktuelles

  • 15.09.2008 Urlaubsbedingt können Scheine erst wieder ab dem 6. Oktober abgeholt werden.

  • 01.09.2008 Die Scheine für die Programmierübungen sind fertig und können im Sekretariat der Abteilung Programmiersprachen (Zi. 1.217) abgeholt werden. Wirtschaftsinformatiker müssen keinen Schein abholen, da ihre Noten bereits ans Prüfungsamt gemeldet wurden. Informatiker erhalten erst einen Schein nach separatem bestehen von sowohl Programmierübungen 1 (Wintersemester) als auch Programmierübungen 2 (Sommersemester).

  • 24.06.2008 Das Programm aus der Vortragsübung heute

  • 17.06.2008 Am Dienstag, 24.06.2008 um 8:00 Uhr findet die nächste Vortragsübung statt.

  • 11.06.2008 Hier steht ein zum Aufgabenblatt 8 passender B-Baum zur Verfügung. Das Archiv enthält eine Wortliste words und die Directory tree, in der die selbe Liste als B-Baum in dem Speicherformat des Aufgabenblatts abgelegt ist.

  • 02.06.2008 Das Unterprogramm Insert des zu Blatt 7 ausgegebenen Quelltexts besaß einen Parameter Position (bis ca. 21:00 Uhr). Dieser hatte den Typ Cursor; dieser Typ wurde jedoch aus der Aufgabenstellung entfernt, um den Bearbeitungsumfang zu reduzieren. Sollte Ihre Version des Quelltexts diesen Parameter noch enthalten, so laden Sie den Quelltext bitte erneut herunter. Im korrigierten Quelltext steht im Header die Versionsnummer Revision: 785.

  • 28.05.2008 Die Instanzierung der generischen Prozedur Ordered_Sets.Check_Invariant kann wie in diesem Beipielprogramm gezeigt deklariert werden.

  • 27.05.2008 Aus der Vortragsübung:

    • Das generische Paket Ordered_Sets soll nicht verändert werden.
    • Instanz des generischen Pakets: int_sets.ads
    • Prozedur zur dot-Ausgabe eines Baums: ordered_sets-put.ads, ordered_sets-put.adb
    • Die Prozedur Check_Invariant dient der Konsistenzprüfung für die Datenstruktur. Sie wird als korrekt vorrausgesetzt.

  • 20.05.2008 Am Dienstag, 27.05.2008 um 8:00 Uhr findet die nächste Vortragsübung statt.

  • 30.04.2008 Wegen eines defekten Beamers finden die heutigen Gruppen teilweise in anderen Räumen statt:

    • Die Gruppe von Christine (Mi_1730-1900_0.447_CK) zieht um nach 0.363 und findet auch in den folgenden Wochen dort statt
    • Die Gruppe von Martin (Mi_1730-1900_0.463_MT) zieht um nach 0.447

  • 22.04.2008 Einige Teams werden sich erst in den Freitagsübungen bilden können. Deshalb wurde die Abgabefrist für Blatt 2 ausnahmsweise bis Dienstag, 24:00 Uhr verlängert.

  • 17.04.2008 Die Anmeldung zu den Übungsgruppen ist noch bis morgen möglich. Bitte beachten Sie, dass alle Teilnehmer eines Teams in der selben Übungsgruppe eingetragen sein müssen. Sollten Sie von Ihren Kommilitonen, mit denen Sie ein Team bilden wollen, getrennt worden sein, so tragen Sie sich bitte trotzdem in eine Gruppe ein und schreiben Sie mir eine Email mit allen Teilnehmern und deren Übungsgruppen. Vielleicht finden sich dann geeignete Tauschpartner.

  • 14.04.2008 Hier gibt es eine kurze Anleitung für die Eintragung in eine Übungsgruppe

  • 10.04.2008 Die Veranstaltung beginnt mit der ersten Vortragsübung am Dienstag, 15.04.2008, 8:00 Uhr. An diesem Termin werden Zugangsdaten für eClaus bekannt gegeben. Ab 9:35 Uhr ist die Anmeldung in eine Übungsgruppe möglich.

  • 08.04.2008 Webseite eingerichtet

Organisatorisches

Die Programmierübungen sind für Studierende der Studiengänge Informatik, Wirtschaftsinformatik, Lehramt, Technikpädagogik und techn. BWL. Studierende im Studiengang Softwaretechnik müssen am Programmierkurs für Softwaretechnik teilnehmen. Je nach Studiengang können unterschiedliche Leistungsnachweise erworben werden, nach Maßgabe der jeweiligen Prüfungsordnung. Sollten Ihnen hier Unstimmigkeiten auffallen, so wenden Sie sich bitte frühzeitig an die Übungsleitung.

  • Informatik: unbenoteter Schein nach separatem Bestehen von Programmierübungen 1 (WS) und 2 (SS)
  • Wirtschaftsinformatik: Note
  • Lehramt: Schein

Teilnehmer an den Programmierübungen müssen sich in dem eClaus-System zu einer Übungsgruppe anmelden. Auf dieser Webseite werden wöchentlich Aufgabenblätter zum Download bereitgestellt, die dann von den Teilnehmern bearbeitet werden. In eClaus geben die Teilnehmer ihre Bearbeitungen ab, die dann von dem Tutor korrigiert und bewertet werden. In der Gruppenübung stellt je ein Teilnehmer seine Lösung vor und die Teilnehmer besprechen mit Anleitung ihres Tutors die korrekte Lösung.

Termin Raum Tutor Zielgruppe
Mi. 15:45-17:15 0.363 Keller
Mi. 17:30-19:00 0.447 Keller
Mi. 17:30-19:00 0.457 Holzmüller
Mi. 17:30-19:00 0.463 Theis
Do. 17:30-19:00 0.363 Kilic
Do. 17:30-19:00 0.447 Theis
Fr. 14:00-15:30 0.363 Mack
Fr. 15:45-17:15 0.447 Mack
Fr. 15:45-17:15 0.457 Kausch
Fr. 15:45-17:15 0.463 Seybold

Zusätzlich finden unregelmäßig Vortragsübungen dienstags um 8:00 Uhr in V38.01 statt. Die Vortragsübungen sind ein freiwilliges Zusatzangebot und werden nur nach Ankündigung und nicht das ganze Semester hindurch angeboten.

Termin Raum Zielgruppe
Di. 8:00-9:30 nach Ankündigung V38.01 alle

Übungsblätter

Bearbeitungen der Übungsaufgaben müssen der Programmierrichtlinie (Postscript, doppelseitig) genügen. Die Bearbeitungen werden elektronisch in eClaus abgegeben.

Hinweis: Der GNAT-Compiler bietet eine Reihe nützlicher Kommandozeilen-Schalter, die Sie stets verwenden sollten. Dadurch kann Sie der Compiler auf mögliche Fehler und einige Verstöße gegen die Programmierrichtlinie hinweisen. Eine Auswahl dieser Optionen bieten die folgenden Skripte an.

  • 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.

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.

Übungsblatt Ausgabe Plenum Abgabe Besprechung
Mi. Do. Fr.
Blatt 1 15.04. 15.04. 22.04. 23.04. 24.04. 25.04.
Blatt 2 21.04. -- 28.04. 30.04. 02.04.
Blatt 3 28.04. -- 05.05. 07.05. 08.05. 09.05.
Blatt 4 05.05. -- 19.05. 21.05. 23.05.
Blatt 5 13.05. -- 26.05. 28.05. 29.05. 30.05.
Blatt 6, Quelltext 26.05. 27.05. 02.06. 04.06. 05.06. 06.06.
Blatt 7, Quelltext 02.06. -- 09.06. 11.06. 12.06. 13.06.
Blatt 8 09.06. -- 16.06. 18.06. 19.06. 20.06.
Blatt 9, Quelltext 16.06. -- 23.06. 25.06. 26.06. 27.06.
Blatt 10, Quelltext 23.06. 24.06. 30.06. 02.06. 03.06. 04.06.
Blatt 11 30.06. -- 07.07. 09.07. 10.07. 11.07.
Blatt 12 07.07. -- 14.07. 16.07. 17.07. 18.07.

Vortragsfolien

Die Vortragsübung findet nach Ankündigung dienstags, 8:00-9:30 in V38.01 statt.

Leitung

Steffen Keul, email: pks@psmail.informatik.uni-stuttgart.de

Ada-Compiler

Eine geeignete Version des GNAT Compilers ist im Grundstudiumspool installiert (derzeit in der Version GNAT 4.1.320070929prerelease (Ubuntu 4.1.2-16ubuntu3)). Die verschiedenen GNAT-Versionen unterscheiden sich im Umfang der Bibliotheksfunktionen. Manche Ada 2005 spezifische Unterprogramme sind in älteren Versionen nicht verfügbar. Auch wird der Kommandozeilenparameter -gnat05 in alten Compilern noch nicht unterstützt.

GNAT für private Rechner kann herunter geladen werden:

  • Für Linux: am besten ein Paket der jeweiligen Distribution verwenden
  • Für Windows+Linux (Registration erforderlich): AdaCore
  • Für Verschiedene Betriebssysteme: GCC

Literatur