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

Plant Bioinformatics (Coursera) Coursera
University of Toronto

Plant Bioinformatics (Coursera)

The past 15 years have been exciting ones in plant biology. Hundreds of plant genomes have been sequenced, RNA-seq has enabled transcriptome-wide expression profiling, and a proliferation of "-seq"-based methods has permitted protein-protein and protein-DNA interactions to be determined cheaply and in a high-throughput manner. These data sets in turn allow us to generate hypotheses at the click of a mouse.

Sep 21st 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Sep 21st 2026
5-12 Weeks
Programando con Java para aplicaciones Android (Coursera) Coursera
Universidad Nacional Autónoma de México

Programando con Java para aplicaciones Android (Coursera)

¡Aprende lo mejor de Java para el desarrollo en Android! Descubre lo necesario para construir tus aplicaciones móviles de una forma sencilla, objetiva y práctica. A lo largo del curso, verás diversos ejemplos para crear tu primer Hola Mundo y practicarás la programación orientada a objetos.

Sep 21st 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.

Sep 21st 2026
5-12 Weeks
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks
Videojuegos: ¿de qué hablamos? (Coursera) Coursera
Universitat Autònoma de Barcelona

Videojuegos: ¿de qué hablamos? (Coursera)

Probablemente, todos hemos jugado a algún videojuego, pero ¿qué hay detrás de él? Podemos decir que - con independencia del videojuego - hay un árduo trabajo multidisciplinar que incluye desde aspectos de diseño hasta la programación como tal del videojuego. Este curso pretende ser un curso introductorio que muestre qué aspectos hay que considerar en el videojuego, y que permita con posterioridad abordar individualmente los temas que se consideran nucleares: diseño, arte, motor del videojuego y 'game play'.

Sep 21st 2026
5-12 Weeks
Quantitative Model Checking (Coursera) Coursera
EIT Digital

Quantitative Model Checking (Coursera)

The integration of ICT (information and communications technology) in different applications is rapidly increasing in e.g. Embedded and Cyber physical systems, Communication protocols and Transportation systems. Hence, their reliability and dependability increasingly depends on software. Defects can be fatal and extremely costly (with regards to mass-production of products and safety-critical systems).

Sep 7th 2026
5-12 Weeks
Learn React (Coursera) Coursera
Scrimba

Learn React (Coursera)

The ultimate React 101 - the perfect starting point for any React beginner. Learn the basics of modern React by solving 140+ interactive coding challenges and building eight fun projects. In this 143-part interactive tutorial, you'll learn how to build dynamic, interactive web applications with React.js. With Scrimba’s head of education, Bob Ziroll, as a guide, you’ll get to know all the bang-up-to-date features of React and fix them firmly in your memory by using them to create hands-on projects.

Sep 21st 2026
3 Weeks
Learn React Router 6 (Coursera) Coursera
Scrimba

Learn React Router 6 (Coursera)

Learn React Router v6, the most popular routing library for React applications and one of the most downloaded React support libraries ever. In this course, you’ll learn the most important parts of the React Router (v6) library while building an app called “VanLife”, an app for renting decked-out travel vans for your next road trip adventure.

Sep 21st 2026
3 Weeks
JavaScript Interview Challenges (Coursera) Coursera
Scrimba

JavaScript Interview Challenges (Coursera)

Your essential tech interview preparation pack! Practice solving problems and honing the skills you need to succeed in a frontend coding interview. Are you applying for frontend developer roles? Do you wish to test out your JavaScript knowledge? Do you love solving code challenges? If any of the above applies to you, JavaScript Interview Challenges should be your next Scrimba course!

Sep 21st 2026
3 Weeks
Preparing for the Google Cloud Professional Data Engineer Exam (Coursera) Coursera
Google Cloud

Preparing for the Google Cloud Professional Data Engineer Exam (Coursera)

From the course: "The best way to prepare for the exam is to be competent in the skills required of the job." This course uses a top-down approach to recognize knowledge and skills already known, and to surface information and skill areas for additional preparation. You can use this course to help create your own custom preparation plan. It helps you distinguish what you know from what you don't know. And it helps you develop and practice skills required of practitioners who perform this job.

Sep 21st 2026
5-12 Weeks