Grundlagen der Software-Entwicklung
Prof. Dr.-Ing. Mark Minas
Wintertrimester 2008
Allgemeine Informationen
Raum und Zeit
- Vorlesung: Mittwoch, 09:45 - 11:15 Uhr in Raum 41/2417 (Mark Minas)
- Übung: Freitag, 09:45 - 11:15 Uhr in Raum 41/2417 (Volker Renneberg)
- Punkterwerb: Wie in der ersten Vorlesung erwähnt, können 4% der Klausurpunkte durch Bearbeitung besonderer Hausaufgaben erworben werden. Hierfür werden auf jedem Übungsblatt Aufgabe(n) als Punkterwerbsaufgabe (einschließlich Punkten) gekennzeichnet. Die bearbeiteten Aufgaben müssen an Volker Renneberg vor Beginn der jeweiligen Übungsstunde eingesendet werden (Schriftliche Abgabe vor der Übung auch möglich). Eine Einsendung nach Beginn der Übungsstunde wird nicht mehr berücksichtigt. Die Punkterwerbsaufgaben sind einzeln zu bearbeiten, Gruppenarbeit sowie das Kopieren fremder Lösungen ist nicht zulässig. Der gutzuschreibende Prozentsatz für die Klausur errechnet sich aus den erreichten erworbenen Punkten in Relation zu dem höchstmöglichen Punktsatz.
Format: Die Einsendungen per Email sollen als Satz von .doc- oder .pdf-Dateien erfolgen. Mit dem Tool "PDF Creator" können unter Windows alle Dokumente sehr einfach in PDF-Dateien gedruckt werden. Weiterhin sollen in jeder abgegebenen Datei im Kopf folgende Informationen zu finden sein: Name, Übungsblattnummer, Datum, Matrikelnummer.
Vorlesungsmaterialien
Vorlesungen
- Kapitel 0: Einführung
- Kapitel 1: Grammatiken
RecursiveDescent.java
EvalRecursiveDescent.java - Kapitel 2: Ada (Blockstruktur, Prozeduren, Parametertypen, Kontrollstrukturen, Typen, Pakete)
- Kapitel 3: Programmiermethodik
- Kapitel 4: Dynamische Datenstrukturen (Pointer, Listen, Speicherverwaltung, Baumstrukturen, Geflechte)
- Kapitel 5: Wiederverwendung
- Kapitel 6: Abstraktion
- Kapitel 7: Effiziente Suchbäume
- Kapitel 8: Streuspeichertabellen
- Kapitel 9: Algorithmen auf Graphen
Übungen
- Übungsblatt 1
Übungsblatt 1 (Lösungsvorschlag) - Übungsblatt 2
Übungsblatt 2 (Lösungsvorschlag) - Übungsblatt 3 (meineea.ads, meineea.adb, testlinearealgebra.adb)
Übungsblatt 3 (Lösungsvorschlag) (kassenzettelpkg.adb, kassenzettelpkg.ads, kassenzettelprog.adb, tuermevonhanoi.adb, tuermevonhanoipkg.adb, tuermevonhanoipkg.ads, linearealgebra.adb, linearealgebra.ads) - Übungsblatt 4
Übungsblatt 4 (Lösungsvorschlag) (queens.adb, binkoeff.adb) - Übungsblatt 5
Übungsblatt 5 (Lösungsvorschlag) (list_list.adb, Matrix.adb) - Übungsblatt 6
Übungsblatt 6 (Lösungsvorschlag) (teil_baum.adb, breadthbinbaum.adb) - Übungsblatt 7 (rational_pack.adb, rational_pack.ads, Stack_Pkg.adb, Stack_Pkg.ads, tausch.adb, tausch.ads)
Übungsblatt 7 (Lösungsvorschlag) (sortierpaket.adb, sortierpaket.ads, quicksort_test.adb) - Übungsblatt 8
Übungsblatt 8 (Lösungsvorschlag) (arrayADT.ads, arrayADT.adb) - Übungsblatt 9
Übungsblatt 9 (Lösungsvorschlag) (AVL_Tree_Pkg.ads, AVL_Tree_Pkg.adb, test_avl_tree_pkg.adb) - Übungsblatt 10
Übungsblatt 10 (Lösungsvorschlag) (mappack.ads, mappack.adb, MapTest.adb, warehouse.adb)
Ada Software
Installieren Sie die folgenden Programme in der angegebenen Reihenfolge auf Ihrem Rechner (Windows). Nutzen Sie die Ada Entwicklungsumgebung zum Bearbeiten, Kompilieren und Ausführen der Ada-Dateien.
Und in diesem Buch (Kratzer) finden Sie eine Einführung in die Programmiersprache Ada.