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 |
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. |
- 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.
Steffen Keul, email: pks@psmail.informatik.uni-stuttgart.de
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
|