Fakultät für Informatik

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

TUM

Vorlesung | Sommersemester 2010
Grundlagen der Programm- und Systementwicklung
Dr. Maria Spichkova

 

Vorlesung

Bereich: I Praktische Informatik, Vorlesung: 3V+2Ü Std., 6 ECTS Credits
Zeit und Ort: Dienstags, 10:00 - 11:30 Uhr, MI 00.013.009A (Multimedia)
Donnerstags, 11:15 - 12:00 Uhr, MI 00.013.009A (Multimedia)
Beginn Vorlesung: Donnerstag, 22. April 2010
Sprechstunde: aktuelle Termine auf http://www4.in.tum.de/~spichkov/
Zentralübung: Mittwochs, 10:00 - 12:00 Uhr, 2-stündig, MI 01.11.018 ("Zuse")
Beginn ZÜ: Mittwoch, 28 April 2010
Übungsleitung: Dr. Katharina Spies, Philipp Neubeck, Dmitriy Golubitskiy, Thomas Kofler
Klausur: Besuch der Vorlesung und der Übung, Bestehen der Klausur am Semesterende.
Klausurtermin: 28.07.2010, 16:00 - 17:30, Raum MI 00.04.011 (Hörsaal 2) .
Es sind keine elektronischen Hilfsmittel zugelassen! Die Mitschriebe aus Vorlesung und Übung, sowie jegliche andere Literatur in Papierform sind jedoch erlaubt.
 
Aktuelle Mitteilungen
  • GruPSy-Vorlesungsplan für die Woche 14.06 - 18.06:
    Di., 15. Juni: Keine GruPSy-Vorlesung
    Do., 17. Juni: Verlängte GruPSy-Vorlesung 9:30 - 11:00 und 11:15 - 12:00
     
  • Am Di., den 18.05.2010 wird an der TUM die Studentische Vollversammlung (SVV) von 10-12 h stattfinden.
    Während dieser Zeit entfallen alle Vorlesungsveranstaltungen an der TU München!
    Die Zeit für die entsprechende "Extra-Vorlesung" wird am Do., den 20.05.2010, besprochen.

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. Rechen- und Datenstrukturen
    1. Zur Bedeutung von Rechenstrukturen
    2. Beschreibung von Daten- und Rechenstrukturen
    3. Datenmodellierung im Software Engineering
    4. Algebraische Spezifikation
    5. Spezielle Rechenstrukturen
    6. Terminduktion und Nothersche Ordnung
    7. Beweise durch Terminduktion
  3. Funktionale Programmierung
    1. Konzepte
    2. Grundlagen der Fixpunkttheorie
    3. Terminierung der Programmen
    4. Beweisprinzipien für Rekursion
    5. Spezifikation funktionaler Programme
    6. Unterspezifikation und Nichtdeterminismus
    7. Techniken funktionaler Programmierung
  4. Zustandsorientierte, sequentielle Programme
    1. Zustände und Zustandsübergänge
    2. Logik zuweisungsorientierter Programme
  5. Referenzen und organisierte Speicher
    1. Referenzen
    2. Zyklische Referenzstrukturen
    3. Referenzen und Programmvariable
  6. Grundlagen der Objektorientierung
    1. Objektorientierte Programmierung
    2. Objektorientierter Entwurf
    3. Objektorientierte Analyse
  7. Methodische Aspekte
    1. Abstraktion vs. Verfeinerung
    2. Schrittweise Verfeinerung
    3. Abstraktionsebenen
    4. Dekomposition
  8. Sprachen und Spezifikationen
    1. Programmiersprachen: Entwicklungslinien
    2. Programmieren in Logik
    3. Formale Spezifikationen auf Beispiel von FOCUS
  9. State of the art: Industrieprojekte
    1. Methoden und Prozessen
    2. Vorgehensmodellen
    3. Systementwicklungsprojekte
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: 2010-06-01 16:16:54