Fakultät für Informatik

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

TUM

Vorlesung | Wintersemester 2003/04
Grundlagen der Programm- und Systementwicklung
Prof. Dr. Manfred Broy

 

Vorlesung

Bereich: I, Vorlesung: 3 Std.
Zeit und Ort: Mittwoch 8:25 - 10:00 Uhr, PH HS2 (Physik Garching Hörsaal 2)
Freitag
12h
07min 30sec-12h 52min 30sec, MW0001
Beginn Vorlesung: Mittwoch, 22. Oktober 2003
Sprechstunde: Freitag 11:00-12:00 im Büro MI 01.11.052 (in der Vorlesungszeit)
Zentralübung: Donnerstag 13:00-15:00 Uhr, Raum 00.04.011 (MI HS 2) 2-stündig
Beginn ZÜ: Donnerstag, 30. Oktober 2003
Übungsleitung: Dr. Bernhard Schätz und Dr. Katharina Spies (Mail an Katharina).
 
Aktuelle Mitteilungen


Die Übung in dieser Woche wird verschoben von Donnerstag auf Freitag, den 6.2.2004. Raum 01.11.018 15:00 bis 16:30 Uhr


Den Schein über die erfolgreiche Teilnahme an der Vorlesung und den Übungen zur Vorlesung erhalten Sie mit dem Bestehen der Semestralklausur. Der Klausurtermin ist

Donnerstag, 12. Februar 2004 zur Übungszeit, also von 13:00-15:00 Uhr im Raum MI 00.04.011

Zur Klausur sind Bücher und eigene Skripten zugelassen. Die Aufgaben werden zu Themen des gesamten Vorlesungsstoffes gestellt und orientieren sich an den Aufgaben der Übungsblätter.
Bitte melden Sie sich verbindlich zu der Klausur an. Durch eine Mail (mit Name und Matrikelnummer ) an Katharina Spies (spiesk@in.tum.de).


Am 4.12.2003 fällt die Übung wegen des Dies Academicus aus!

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
    1. Algebraische Spezifikation
    2. 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: Studenten der Informatik nach dem Vordiplom

Voraussetzungen: Inhalte der Informatikvorlesungen bis zum Vordiplom

Empfehlenswert als Grundlage für Programmierung und Software Engineering.

Literatur

  Katharina Spies, 26.9.2003

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2004-02-02 13:21:59