Cyber-Physical Systems Design & Analysis (Udacity)

Cyber-Physical Systems Design & Analysis (Udacity)

Cyber-physical systems, such as automobiles, cars, and medical devices, comprise both a physical part and a software part, whereby the physical part of the system sends information about itself to the software part, and the software sends information, usually in the form of commands, to the physical part.

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

Physical systems have "a life of their own," and they can often harm operators and/or cost a fortune to repair, the development of programs that control these systems cannot rely on "trial and error," and they must consider in-depth the role of the human operator.
This course introduces the principles, tools, models, and processes essential to cyber-physical system development, such as model-based development methods, basics of feedback for task scheduling, modern verification, and validation techniques, and their integration in today's industrial development processes.
As sensors, actuators, and embedded computing become less expensive, Cyber-Physical Systems (systems that combine closely linked software and physical components) are becoming increasingly part of our daily lives. Automotive, medical, and aeronautical applications are only a small part of an ongoing revolution whereby automated and intelligent machines will interact closely with humans. This course introduces not only the enormous design space offered by Cyber-Physical Systems (CPS) but also the trade-off that must be struck with indispensable safety requirements. Powerful CPS design frameworks are introduced to perform this trade-off, ranging from hardware to software engineering and from system design to validation.

What you will learn

CPS design

  • Models
  • Low-level control
  • Mid- and High-level automation

CPS environment

  • Humans and CPS
  • Hardware-software co-design
  • Sensors, actuators, and processors

CPS engineering

  • General principles
  • Architecture and Design Language
  • Formal methods for Verification and Validation

Prerequisites and requirements
An undergraduate education in Engineering or Computer Science, with programming experience.

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

Related Courses

Firebase in a Weekend: Android (Udacity) Udacity
Udacity

Firebase in a Weekend: Android (Udacity)

Building a Realtime Chat App. In this course, you’ll learn how to use Firebase. Firebase is app development platform that provides developers a variety of tools and a scalable infrastructure to build high quality apps. We’ll begin by showing you how easy it is to read and write almost any data to Firebase. After that, we’ll teach you how to allow users to login, have data associated with them and send them notifications. You’ll learn how to use Firebase’s Security and Rules language to secure and add permissions to your data.

Self Paced
Self-Paced
Web Connectivity and Security in Embedded Systems (Coursera) Coursera
EIT Digital

Web Connectivity and Security in Embedded Systems (Coursera)

In this course, we will explore several technologies that bring modern devices together, facilitating a network of connected things and making devices internet enabled. We will discuss rules, protocols, and standards for these devices to communicate with each other in the network. We will also go through security and privacy issues and challenges in cyber physical systems (CPS). We will explore measures and techniques for securing systems from different perspectives. Possible attack models are introduced and solutions to tackle such attacks are discussed. Moreover, some basic concepts related to privacy in cyber physical systems are presented.

May 25th 2026
5-12 Weeks
Automated Software Testing: Model and State-based Testing (edX) EdX
Delft University of Technology,DelftX

Automated Software Testing: Model and State-based Testing (edX)

Learn the advanced software testing techniques, tools, and best practices required to deliver high-quality software. Software testing gets a bad rap for being difficult, time-consuming, redundant, and above all - boring. But in fact, it is a proven way to ensure that your software will work flawlessly and can meet release schedules.

Self Paced
Self-Paced
Industry 4.0: How to Revolutionize your Business (edX) EdX
The Hong Kong Polytechnic University,HKPolyUx

Industry 4.0: How to Revolutionize your Business (edX)

An introduction to the fourth industrial revolution, it's major systems and technologies and how new products and services will impact business and society. We have witnessed the power of mechanization in the early nineteen century, automation in the seventies, information and the internet in the last decades. But now, the adaptation of connected intelligence into the business and social fabrics is advancing at an astonishing speed, which will completely change the way we conduct business.

Self Paced
Self-Paced
Software Analysis & Testing (Udacity) Udacity
Georgia Institute of Technology,Udacity

Software Analysis & Testing (Udacity)

This course covers the theory and practice of software analysis, which lies at the heart of many software development processes such as diagnosing bugs, testing, debugging, and more. It presents diverse techniques, each with their own strengths and limitations, for automating tasks such as testing, debugging, and finding bugs in complex real-world programs. These techniques include dataflow analysis, constraint-based analysis, type systems, model checking, symbolic execution, and more. The course teaches the principles underlying these techniques as well as imparts hands-on experience with using and implementing tools based on these techniques.

Self Paced
Self-Paced
Kotlin for Android Developers (Udacity) Udacity
Udacity

Kotlin for Android Developers (Udacity)

Convert an Android app from Java to Kotlin. In this course, Aaron Sarazan, Lead Software Engineer at Capital One and a leading advocate for Kotlin, demonstrates how to take a basic Android app in Java and convert it to Kotlin, teaching you key features of the Kotlin programming language along the way. This is an efficient, fast-paced introduction to Kotlin for experienced Java programmers.

Self Paced
Self-Paced
iOS Interview Prep (Udacity) Udacity
Udacity

iOS Interview Prep (Udacity)

Confidently take on the tech interview. This course is an excellent way to prepare for technical interviews. You’ll experience a mock interview, and review detailed analysis on how to field key industry questions. You’ll review common iOS Developer interview topics ranging from notifications and delegates to the model view controller, and learn best practices for behavioral questions and whiteboard problems.

Self Paced
Self-Paced
Data Structures & Algorithms in Swift (Udacity) Udacity
Udacity

Data Structures & Algorithms in Swift (Udacity)

Confidently take on the tech interview. Technical interviews follow a pattern. If you know the pattern, you’ll be a step ahead of the competition. This course will introduce you to common data structures and algorithms in Swift. You'll review frequently-asked technical interview questions and learn how to structure your responses. You will answer practice problems and quizzes to test your abilities. Then you'll practice mock interviews to get specific recommendations for improvement. Be ready for anything the technical interviewer throws at you.

Self Paced
Self-Paced