All participants are able to explain and apply formal programming-language-based techniques for the construction and verification of computer programs. Special emphasis will be made on techniques that surpass some of the limitations of mainstream programming in the imperative object oriented programming style, and on alternatives to mainstream verification using unit testing.
In particular, all participants should be able to:
The functional programming language Haskell will be used as a basis whenever appropriate.
Englisch-Kenntnisse
(Dieses Modul wird auf Englisch durchgeführt.)
The successful completion and submission of individual exercises or projects.
Attendance in the exercise sessions is required in order to demonstrate and answer questions about the "testat" exercises and projects.
Refer to the learning goals for the module.
Functional programming (Haskell):
Verification:
Formal foundations:
Additional topics will be covered, depending on student interest and the time available. Here are some examples of such topics covered in the past:
This course will be taught in English.
It is required that each participant have access to "Programming in Haskell" 2ed by Graham Hutton. Other material custom made for the course will be made available during its execution.
Taking part in the exam requires the successful completion and submission of individual "testat" exercises or projects. Attendance in the exercise sessions is required in order to demonstrate and answer questions about the "testat" exercises and projects.
(Durchführung gemäss Stundenplan)