System Validation (Canvas Network)

Offered by Halmstad University,
System Validation (Canvas Network)

Anyone who has ever designed an embedded system or a communication protocol involving several components executing simultaneously knows that such software is inherently susceptible to bugs. Typical problems include race conditions, deadlocks, and unexpected interplay between different components. The parallel nature of these systems makes it notoriously hard to detect such bugs using testing (timing, e.g., plays a crucial role). This course is designed to provide an introduction to the problems that arise in the design of such systems. It provides ways to model such systems and reason about them.

Objectives:
The purpose of this course is to learn how to specify the behavior of embedded systems, and to experience the design of a provably correct system. In this course you will learn how to formally specify requirements, and to prove or disprove them on the behavior. You will experience how to apply the techniques in practice in a practical assignment.

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

Related Courses

Real-Time Embedded Systems Theory and Analysis (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Theory and Analysis (Coursera)

This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system.

Jun 29th 2026
4 Weeks
Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Jun 29th 2026
4 Weeks
Build Your First Internet of Things (IoT) Application on Arm (edX) EdX
Arm Education,ArmEducationX

Build Your First Internet of Things (IoT) Application on Arm (edX)

Learn to build functional IoT solutions such as an environmental sensor and an activity monitor that you can feature in your CV or portfolio of work - showcasing your skills to peers, professors or prospective employers. Arm technology powered the smartphone revolution, and now it’s helping power the Internet of Things (IoT). This online course will provide beginners with an accelerated path to gain the knowledge necessary to thrive in a world transformed by innovations in IoT.

Self Paced
Self-Paced
Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare) Skillshare
Skillshare

Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare)

This course introduces basic concepts of PIC micro-controller programming using C. Starting from installation of required software, this course gives insight of programming the PIC microcontroller to access General Purpose Input Output (GPIO) pins, Configuring external interrupts, Timers and counters, ADCs, LCD and Keypad interfacing, PWM generation and few communication protocols like UART, I2C and SPI.

Self Paced
Self-Paced
Embedded Systems (Udacity) Udacity
Georgia Institute of Technology,Udacity

Embedded Systems (Udacity)

The goal of this course is to take a holistic view of the embedded system stack with a focus on processor architectures, instruction sets and the associated advanced compiler optimizations that take advantage of the same. In the 21st century, embedded systems are the systems of future with cellular phones, smart-phones, tablets becoming the dominant platforms for computing and communication. The ubiquity of information and the associated need for the computation that accompanies it is driving this revolution only to be accelerated by the new paradigms such as the Internet-of-Things (IoT).

Self Paced
Self-Paced
Fundamentals of TinyML (edX) EdX
HarvardX,Harvard University

Fundamentals of TinyML (edX)

Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML. What do you know about TinyML? Tiny Machine Learning (TinyML) is one of the fastest-growing areas of Deep Learning and is rapidly becoming more accessible. This course provides a foundation for you to understand this emerging field.

Self Paced
Self-Paced
Systèmes embarqués et objets connectés - Démarche de conception (FUN) FUN
Université Fédérale Toulouse Midi-Pyrénées

Systèmes embarqués et objets connectés - Démarche de conception (FUN)

Coproduit par l'INP Toulouse et l'INSA Toulouse, ce MOOC constitue un module de positionnement général des systèmes embarqués et objets connectés dans leurs contextes opérationnels. Fortement novateur, il aborde ces systèmes selon un ensemble de points de vue pluridisciplinaires. L'objectif de ce MOOC est de vous permettre d'acquérir une démarche méthodologique, de mettre en place une pensée globale prenant en compte l'écosystème du domaine des systèmes embarqués et objets connectés dans une finalité de compréhension générale du système.

No sessions available
5-12 Weeks
Design and Prototype Embedded Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Design and Prototype Embedded Computer Systems (FutureLearn)

Discover embedded system design and work your way through the product design lifecycle. Supported by Google. Learn how to design your own embedded system. On this course from the Raspberry Pi Foundation, you will explore how embedded systems are used in the world around us. You will learn what makes an embedded system different from a general purpose system (such as a PC) and discover how embedded systems are specialised for a particular use case.

Nov 1st 2021
3 Weeks
System Validation (2): Model process behaviour (Coursera) Coursera
EIT Digital

System Validation (2): Model process behaviour (Coursera)

System Validation is the field that studies the fundamentals of system communication and information processing. It is the next logical step in computer science and improving software development in general. 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.

Jun 22nd 2026
3 Weeks
M2M & IoT Interface Design & Protocols for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

M2M & IoT Interface Design & Protocols for Embedded Systems (Coursera)

This course can also be taken for academic credit as ECEA 5348, part of CU Boulder’s Master of Science in Electrical Engineering degree. M2M and IoT Interface Design and Protocols is the third of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on connecting devices to each other and to the cloud to create prototypes and actual systems that flow data from devices to consumers. The class includes an introduction to M2M (Machine-to-Machine) and IoT (Internet of Things) concepts, using the cloud to develop IoT systems (specifically AWS (Amazon Web Services) and its IoT framework), a review of common communications protocols at every level of connected devices, and other IoT design concerns such as security, message queuing approaches, and the use and design of APIs and microservices .

Jun 29th 2026
4 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Jun 22nd 2026
4 Weeks