IA011 Programming Language Semantics

Faculty of Informatics
Spring 2022
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Taught in person.
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Mgr. Bc. Tomáš Janík (assistant)
Guaranteed by
prof. RNDr. Antonín Kučera, Ph.D.
Department of Computer Science - Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Supplier department: Department of Computer Science - Faculty of Informatics
Prerequisites
Students should be familiar with basic notions of set theory and formal logic (validity and provability, correctness and completeness of deductive systems, etc.)
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 48 fields of study the course is directly associated with, display
Course objectives
An introduction to the theory of formal semantics of programming languages (operational, denotational, and axiomatic semantics).
Learning outcomes
After graduation, student will:
understand basic types of formal semantics of programming languages;
be able to reason about properties of programs using formal semantics;
understand basic notions of temporal logics.
Syllabus
  • Formal semantics of programming languages, basic paradigms (operational, denotational, and axiomatic approach).
  • Structural operational semantics and its variants (small-step and big-step semantics).
  • Denotational semantics. Complete partial orders, continuous functions. The fixed-point theorem and its applications, semantics of recursion. Equivalence of operational and denotational semantics.
  • Axiomatic semantics. Hoare's deductive system, its correctness and completeness.
  • Temporal logics; the semantics of non-terminating and parallel programs.
Literature
  • SCHMIDT, David A. The structure of typed programming languages. Cambridge: MIT Press, 1994. viii, 367. ISBN 0262193493. info
  • WINSKEL, Glynn. The formal semantics of programming languages : an introduction. Cambridge: MIT Press, 1993. xi, 361 s. ISBN 0-262-23169-7. info
Teaching methods
Lectures, tutorials.
Assessment methods
Lectures: 2 hours/week. Tutorials: 1 hour/week.
Written exam.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is taught: every week.
Teacher's information
http://www.fi.muni.cz/usr/kucera/teaching.html
The course is also listed under the following terms Autumn 2002, Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2022/IA011