Fakultät für Informatik

TU München - Fakultät für Informatik
Software- and Systems Engineering Research Group

TUM

Vorlesung | Sommersemester 2009
Grundlagen der Programm- und Systementwicklung
Prof. Dr. Manfred Broy

 

Vorlesung

Bereich: I Praktische Informatik, Vorlesung: 3V+2Ü Std., 6 ECTS Credits
Zeit und Ort: Montags, 14:15 - 15:00 Uhr, MI HS 2
Mittwochs, 10:15 - 12:00 Uhr, MI HS 2
Beginn Vorlesung: Mittwoch, 22. April 2009
Sprechstunde: aktuelle Termine auf http://www4.in.tum.de/~broy/
Zentralübung: Donnerstags, 8:30 - 10:00 Uhr, 2-stündig, 01.11.018 ("Zuse")
Beginn ZÜ: Donnerstag, 30. April 2009
Übungsleitung: Dr. K. Spies, Dr. M. Kuhrmann, Dr. W. Sitou, L. Heinemann, D. Thoma
Klausur: Besuch der Vorlesung und der Übung, Bestehen der Klausur am Semesterende.
Klausurtermin: in der letzten Vorlesungswoche, zur Übungszeit.

Es sind keine elektronischen Hilfsmittel zugelassen! Die Mitschriebe aus Vorlesung und Übung, sowie jegliche andere Literatur in Papierform sind jedoch erlaubt.
 
Aktuelle Mitteilungen
  • [10.07.2009] - Auf der Übungsseite steht eine Ergänzung zum Thema Zusicherungen zur Verfügung.
  • [22.06.2009] - Die Anmeldung für die Prüfung ist jetzt aktiv. Die Anmeldung erfolgt über TUMOnline bis zum 15.07.2009.
  • [15.06.2009] - Die Übung am 18.06.2009 findet 15 Minuten früher von 8:15 - 9:45 statt.
  • [05.05.2009] - Die Vorlesung am 06.05.2009 findet wegen der Fachschaftsvollversammlung nicht statt.
  • [30.04.2009] - Raumwechsel: Die Übung findet ab sofort im Raum "Zuse" (01.11.018) statt.
  • [28.04.2009] - Es wird ein Skript zur Vorlesung zur Verfügung gestellt. Dieses ist z.Zt. in Produktion, sobald es fertig gestellt ist, wird dies über diese Seite bekannt gegeben.

Es ist sinnvoll, sich mit den Übungsaufgaben auseinander zu setzen und die Übung zu besuchen, um sich den Vorlesungsstoff zu erarbeiten; dazu empfiehlt sich auch ein Blick in die Literatur. Für Fragen stehen die Übungsleiter nach der Zentralübung zur Verfügung.

Inhalt

Ziel der Vorlesung ist es, Methoden der Spezifikation, Modularisierung, Abstraktion, Verfeinerung und Verifikation sowohl in der funktionalen als auch der imperativen Programmierung zu vermitteln. Dabei spielen sowohl die formale Anforderungsdefinition (Spezifikation) als auch der Korrektheitsbeweis (Verifikation) von Implementierungen bezüglich ihrer Spezifikation eine zentrale Rolle.

  1. Grundlegende Begriffe
    1. Der Kern des Programmierproblems
    2. Strukturierung und Abstraktion in der Systementwicklung
    3. Modellierung in der Systementwicklung
    4. Der Einfluss der Notation und Formalität
    5. Deskriptive und operationelle Beschreibung
    6. Nutzungs- und Realisierungssicht
  2. Rechenstrukturen
    1. Zur Bedeutung von Rechenstrukturen
    2. Beschreibung von Daten- und Rechenstrukturen
  3. Daten als Rechenstrukturen
    1. Datenmodellierung im Software Engineering
    2. Algebraische Spezifikation
    3. Spezielle Rechenstrukturen
  4. Funktionale Programmierung
    1. Konzepte
    2. Fixpunkttheorie
    3. Beweisprinzipien für Rekursion
    4. Spezifikation funktionaler Programme
    5. Unterspezifikation und Nichtdeterminismus
    6. Techniken funktionaler Programmierung
  5. Zustandsorientierte, sequentielle Programme
    1. Zustände und Zustandsübergänge
    2. Logik zuweisungsorientierter Programme
  6. Referenzen und organisierte Speicher
    1. Referenzen
    2. Zyklische Referenzstrukturen
    3. Referenzen und Programmvariable
    4. Funktionen für organisierte Speicher
  7. Objektorientierung
    1. Objektorientierte Programmierung
    2. Objektorientierter Entwurf
    3. Objektorientierte Analyse
  8. Grundlagen der Methodik
    1. Schrittweise Verfeinerung
    2. Abstraktionsebenen
Hörerkreis: Studierende der Informatik nach dem Vordiplom/Bachelor

Voraussetzungen: Inhalte der Informatikvorlesungen bis zum Vordiplom

Empfehlenswert als Grundlage für Programmierung und Software Engineering.

Literatur

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2009-07-10 10:41:05