Quantitative Model Checking (Coursera)

Offered by 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).

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

First, a model of the real system has to be built. In the simplest case, the model reflects all possible states that the system can reach and all possible transitions between states in a (labelled) State Transition System. When adding probabilities and discrete time to the model, we are dealing with so-called Discrete-time Markov chains which in turn can be extended with continuous timing to Continuous-time Markov chains. Both formalisms have been used widely for modeling and performance and dependability evaluation of computer and communication systems in a wide variety of domains. These formalisms are well understood, mathematically attractive while at the same time flexible enough to model complex systems.
Model checking focuses on the qualitative evaluation of the model. As formal verification method, model checking analyzes the functionality of the system model. A property that needs to be analyzed has to be specified in a logic with consistent syntax and semantics. For every state of the model, it is then checked whether the property is valid or not.
The main focus of this course is on quantitative model checking for Markov chains, for which we will discuss efficient computational algorithms. The learning objectives of this course are as follows:

  • Express dependability properties for different kinds of transition systems .
  • Compute the evolution over time for Markov chains.
  • Check whether single states satisfy a certain formula and compute the satisfaction set for properties.

Syllabus

WEEK 1
Module 1: Computational Tree Logic
We introduce Labeled Transition Systems (LTS), the syntax and semantics of Computational Tree Logic (CTL) and discuss the model checking algorithms that are necessary to compute the satisfaction set for specific CTL formulas.

WEEK 2
Discrete Time Markov Chains
We enhance transition systems by discrete time and add probabilities to transitions to model probabilistic choices. We discuss important properties of DTMCs, such as the memoryless property and time-homogeneity. State classification can be used to determine the existence of the limiting and / or stationary distribution.

WEEK 3
Probabilistic Computational Tree Logic
We discuss the syntax and semantics of Probabilistic Computational Tree logic and check out the model checking algorithms that are necessary to decide the validity of different kinds of PCTL formulas. We shortly discuss the complexity of PCTL model checking.

WEEK 4
Continuous Time Markov Chains
We enhance Discrete-Time Markov Chains with real time and discuss how the resulting modelling formalism evolves over time. We compute the steady-state for different kinds of CMTCs and discuss how the transient probabilities can be efficiently computed using a method called uniformisation.

WEEK 5
Continuous Stochastic Logic
We introduce the syntax and semantics of Continuous Stochastic Logic and describe how the different kinds of CSL formulas can be model checked. Especially, model checking the time bounded until operator requires applying the concept of uniformisation, which we have discussed in the previous module.

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

Related Courses

Service-Oriented Architecture (Coursera) Coursera
University of Alberta

Service-Oriented Architecture (Coursera)

Based on an understanding of architectural styles, you will review architectures for web applications, then explore the basics of Service-Oriented Architecture (SOA) in two approaches: Web Services (WS*) and Representational State Transfer (REST) architecture. In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API).

Nov 2nd 2026
4 Weeks
Process Mining: Data science in Action (Coursera) Coursera
Eindhoven University of Technology

Process Mining: Data science in Action (Coursera)

Process mining is the missing link between model-based process analysis and data-oriented analysis techniques. Through concrete data sets and easy to use software the course provides data science knowledge that can be applied directly to analyze and improve processes in a variety of domains. Data science is the profession of the future, because organizations that are unable to use (big) data in a smart way will not survive. It is not sufficient to focus on data storage and data analysis. The data scientist also needs to relate data to process analysis.

Nov 16th 2026
5-12 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Nov 9th 2026
3 Weeks
The R Programming Environment (Coursera) Coursera
Johns Hopkins University

The R Programming Environment (Coursera)

This course provides a rigorous introduction to the R programming language, with a particular focus on using R for software development in a data science setting. Whether you are part of a data science team or working individually within a community of developers, this course will give you the knowledge of R needed to make useful contributions in those settings.

Nov 2nd 2026
4 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
4 Weeks
Design Patterns (Coursera) Coursera
University of Alberta

Design Patterns (Coursera)

This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, learners will gain a foundation for more complex software applications. Finally, learners will identify problematic software designs by referencing a catalog of code smells. You will be challenged in the Capstone Project to redesign an existing Java-based Android application to implement a combination of design patterns. You will also critique a given Java codebase for code smells.

Nov 2nd 2026
4 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Nov 9th 2026
5-12 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Nov 2nd 2026
4 Weeks
Working with Integrated Development Environments (Coursera) Coursera
University of Leeds

Working with Integrated Development Environments (Coursera)

Integrated Development Environments (IDEs) are vital in increasing developer productivity and learning to work with them will help you create impressive software projects whether you're a beginner or have some programming experience. This course provides the essential skills and knowledge to excel in software development using Integrated Development Environments (IDEs). You'll cover IDE fundamentals, including environment setup, interface navigation, and valuable features like debugging.

Nov 16th 2026
2 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (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 2nd 2026
5-12 Weeks