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

Institut für Softwaretechnologie

 

Programmierübungen

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

  • 12.03.2008 Die Noten für Studierende der Wirtschaftsinformatik konnten nun doch direkt an das Prüfungsamt gemeldet werden. Wirtschaftsinformatiker müssen somit keine Scheine abholen.

  • 06.03.2008 Die Scheine sind fertig. An dem Informationsbrett vor dem Sekretariat der Abteilung Programmiersprachen (Zimmer 1.217) hängen Ergebnisse aus.

    Studierende der Informatik, die bereits die Programmierübungen 1 und 2 erfolgreich abgeschlossen haben, und Teilnehmer aller anderen Studiengänge, die die Programmierübungen 1 erfolgreich abgeschlossen haben, können einen Schein im Sekretariat bei Frau Kuhle abholen.

  • 18.02.2008 Die Scheine für die Programmierübungen werden derzeit erstellt. Dies kann erfahrungsgemäß 1-2 Monate dauern, Neuigkeiten werden hier veröffentlicht. Bitte sehen Sie von Nachfragen ab.

  • 08.02.2008 Die Vortragsübung findet am 11.2. nicht mehr statt.

  • 29.01.2008 Einige Bemerkungen zu Aufgabenblatt 11:

    • Das Beispiel zu Aufgabe 11.2 war fehlerhaft: Das Datum 02.05.2004 wurde zu dem Suchbaum zwei Mal hinzugefügt. Im Aufgabentext wird gefordert, dass es daraufhin trotzdem nur einmal enthalten sein darf. Das Aufgabenblatt wurde um 15:30 Uhr korrigiert.
    • In dem Beispiel zu Aufgabe 11.3 ist der Start-Knoten A nicht in der Ergebnismenge angegeben. Der Startknoten einer Suche ist offensichtlich immer erreichbar, deshalb darf er weggelassen werden. Es wird jedoch nicht als Fehler gewertet, falls eine Abgabe diesen Knoten in der Ergebnismenge auflistet.
    • Zur Bestimmung der Höhe eines Baums wird die Definition aus dem Skript zur Einführung in die Informatik 1 (Kapitel 3.7.5) verwendet.

  • 18.01.2008 Die erste Version von Blatt 10 enthielt eine falsche Ausgabe in dem Beispiel zu Aufgabe 2 und falsche Eingabe in dem Beispiel zu Aufgabe 3, diese enthielt nur 40 Bit, was offensichtlich zu kurz ist. Bitte stellen Sie sicher, dass auf Ihrem Blatt eine Ausgabe der Länge 64 Bit abgedruckt ist, der Fehler wurde gegen 19:55 korrigiert.

  • 19.12.2007 In eClaus ist eine Beispiellösung der Aufgabe 6.2 verfügbar

  • 06.11.2007 Falls Sie das Windows-Werkzeug AdaGIDE für die Programmierübungen einsetzen wollen, so können Sie diese Konfigurationsanleitung verwenden.

  • 06.11.2007 Es gibt nun einige Bemerkungen zu der überraschenden Semantik, falls Ada.Text_IO.Get_Line nach Ada.Integer_Text_IO.Get folgt.

  • 05.11.2007 Ab morgen, 06.11.2007 um 9:35, wird die Übungsgruppengröße auf 16 erhöht, da einige noch keinen Platz bekommen haben. Sollten Sie dann keinen Platz in einer Übungsgruppen finden, Terminkonflikte mit anderen Lehrveranstaltungen haben oder mit einem anderen Teilnehmer aus einer anderen Programmierübungsgruppe den Platz tauschen wollen, so schreiben Sie bitte an Steffen Keul.

  • 05.11.2007 Ein paar Links zu geeigneten Ada Compilern.

  • 29.10.2007 Ab morgen, den 30.10.2007 um 9:30, stehen zusätzliche Plätze in den Übungsgruppen zur Verfügung.

  • 25.10.2007 Ihr ahnt schon was? Richtig! Die Gruppengrößen werden wiedermal um 1 erhöht. Morgen (Freitag den 15.10) um 11:30 startet das lustige Spiel erneut.

  • 24.10.2007 Die Größen der Übungsgruppen werden erneut um 1 erhöht. Die Anmeldung wird morgen den 25.10 um 10:00 Uhr eröffnet.

  • 22.10.2007 (18:00) Die Übungsgruppen sind voll. Daher werden die Größen der Übungsgruppen auf 12 erhöht. Die Anmeldung ist ab morgen den 23.10 um 9:30 wieder möglich. (Dabei werden keine Gruppen gelöscht; es werden lediglich zusätzliche Plätze in bereits bestehenden Gruppen geschafft.)

    Nachtrag: Diese Information ist nur für Studierende, die sich noch in keine Übungsgruppe eingetragen haben, von Interesse.

  • 22.10.2007 Durch einen technischen Fehler konnten sich einige Teilnehmer bereits vor dem offiziellen Termin bei eClaus anmelden. Diese Gruppen wurden gelöscht und die Anmeldung beginnt wie angekündigt erst ab 9:35 Uhr.

  • 21.10.2007 Hier ist eine Anleitung zur Anmeldung an eClaus.

  • 18.10.2007 Die Zugangsdaten für eClaus werden in der ersten Vortragsübung bekannt gegeben. Die Eintragung in Übungsgruppen beginnt direkt im Anschluss daran.

  • 19.09.2007 Die Programmierübungen beginnen mit der ersten Vortragsübung in der zweiten s Vorlesungswoche am Montag, 22.10.2007, 8:00 Uhr in V38.01.

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

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
  • Technikpädagogik: Schein
  • BWL (to.): kein Nachweis

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
Mo. 17:30-19:00 0.124 Warth
Mo. 17:30-19:00 0.447 Kilic
Mo. 17:30-19:00 0.463 Holzmüller
Mi. 9:45-11:15 0.447 Kessler
Mi. 15:45-17:15 0.108 Kessler
Do. 14:00-15:30 0.463 Keller
Do. 17:30-19:00 0.363 Mack
Do. 17:30-19:00 0.463 Keller
Fr. 14:00-15:30 0.124 Knura
Fr. 14:00-15:30 0.463 Essl
Fr. 15:45-17:15 0.124 Körner
Fr. 15:45-17:15 0.463 Theis

Zusätzlich finden zu Beginn des Semesters Vortragsübungen montags um 8:00 Uhr in V38.01 statt. In den Vortragsübungen werden einführende Hinweise zur Programmierung in Ada gegeben und generelle Fragen beantwortet. Die Vortragsübungen sind ein freiwilliges Zusatzangebot und werden nicht das ganze Semester hindurch angeboten.

Termin Raum Zielgruppe
Mo. 8:00-9:30 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
Mo. Mi. Do. Fr.
Blatt 0 22.10. 29.10. keine 5.11. 7.11. 8.11. 9.11.
Blatt 1, Quelltexte 2.11. 5.11. 9.11. 12.11. 14.11. 15.11. 16.11.
Blatt 2 9.11. 12.11. 16.11. 19.11. 21.11. 22.11. 23.11.
Blatt 3, Quelltexte 16.11. 19.11. 23.11. 26.11. 28.11. 29.11. 30.11.
Blatt 4, Quelltexte 23.11. 26.11. 30.11. 3.12. 5.12. 6.12. 7.12.
Blatt 5, Quelltexte 30.11. 3.12. 7.12. 10.12. 12.12. 13.12. 14.12.
Blatt 6, Quelltexte 7.12. 10.12. 14.12. 17.12. 19.12. 20.12. 21.12.
Blatt 7, Quelltexte 14.12. 17.12. 4.01. 7.01. 9.01. 10.01. 11.01.
Blatt 8, Quelltexte 21.12. 7.01. 11.01. 14.01. 16.01. 17.01. 18.01.
Blatt 9, Quelltexte 11.01. 14.01. 18.01. 21.01. 23.01. 24.01. 25.01.
Blatt 10 18.01. 21.01. 25.01. 28.01. 30.01. 31.01. 1.02.
Blatt 11 25.01. 28.01. 1.02. 4.02. 6.02. 7.02. 8.02.
Blatt 12 1.02. 4.02. 8.02. 11.02. 13.02. 14.02. 15.02.

Vortragsfolien

  • Quelltext-Skizze (unvollständig, nicht kompilierbar) aus der 12. Vortragsübung
  • Die Beispiele der neunten Vortragsübung gingen leider verloren. Die Beispiellösung der Aufgabe 6.2 in eClaus enthält ähnliche Quelltexte.
  • Folien und Beispiele der sechsten Vortragsübung
  • Folien der fünften Vortragsübung
  • Folien der vierten Vortragsübung
  • Folien und Beispiele der dritten Vortragsübung
  • Folien der zweiten Vortragsübung
  • Folien und Beispiele der ersten Vortragsübung

Die Vortragsübung findet anfangs wöchentlich immer montags, 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.220060928prerelease (Ubuntu 4.1.1-15ubuntu1)). 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