Fakultät für Informatik

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

TUM

Vorlesung | Wintersemester 2012/13
Grundlagen der Programm- und Systementwicklung
Prof. Dr. Manfred Broy

 

Vorlesung

Bereich: I Praktische Informatik, Vorlesung: 3V+2Ü Std., 6 ECTS Credits
Zeit und Ort: Mittwochs, 8:30 - 10:00 Uhr, MI Hörsaal 2
Donnerstags, 11:15 - 12:00 Uhr, 00.13.009A (MEDIEN)
Beginn Vorlesung: Donnerstag, 18. Oktober 2011
Sprechstunde: aktuelle Termine auf http://www4.in.tum.de/~broy/
Zentralübung: Freitags, 12:00 - 13:30 Uhr, MI Hörsaal 2
Beginn ZÜ: 26. Oktober 2012
Übungsleitung: Dr. Maria Spichkova, Veronika Bauer, Vasileios Koutsoumpas, Dr. Alexander Malkis
Klausur: Besuch der Vorlesung und der Übung, Bestehen der Klausur am Semesterende.
Klausurtermin: Mittwoch, den 6.2.2013 zur Vorlesungszeit (8:30 - 10:00).
Raum: Hörsaal MI HS 2.
Es sind keine elektronischen Hilfsmittel zugelassen! Die Mitschriebe aus Vorlesung und Übung, sowie jegliche andere Literatur in Papierform sind jedoch erlaubt.
Klausureinsicht: Mittwoch, den 20. März 2013, 14:00-14:30, Raum 00.13.009A.
Repetitorium:Findet am Dienstag, dem 16. April 2013, um 17:00 im Medienraum 00.13.009A (5613.EG.009A) statt.
Nachklausur:Freitag, den 19. April 2013, Einlass 14:30, Dauer 1,5 Stunden, schriftlich, MI Hörsaal 2. Es sind keine elektronischen Hilfsmittel zugelassen. Die Mitschriften aus Vorlesung und Übung, sowie jegliche andere Literatur in Papierform sind jedoch erlaubt.
Klausureinsicht: Donnerstag, den 2. Mai 2013, um 14:00, in 01.11.041. Wer kommen möchte, bitte Alexander Malkis Bescheid geben.
Folien: pdf Vorbemerkungen
Teil 1: pdf Einführung
Teil 2: pdf Datenmodellierung und Rechenstrukturen
Teil 3: pdf Algebraische Datenmodellierung (1)
Teil 4: pdf Algebraische Datenmodellierung (2)
Teil 5: pdf Algebraische Datenmodellierung (3)
Teil 6: pdf Funktionale Programmierung
Teil 7: pdf Funktionale Programmierung (Teil 2)
Teil 8: pdf  Anweisungen: Zustandsorientierte, sequentielle Programme
Teil 9: pdf  Referenzen, Zeiger und organisierter Speicher
Teil 10: pdf  Objektorientierung - Feinentwurf
Teil 11: pdf  Verfeinerung und Abstraktion

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: 2013-04-26 16:45:32