Automated Reasoning: Symbolic Model Checking (Coursera)

Offered by EIT Digital,
Automated Reasoning: Symbolic Model Checking (Coursera)

This course presents how properties of acting systems and programs can be verified automatically. The basic notion is a transition system: any system that can be described by states and steps. We present how in CTL (computation tree logic) properties like reachability can be described.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Typically, a state space may be very large. One way to deal with this is symbolic model checking: a way in which sets of states are represented symbolically. A fruitful way to do so is by representing sets of states by BDDs (binary decision diagrams).
Definitions and basic properties of BDDs are presented in this course, and also algorithms to compute them, as they are needed for doing CTL model checking.

Syllabus

WEEK 1
CTL model checking
After a general introduction to the MOOC, this module starts by a general description of model checking.Then Computation Tree Logic (CTL) is introduced: a language in which properties on transition systems can be described. The algorithm to check whether such a property holds is given in an abstract setting, leaving implicit how sets of states are represented.

WEEK 2
BDDs part 1
In this module BDDs (binary decision diagrams) are introduced as decision trees with sharing. They represent boolean functions.
Extra requirements on both decision trees and BDDs are presented from which uniqueness of the representation can be concluded.

WEEK 3
BDDs part 2
After some examples of BDD, the algorithm is presented and discussed to compute the ROBDD of any propositional formula.

WEEK 4
BDD based symbolic model checking
In this last module the topics of CTL model checking and BDDs are combined: it is shown how BDDs can be used to represent sets of states in a way that the abstract algorithm for CTL mode checking can be used, and much larger state spaces can be dealt with than by using explicit state based model checking. Sever examples are presented.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Design Principles: an Introduction (Coursera) Coursera
University of California, San Diego

Design Principles: an Introduction (Coursera)

What makes an interface intuitive? How can I tell whether one design works better than another? This course will teach you fundamental principles of design and how to effectively evaluate your work with users. You'll learn fundamental principles of visual design so that you can effectively organize and present information with your interfaces. You'll learn principles of perception and cognition that inform effective interaction design. And you'll learn how to perform and analyze controlled experiments online. In many cases, we'll use Web design as the anchoring domain.

Nov 16th 2026
3 Weeks
System Validation (4): Modelling Software, Protocols, and other behaviour (Coursera) Coursera
EIT Digital

System Validation (4): Modelling Software, Protocols, and other behaviour (Coursera)

System Validation is the field that studies the fundamentals of system communication and information processing. It allows automated analysis based on behavioural models of a system to see if a system works correctly. We want to guarantee that the systems does exactly what it is supposed to do. The techniques put forward in system validation allow to prove the absence of errors. It allows to design embedded system behaviour that is structurally sound and as a side effect enforces you to make the behaviour simple and insightful.

Nov 16th 2026
2 Weeks
Machine Learning for All (Coursera) Coursera
University of London

Machine Learning for All (Coursera)

Machine Learning, often called Artificial Intelligence or AI, is one of the most exciting areas of technology at the moment. We see daily news stories that herald new breakthroughs in facial recognition technology, self driving cars or computers that can have a conversation just like a real person. Machine Learning technology is set to revolutionise almost any area of human life and work, and so will affect all our lives, and so you are likely to want to find out more about it.

Nov 16th 2026
4 Weeks
Data Processing Using Python (Coursera) Coursera
Nanjing University

Data Processing Using Python (Coursera)

This course is mainly for non-computer majors. It starts with the basic syntax of Python, to how to acquire data in Python locally and from network, to how to present data, then to how to conduct basic and advanced statistic analysis and visualization of data, and finally to how to design a simple GUI to present and process data, advancing level by level.

Nov 23rd 2026
5-12 Weeks
Introduction to Blockchain (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Introduction to Blockchain (Coursera)

Before diving into an in-depth study of blockchain and cryptocurrency technologies, this course can provide high-level explanations and practical examples that can be easily understood and applied by individuals who do not have a blockchain background. These explanations will relate to blockchain and cryptocurrency concepts and how they can be utilized in real-world scenarios.

Nov 16th 2026
5-12 Weeks
Automated Reasoning: satisfiability (Coursera) Coursera
EIT Digital

Automated Reasoning: satisfiability (Coursera)

In this course you will learn how to apply satisfiability (SAT/SMT) tools to solve a wide range of problems. Several basic examples are given to get the flavor of the applications: fitting rectangles to be applied for printing posters, scheduling problems, solving puzzles, and program correctness. Also underlying theory is presented: resolution as a basic approach for propositional satisfiability, the CDCL framework to scale up for big formulas, and the simplex method to deal with linear inequallities.

Oct 26th 2026
4 Weeks
Exam Prep CKA: Certified Kubernetes Administrator (Coursera) Coursera
Whizlabs

Exam Prep CKA: Certified Kubernetes Administrator (Coursera)

Kubernetes (K8s) is an open-source system for deploying, scaling, automating, and managing containerized applications. This automation helps in improving productivity, efficiency, and reduction of operational downtime for enterprises. As a result, you can gain better career opportunities with skills in managing large and complex applications.

Nov 16th 2026
5-12 Weeks
Introduction to Agile Development and Scrum (Coursera) Coursera
IBM

Introduction to Agile Development and Scrum (Coursera)

After successfully completing this course, you will be able to embrace the Agile concepts of adaptive planning, iterative development, and continuous improvement - resulting in early deliveries and value to customers. This course will benefit anyone who wants to get started with working the Agile way. It is particularly suitable for IT practitioners such as software developers, development managers, project managers, product managers, and executives.

Nov 16th 2026
4 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Nov 16th 2026
3 Weeks
Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Nov 16th 2026
5-12 Weeks