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

2024S, VU, 4.0h, 6.0EC

Properties

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

Learning outcomes

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

The course will not be offered in the summer term 2024 - next possibility to take the course is the winter term 2024. In the future, the course will be offered in the winter term only!

  • 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

The course will not be offered in the summer term 2024 - next possibility to take the course is the winter term 2024. In the future, the course will be offered in the winter term only!

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 will not be offered in the summer term 2024 - next possibility to take the course is the winter term 2024. In the future, the course will be offered in the winter term only!

The course is organized 4 blocks; each block consists of a lecture and consolidation part.

Lectures are provided via pre-recorded videos.

The consolidation part of each block has 3 live-lectures, in order to dicuss and solve examples. Students receive for each block a set of examples they have to solve. They receive individual feedback to their solutions.

Three additional classes are provided to recall basic proof techniques.


 

 

Please note: Depending on the currently required Covid measures, Q+A sessions might be online via Tuwel instead of in the lecture hall. Exams might be postponed or done via TUWEL.

 

 

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

Examination modalities

The evaluation is based on a written exam.

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Fri13:00 - 16:0017.05.2024Informatikhörsaal - ARCH-INF written08.04.2024 09:00 - 10.05.2024 23:59TISSExam 3 WS
Wed09:00 - 12:0026.06.2024Informatikhörsaal - ARCH-INF written03.06.2024 09:00 - 24.06.2024 23:59TISSExam 4 WS

Course registration

Begin End Deregistration end
15.02.2024 00:00 24.03.2024 22:59 24.03.2024 22:59

Curricula

Literature

For slides end exercises see the TUWEL online course.

Miscellaneous

Language

English