703360 VU Logic and Learning A: Semantics of Programming Languages

summer semester 2025 | Last update: 05.02.2025 Place course on memo list
703360
VU Logic and Learning A: Semantics of Programming Languages
VU 3
5
weekly
annually
English

Students are able to formally specify the semantics of a simple functional or imperative programming language and instantiate and use verification tools such as the Hoare calculus or abstract interpretation for it. They can explain what the correctness of a compiler means formally.

Furthermore, they have acquired basic knowledge of the interactive theorem prover Isabelle/HOL and are able to formalise simple mathematical proofs by themselves.

Different kinds of formal semantics for programming languages: big-step, small-step, denotational; simple type systems; simple methods for program analysis and modification (initialisation analysis, constant folding, liveness); weakest precondition reasoning and the Hoare calculus; partial and total correctness; abstract interpretation

Basic Isabelle/HOL skills: non-recursive definitions, recursive definitions, inductive predicates; the structured proof language Isar; various schemes for induction and case distinction

Mostly slides, occasional blackboard use. Freely available textbook. Homework and in-class exercises.

written

Concrete Semantics, T. Nipkow und G. Klein, 2024.

ISBN: 978-3-319-10541-3

Freely available under: http://www.concrete-semantics.org

Good fundamental knowledge of logic (propositional logic, predicate logic), functional programming, and discrete mathematics as taught in e.g. the lectures "Introduction to Theoretical Computer Science", "Introduction to Functional Programming", "Discrete Structures", and "Logic".

Knowledge of Isabelle/HOL or program verification (e.g. Hoare calculus) is not necessary, but may be useful.

Allocation of places in courses with a limited number of participants (PS, SE, VU, PJ)

In courses with a limited number of participants, course places are allocated as follows:

1. Students for whom the study duration would be extended due to the postponement are to be given priority.

2. If the criteria in no. 1 do not suffice, first, students for whom this course is part of a compulsory module are to be given priority, and second, students for whom this course is part of an elective module.

3. If the criteria in no. 1 and 2 do not suffice, the available places are drawn by random.

Curriculum MA Computer Science 2021W



see dates
Group 0
Date Time Location
Thu 2025-03-06
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-03-13
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-03-20
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-03-27
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-04-03
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-04-10
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-05-08
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-05-15
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-05-22
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-06-05
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-06-12
13.45 - 16.15 HS 10 HS 10 Barrier-free
Thu 2025-06-26
13.45 - 16.15 HS 10 HS 10 Barrier-free
Group Booking period
703360-0 2025-02-01 08:00 - 2025-02-23 23:59 Book course
Eberl M.