# FI:IA011 Semantics - Course Information

## IA011 Programming Language Semantics

**Faculty of Informatics**

Spring 2024

**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 **Timetable**- Mon 13:00–15:50 B410
**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 49 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****Teaching methods**- Lectures, tutorials.
**Assessment methods**- Lectures: 2 hours/week. Tutorials: 1 hour/week.

Written exam. **Language of instruction**- Czech
**Further Comments**- Study Materials

The course is taught annually. **Teacher's information**- http://www.fi.muni.cz/usr/kucera/teaching.html

- Enrolment Statistics (recent)

- Permalink: https://is.muni.cz/course/fi/spring2024/IA011