UnivIS
Information system of Friedrich-Alexander-University Erlangen-Nuremberg © Config eG 
FAU Logo
  Collection/class schedule    module collection Home  |  Legal Matters  |  Contact  |  Help    
search:      semester:   
 
 Layout
 
printable version

 
 
Module Description Sheet (PDF)

 
 
 Also in UnivIS
 
course list

lecture directory

 
 
events calendar

job offers

furniture and equipment offers

 
 

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


Start semester: SS 2015Duration: 1 semesterCycle: jährlich (SS)
Präsenzzeit: 56 Std.Eigenstudium: 169 Std.Language: Deutsch und Englisch

Lectures:

    • Praktische Semantik von Programmiersprachen
      (Vorlesung mit Übung, 4 SWS, Tadeusz Litak, Mon, 16:15 - 17:45, 02.134-113; Wed, 16:15 - 17:45, E 1.11; single appointment on 13.5.2015, 18:00 - 20:00, 02.134-113; starting 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:

Keywords: 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 is a product of Config eG, Buckenhof