VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

263-2520-00L 5 Credits MSC , WBZ D-INFK
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Formal Foundations of Programming Languages

Lecturers & Examiners: Prof. Dr. Ralf Jung
VVZ CR 4.7

Last Updated: 2026-02-05 16:15:28

Abstract

The course covers topics in the theory of programming languages, types, and program verification, and how to construct and validate that theory with machine-checked proofs in the Coq proof assistant.

Objective

Students will learn how to develop machine-checked proofs, how to rigorously define the semantics of a programming language and its type system, and how to analyze and formally establish the guarantees of well-typed programs.

Content

The course will begin with an introduction to machine-checked proofs and the Coq proof assistant. It will introduce operational semantics, type systems, and type soundness proofs, starting with the simply-typed lambda calculus and then continuing with increasingly expressive languages. In the hands-on part of the course, students will carry out these proofs in Coq themselves. If time permits, the course will close with a module on program logics.

Resources

Lecture Notes

Will be made available on the course website.

Literature

Will be announced in the lecture.

General Information

Language
English
Levels
MSC , WBZ
Frequency
Yearly recurring

Examination

Type
session examination
Mode
written 120 minutes
Aids
A single hand-written sheet of A4 paper.
There will be one mid-term exam that can be used to obtain up to 0.25 bonus on the final grade.

Registration & Places

Max Places
35
Priority: Registration for the course unit is until 02.10.2023 only possible for the primary target group

Course Components

Type Title Time & Place Hours
lecture with exercise Formal Foundations of Programming Languages
  • Wed 09:15-12:00 (CAB G 59)
3 h weekly
exercise Formal Foundations of Programming Languages
  • Fri 11:15-12:00 (CAB G 52)
1 h weekly

Offered In