185.291 Formal Methods in Computer Science
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2019W, VU, 4.0h, 6.0EC
This course is evaluated following the new mode. Learn more

Course evaluation

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise

Learning outcomes

After successful completion of the course, students are able to...

  • make use of basic methods of computability theory in order to identify, for instance, undecidable problems
  • apply formal methods from complexity theory to new problems in order to prove their tractability or NP-hardness,
  • represent problems in the area of formal methods as satisfiability problems, to solve these problems with a SAT solver, and to formally argue the correctness of all involved techniques and reductions,
  • formally establish partial and total correctness of software systems, by using  deductive verification approaches based on Hoare logic and predicate transformers. Students will also be able to formulate program semantics and prove program properties algorithmically,
  • understand and apply the basic techniques of model checking: encoding specifications in temporal logic, reasoning about temporal logic formulae, model checking of temporal logic formulae on Kripke structures, using state space reduction techniques, and applying bounded model checking for verification tasks.

Subject of course

Introduction to complexity theory: problem reductions, P versus NP, undecidability; SAT solving and its applications in computer science; introduction to the formal semantics of programming languages; formal verification of programs; model checking and its applications in hard- and software verification.

Teaching methods

The course is organized in four blocks. The course (and thus each block) consists of a lecture and a consolidation part.

The topics of the course are presented during the lectures.

The consolidation part includes two additional classes per block for discussing examples and their solutions. Students receive an exercise sheet for each block. The submissions will be corrected and returned to the students

Three additional classes will be offered to recall some basic principles of mathematical proofs.

Mode of examination

Written

Additional information

Ects breakdown

  2 h introduction (first meeting)
60 h lecture (20 dates à 2h + 1h preparation)
40 h exercise sheets (4 sheets, 10 exercises/sheet, 1h/exercise)
16 h discussion of exercises (8 dates à 2h)
 30 h preparation for written exam
2 h written exam
-----------------------------------------------------------
150 h = 6 Ects

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Tue12:00 - 14:0001.10.2019 - 21.01.2020EI 10 Fritz Paschke HS Lecture
Wed12:00 - 14:0002.10.2019 - 22.01.2020EI 10 Fritz Paschke HS Lecture
Mon13:00 - 15:0007.10.2019 - 27.01.2020EI 10 Fritz Paschke HS Lecture
Formal Methods in Computer Science - Single appointments
DayDateTimeLocationDescription
Tue01.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed02.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Mon07.10.201913:00 - 15:00EI 10 Fritz Paschke HS Lecture
Tue08.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed09.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Mon14.10.201913:00 - 15:00EI 10 Fritz Paschke HS Lecture
Tue15.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed16.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Mon21.10.201913:00 - 15:00EI 10 Fritz Paschke HS Lecture
Tue22.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed23.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Mon28.10.201913:00 - 15:00EI 10 Fritz Paschke HS Lecture
Tue29.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed30.10.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Mon04.11.201913:00 - 15:00EI 10 Fritz Paschke HS Lecture
Tue05.11.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed06.11.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Mon11.11.201913:00 - 15:00EI 10 Fritz Paschke HS Lecture
Tue12.11.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture
Wed13.11.201912:00 - 14:00EI 10 Fritz Paschke HS Lecture

Examination modalities

The evaluation is based on a written exam.

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Fri16:00 - 18:0020.03.2020EI 9 Hlawka HS assessed05.03.2020 00:00 - 19.03.2020 08:00TISS2018 Termin 2
Fri16:00 - 18:0008.05.2020EI 9 Hlawka HS assessed24.04.2020 00:00 - 07.05.2020 08:00TISS2018 Termin 3

Course registration

Begin End Deregistration end
16.09.2019 08:00 21.10.2019 08:00 21.10.2019 08:00

Curricula

Literature

For slides and other material see the TUWEL course.

Previous knowledge

Basic knowledge in mathematical logic and algorithms are required (to the extent taught in “Theoretische Informatik und Logik” and
“Algorithmen und Datenstrukturen”).

Language

if required in English