UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Mathematik (Bachelor of Science) >>

Praktische Semantik von Programmiersprachen (SemProg)7.5 ECTS
(englische Bezeichnung: Practical Semantics of Programming Languages)
(Prüfungsordnungsmodul: Vertiefungsmodul Theoretische Informatik)

Modulverantwortliche/r: Tadeusz Litak
Lehrende: Tadeusz Litak


Startsemester: SS 2015Dauer: 1 SemesterTurnus: jährlich (SS)
Präsenzzeit: 56 Std.Eigenstudium: 169 Std.Sprache: Deutsch und Englisch

Lehrveranstaltungen:

    • Praktische Semantik von Programmiersprachen
      (Vorlesung mit Übung, 4 SWS, Tadeusz Litak, Mo, 16:15 - 17:45, 02.134-113; Mi, 16:15 - 17:45, E 1.11; Einzeltermin am 13.5.2015, 18:00 - 20:00, 02.134-113; ab 20.4.2015; Note that lectures begin April 20! We can adjust the slots if needed)

Inhalt:

We study the foundations of the imperative and functional languages, including semantics and type systems. The special feature of this course is that theory is done in a very practical and hands-on way: we not just prove, but program all the results from first-principles. The basic tool used in the course is Coq proof assistant, which can be regarded as a functional programming language in its own right. It has been used, for example, to verify correctness of Java Card technology, C compilers or, more recently, fragments of x86 architecture.
Our course is based on the online "Software Foundations" book: a successful model developed first at the Penn State University by ACM fellow Benjamin Pierce and tried since at numerous leading universities worldwide. At FAU, it was first run in SS 2013 with very satisfying effects.

Lernziele und Kompetenzen:


Wissen
The students explain the basics of both programming semantics and proof assistants, in particular Coq.
Verstehen
The students prove theorems using a proof assistant.
Anwenden
The students transfer proofs into programs and programs into proofs.
Analysieren
The students examine behaviour of simple programs using formal semantics
Evaluieren (Beurteilen)
The students evaluate the role played by logic and type theory in scientific approach to programming.
Erschaffen
The students provide formal semantics to a simple programming language.

Literatur:

Main reference: online book "Software Foundations" http://www.cis.upenn.edu/~bcpierce/sf/
Supplementary reading on the theory of programming: Types and Programming Languages Benjamin C. Pierce, The MIT Press
Supplementary reading on Coq: Interactive Theorem Proving and Program Development Coq'Art: The Calculus of Inductive Constructions Series: Texts in Theoretical Computer Science. An EATCS Series Bertot, Yves, Casteran, Pierre


Weitere Informationen:

Schlüsselwörter: Theorembeweisen Semantik Programmiersprachen
www: http://www8.cs.fau.de/course:semprog

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Mathematik (Bachelor of Science)
    (Po-Vers. 2015w | Bachelorprüfung | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsmodul Theoretische Informatik)
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Science)", "Informatik (Master of Science)" verwendbar. Details

Studien-/Prüfungsleistungen:

Mündliche Prüfung zu Praktische Semantik von Programmiersprachen (Prüfungsnummer: 599478)
Prüfungsleistung, mehrteilige Prüfung, Dauer (in Minuten): 20, benotet
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
In die Prüfungsnote gehen zu 50% die Leistungen aus der Bearbeitung von Übungsaufgaben ein.

Erstablegung: SS 2015, 1. Wdh.: WS 2015/2016 (nur für Wiederholer)
1. Prüfer: Lutz Schröder
1. Prüfer: Tadeusz Litak

UnivIS ist ein Produkt der Config eG, Buckenhof