Fakultät für Informatik

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

TUM

Vorlesung | Wintersemester 2011/12
Grundlagen der Programm- und Systementwicklung
Prof. Dr. Manfred Broy

 

Vorlesung

Bereich: I Praktische Informatik, Vorlesung: 3V+2Ü Std., 6 ECTS Credits
Zeit und Ort: Dienstags, 8:15 - 9:00 Uhr, Interims Hörsaal 2
Mittwochs, 8:30 - 10:00 Uhr, MI HS 2
Beginn Vorlesung: Dienstag, 18. Oktober 2011
Sprechstunde: aktuelle Termine auf http://www4.in.tum.de/~broy/
Zentralübung: Dienstags, 12:00 - 13:30 Uhr in Raum 01.11.018 (Konrad Zuse)
Beginn ZÜ: 25. Oktober 2011
Übungsleitung: Dr. Maria Spichkova, Benedikt Hauptmann, Jakob Mund, Jonas Eckhardt
Klausur: Besuch der Vorlesung und der Übung, Bestehen der Klausur am Semesterende.
Klausurtermin: in der letzten Vorlesungswoche, zur Übungszeit Vorlesungszeit.

Es sind keine elektronischen Hilfsmittel zugelassen! Die Mitschriebe aus Vorlesung und Übung, sowie jegliche andere Literatur in Papierform sind jedoch erlaubt.
Nachholklausur: 26.04. 16:30-18:00 (HS1)
Repetitorien: 17.04. 16:00-18:00 im Raum 01.09.014 ('A. Church')
19.04. 16:00-18:00 im Raum 01.09.014 ('A. Church')
24.04. 16:00-18:00 im Raum 01.09.014 ('A. Church')
 
Aktuelle Mitteilungen
24.04.12Die Folien zum Repetetorium w(l)p,Fehlermodelliernung und Erweiterungen von Funktionen sind nun verfügbar (PPT oder PDF)
23.03.12Die Termine für die Nachholklausur und die Repetitorien sind nun bekannt.
05.02.12Das Übungsblatt 13 zur Verfeinerung (Übung vom 7. Februar) ist nun verfügbar (siehe Übungsseite bzw. PDF).
05.02.12Zur Erinnerung: die Klausur ist am Mittwoch dem 08.02.2012 von 8:30 bis 10:00 im HS2. Seid bitte alle rechtzeitg da, damit wir pünktlich anfangen können.
18.01.12Die Folien zur Vorlesung vom 1.2.2012 (Objektorientierung/Kontrakte) sind als PDF verfügbar.
20.01.12Das Übungsblatt 12 zu Korrektheitsbeweisen (Übung vom 31. Januar) ist nun verfügbar (siehe Übungsseite bzw. PDF).
20.01.12Das Übungsblatt 11 zur Referenzstrukturen und Prädikative Spezifikationen (Übung vom 24. Januar) ist nun verfügbar (siehe Übungsseite bzw. PDF).
20.01.12Ein Übungsblatt mit Klausuraufgaben aus dem Vorjahren ist verfügbar (siehe Übungsseite bzw. PDF).
18.01.12Die Folien zur Vorlesung vom 18.1.2012 (Zusicherungen) sind als PDF verfügbar.
13.01.12Das Übungsblatt 10 zur funktionalen Programmierung und wp-Semantik (Übung vom 17. Januar) ist nun verfügbar (siehe Übungsseite bzw. PDF).
08.01.12Das Übungsblatt 9 zur funktionalen Programmierung: Terminierung (Übung vom 10. Januar) ist nun verfügbar (siehe Übungsseite bzw. PDF).
17.12.11Das Übungsblatt 8 zur funktionalen Programmierung: Striktheit und sequentielle Erweiterung (Übung vom 20. Dezember) ist nun verfügbar (siehe Übungsseite bzw. PDF).
In der Übungsstunde sollen auch offene Fragen besprochen werden. Schicken Sie deshalb bitte vorab Ihre Fragen an die Übungsleitung.
09.12.11Das Übungsblatt 7 zur Fehlermodellierung und Sprachen über Grammatiken (Übung vom 13. Dezember) ist nun verfügbar (siehe Übungsseite bzw. PDF).
08.12.11In der Übung am 20.12. werden zusätzlich zum Aufgabenblatt Fragen beantwortet. Die Fragen bitte vorab per Mail an die Übungsleitung schicken.
02.12.11Das Übungsblatt 6 zur E/R- und OO-Datenmodellierung und zu initialien/terminalen Algebren (Übung vom 6. Dezember) ist nun verfügbar (siehe Übungsseite bzw. PDF).
28.11.11Das Übungsblatt 5 zu Homomorphismen über Modellen und deren Komposition (Übung vom 29. November) ist nun verfügbar (siehe Übungsseite bzw. PDF).
18.11.11Das Übungsblatt 4 zu Homomorphismen, Induktiver Aufbau von Sequenzen und Induktionsbeweisen (Übung vom 22. November) ist nun verfügbar (siehe Übungsseite bzw. PDF).
13.11.11Das Übungsblatt 3 zur Datenmodellierung und algebraische Speifikationen (Übung vom 15. November) ist nun verfügbar (siehe Übungsseite bzw. PDF).
07.11.11Die Klausur findet am Mittwoch, den 8.2.2012 zur Vorlesungszeit (genaue Uhrzeit wird noch bekanntgegeben) statt. Die Klausurdauer beträgt 90min.
07.11.11Das Übungsblatt 2 zur Anforderungsspezifikation und Datenmodellierung (Übung vom 08. November) ist nun verfügbar (siehe Übungsseite bzw. PDF).
27.10.11Das Übungsblatt 1 zu grundlegenden Begriffen (Übung vom 25. Oktober) ist nun verfügbar (siehe Übungsseite bzw. PDF).

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: 2012-04-25 15:50:56