TU Wien:Formal Methods in Systems Engineering VU (Kovacs)
Daten[Bearbeiten | Quelltext bearbeiten]
| Vortragende | Katalin Fazekas• Laura Kovacs• Alexander Pluska• Adrian Rebola Pardo• Eva Maria Wagner• Georg Weissenbacher• Florian Zuleger |
|---|---|
| ECTS | 6,0 |
| Letzte Abhaltung | 2025W |
| Sprache | English |
| Mattermost | formal-methods-in-systems-engineering • Register • Mattermost-Infos |
| Links | tiss:192164, eLearning |
Inhalt[Bearbeiten | Quelltext bearbeiten]
noch offen, bitte nicht von TISS/u:find oder Homepage kopieren, sondern aus Studierendensicht beschreiben.
Ablauf[Bearbeiten | Quelltext bearbeiten]
Like in Formal Methods in Computer Science (which this course replaces) there are exercise sheets for every block, which do not count towards the grade. They are not corrected, but sample solutions are presented in the lecture. There is a small project for each block, which are worth 5 points each. The written exam is 80 points, with 20 points for each block. To pass, at least 2 projects need to be completed, and the total points must be . There are no additional requirements to have certain points in the exam or in every block.
There are 2 exam dates. After the first date, they only issue a certificate for students who passed. If a student passes the first exam they can also take the second, but the latest attempt counts.
Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
Logic - without knowing first order logic it would be very hard; modal logic is helpful for the Kripke structures used in block 4
Lambda calculus, functional programming is helpful for block 3
Some programming experience for the projects - not necessarily in the languages used, the projects are quite small
Vortrag[Bearbeiten | Quelltext bearbeiten]
noch offen
Übungen[Bearbeiten | Quelltext bearbeiten]
Block 1 Satisfiability[Bearbeiten | Quelltext bearbeiten]
Python - using pySAT to implement a given algorithm
Block 2 Deductive Verification[Bearbeiten | Quelltext bearbeiten]
Dafny - adding annotations to a given program that implements the extended euclidean algorithm
Block 3 Refinement Types[Bearbeiten | Quelltext bearbeiten]
LiquidHaskell - mostly adding refinement types to given functions, but also adding additional functions
Block 4 Model Checking and Temporal Logic[Bearbeiten | Quelltext bearbeiten]
NuSMV - completing a given model and adding LTL specifications
Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]
noch offen
Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]
noch offen
Zeitaufwand[Bearbeiten | Quelltext bearbeiten]
noch offen
Unterlagen[Bearbeiten | Quelltext bearbeiten]
Block 2 Deductive Verification[Bearbeiten | Quelltext bearbeiten]
Only slight changes to block 3 in the old version, so looking at old exercises and exams is useful: Formal Methods in Computer Science
Block 3 Refinement Types[Bearbeiten | Quelltext bearbeiten]
This youtube series might be helpful for people who have not used Haskell before: Haskell for Imperative Programmers
Lambda calculus playlist, this video includes logical connectives that were asked in the exam on 2026-02-27: https://www.youtube.com/watch?v=K-4Mj3LpP2E
Tipps[Bearbeiten | Quelltext bearbeiten]
noch offen
Highlights / Lob[Bearbeiten | Quelltext bearbeiten]
noch offen
Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]
noch offen