Skip to content

Materials for the course "Formal Methods in Software Engineering" at ITMO University

Notifications You must be signed in to change notification settings

Lipen/formal-methods-course

Repository files navigation

Formal Methods in Software Engineering

CI

This repo contains materials for the course "Formal Methods in Software Engineering" at ITMO University.

Rendered

Syllabus

Lecture: Propositional Logic

Lecture: Normal Forms

Lecture: Boolean Satisfiability

Lecture: DPLL

Lecture: Theory of Computation

Lecture: First-Order Logic

Build

To compile the PDFs from the source code, use Typst.

typst compile <file.typ>

Credits

This course is heavily based on the following courses and books:

  • Stanford University :: CS 357 :: Advanced Topics in Formal Methods (2019) :: link

  • University of Iowa :: CS 5810 :: Formal Methods in Software Engineering (2023) :: link

  • University of Iowa :: CS 4980 :: Introduction to Automated Reasoning (2024) :: link

  • University of Iowa :: CS 4350 :: Logic in Computer Science (2022) :: link

  • University of Toronto :: Formal Methods of Software Design :: link

  • Brown University :: CS 1710 :: Logic for Systems (2025) :: link

  • Cornell University :: CS 2800 :: Discrete Structures (2017) :: link

  • H. B. Enderton, A mathematical introduction to logic, 2nd ed. Academic Press, 2010.

  • M. Huth and M. Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, 2nd ed. Cambridge University Press, 2004.

  • B. C. Pierce et al., Logical Foundations, in Software foundations, vol. 1. Electronic textbook, 2025.

  • E. C. R. Hehner, a Practical Theory of Programming. Electronic textbook, 2025.

About

Materials for the course "Formal Methods in Software Engineering" at ITMO University

Resources

Stars

Watchers

Forks

Languages