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.
- Grundlegende Begriffe
- Der Kern des Programmierproblems
- Strukturierung und Abstraktion in der Systementwicklung
- Modellierung in der Systementwicklung
- Der Einfluss der Notation und Formalität
- Deskriptive und operationelle Beschreibung
- Nutzungs- und Realisierungssicht
- Rechen- und Datenstrukturen
- Zur Bedeutung von Rechenstrukturen
- Beschreibung von Daten- und Rechenstrukturen
- Datenmodellierung im Software Engineering
- Algebraische Spezifikation
- Spezielle Rechenstrukturen
- Terminduktion und Nothersche Ordnung
- Beweise durch Terminduktion
- Funktionale Programmierung
- Konzepte
- Grundlagen der Fixpunkttheorie
- Terminierung der Programmen
- Beweisprinzipien für Rekursion
- Spezifikation funktionaler Programme
- Unterspezifikation und Nichtdeterminismus
- Techniken funktionaler Programmierung
- Zustandsorientierte, sequentielle Programme
- Zustände und Zustandsübergänge
- Logik zuweisungsorientierter Programme
- Referenzen und organisierte Speicher
- Referenzen
- Zyklische Referenzstrukturen
- Referenzen und Programmvariable
- Grundlagen der Objektorientierung
- Objektorientierte Programmierung
- Objektorientierter Entwurf
- Objektorientierte Analyse
- Methodische Aspekte
- Abstraktion vs. Verfeinerung
- Schrittweise Verfeinerung
- Abstraktionsebenen
- Dekomposition
- Sprachen und Spezifikationen
- Programmiersprachen: Entwicklungslinien
- Programmieren in Logik
- Formale Spezifikationen auf Beispiel von FOCUS
- State of the art: Industrieprojekte
- Methoden und Prozessen
- Vorgehensmodellen
- 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
|