Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Majid Zamani

This course will provide different techniques on the verification of autonomous systems against stability, regular, or omega-regular properties. Such techniques include Lyapunov theories, reachability analysis, barrier certificates, and model checking. Finally, it will introduce several techniques on designing controllers enforcing properties of interest over the original autonomous systems.

Read more

This course will provide different techniques on the verification of autonomous systems against stability, regular, or omega-regular properties. Such techniques include Lyapunov theories, reachability analysis, barrier certificates, and model checking. Finally, it will introduce several techniques on designing controllers enforcing properties of interest over the original autonomous systems.

This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:

MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Introduction
Welcome to the beginning of our exploration into formal verification and synthesis within the model-based design framework. In this introductory module, we will guide you through the key processes of specification, design, verification, and refinement of systems. We will delve into the vital role of formal methods in guaranteeing the correctness of systems. Through captivating examples, we will demonstrate the importance of formal verification, especially in safety-critical and life-critical applications. This module lays the foundation for the more advanced topics we will address throughout the course.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides techniques for verifying and designing autonomous systems, which are increasingly used in various industries, research, and applications
Covers advanced techniques such as Lyapunov theories, reachability analysis, barrier certificates, model checking, and controller design, which are essential for ensuring the safety and correctness of autonomous systems
Taught by Majid Zamani, a renowned researcher in the field of formal verification, with extensive experience in developing techniques for autonomous systems
Part of CU Boulder's Master of Science in Computer Science degree program, indicating its academic rigor and relevance to industry standards
Requires no specific academic background or history, making it accessible to a wide range of learners interested in formal verification and autonomous systems
May require students to purchase additional materials or software, which could be a financial consideration

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Rigorous formal methods for autonomous systems

According to learners, this course provides a deep and rigorous exploration into the verification and synthesis of autonomous systems. Students frequently highlight its well-structured content and strong theoretical foundations, especially praising insightful lectures on topics like model checking and Lyapunov theories. While highly valuable, the course is consistently described as challenging due to its fast pace and assumed advanced prerequisites in mathematics and logic. Some noted areas for improvement include assignment clarity and forum support responsiveness. Overall, it's highly recommended for those seeking a profound, academic understanding of this specialized field.
Instructor provides clear explanations for complex technical concepts.
"The lectures on model checking were particularly insightful, and the practical examples helped solidify complex concepts. The instructor's explanations are clear..."
"The explanations of Lyapunov theories and barrier certificates were exceptionally clear."
"I found the theoretical foundations very strong, which is crucial for this topic, and the instructor feedback was timely."
Provides thorough, high-level exploration of complex topics.
"This course is incredibly well-structured and provides a deep dive into formal verification techniques."
"Excellent content! I especially appreciated the modules on abstraction and refinement. The course truly fills a gap in online education..."
"This course provided a fantastic introduction to a complex field. The explanations of Lyapunov theories and barrier certificates were exceptionally clear."
Some assignments lack clarity; forum support can be inconsistent.
"I found some of the assignment instructions could be a bit clearer, and they sometimes felt disconnected from the lecture examples."
"The forum support was also inconsistent, which made debugging assignments harder."
"I struggled with the rapid pace and the assumed prior knowledge, and the forum support was inconsistent."
Course requires strong foundational knowledge and significant time.
"The material is inherently challenging. Highly recommend for anyone serious about autonomous systems."
"It's demanding, requiring a strong background in discrete mathematics and logic, but it's worth the effort."
"I struggled with the rapid pace and the assumed prior knowledge. I felt a more gradual introduction... would have been beneficial."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Verification and Synthesis of Autonomous Systems with these activities:
Lyapunov theory for stability
Understand the theoretical foundations of stability analysis using Lyapunov theory and prepare for future modules on verification and synthesis.
Browse courses on Stability analysis
Show steps
  • Review the basics of Lyapunov theory and stability
  • Practice applying Lyapunov functions to analyze the stability of nonlinear systems
  • Solve problems involving the construction and validation of Lyapunov functions
Compile Resources on Verification and Synthesis
Stay organized and enhance your learning experience by assembling a compilation of valuable resources, including articles, videos, and tools related to verification and synthesis.
Browse courses on Verification
Show steps
  • Conduct research to gather relevant resources.
  • Organize the resources logically for easy access and reference.
Attend a Verification and Synthesis Workshop
Immerse yourself in the field by attending a workshop dedicated to verification and synthesis, gaining valuable insights and broadening your knowledge.
Browse courses on Verification
Show steps
  • Research and identify relevant workshops.
  • Attend the workshop and actively participate.
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Reachability analysis tutorial
Enhance your understanding of reachability analysis techniques to prepare for the verification of finite systems.
Browse courses on Reachability Analysis
Show steps
  • Find and follow an online tutorial on reachability analysis
  • Work through examples of reachability analysis on simple systems
  • Apply reachability analysis to a small-scale system of your own design
Review Lyapunov Theory and Its Applications
Review key principles of Lyapunov theory to strengthen your theoretical understanding of stability analysis.
Show steps
  • Read Introduction and Chapter 2 of the book.
  • Summarize the main principles and theorems of Lyapunov theory.
Discussion on model checking
Engage in discussions with peers to clarify concepts and deepen your understanding of model checking.
Browse courses on Model Checking
Show steps
  • Join an online discussion forum or study group
  • Participate in discussions on model checking topics
  • Ask questions and share your insights
Practice Reachability Analysis
Engage in regular practice of reachability analysis techniques to enhance your proficiency in formal verification.
Browse courses on Reachability Analysis
Show steps
  • Solve reachability problems on finite automata.
  • Use model checking tools to verify reachability properties.
Robotics workshop
Gain hands-on experience with robotics by attending a workshop that covers design, building, and programming.
Browse courses on Robotics
Show steps
  • Find a robotics workshop that aligns with your interests
  • Register for the workshop
  • Attend the workshop and actively participate in the activities
Design an Omega-Regular Property
Develop an understanding of omega-regular properties by designing your own, strengthening your grasp of formal specification techniques.
Browse courses on Formal Specification
Show steps
  • Identify a system behavior to be specified.
  • Use LTL or Buchi automata to represent the omega-regular property.
Simulate a controller for an autonomous system
Reinforce your understanding of the design and implementation of controllers for autonomous systems by creating a simulation.
Browse courses on Controller design
Show steps
  • Choose an autonomous system model to work with
  • Design a controller for the system
  • Create a simulation environment to test the controller
  • Run simulations to evaluate the controller's performance
  • Analyze the results and refine the controller as needed
Apply Barrier Certificates
Reinforce your understanding of barrier certificates through dedicated practice, solidifying your ability to apply them in formal verification.
Show steps
  • Construct barrier certificates for simple dynamical systems.
  • Verify safety properties using barrier certificates.
Autonomous systems design competition
Put your skills to the test by participating in a design competition that challenges you to create innovative autonomous systems.
Browse courses on Autonomous Systems
Show steps
  • Find a suitable competition to participate in
  • Gather a team and brainstorm ideas
  • Design and build an autonomous system that meets the competition requirements
  • Test and refine your system
  • Submit your system to the competition
Design a Controller for Verification
Apply the principles of controller design to develop a controller that meets specific properties, deepening your understanding of formal verification techniques.
Browse courses on Controller design
Show steps
  • Define a control system and the desired properties.
  • Use formal methods to design a controller.
Contribute to an Open-Source Verification Tool
Gain practical experience and contribute to the community by participating in the development of an open-source verification tool, deepening your understanding of the field.
Browse courses on Open Source
Show steps
  • Identify a suitable open-source verification tool.
  • Make contributions to the tool's codebase or documentation.

Career center

Learners who complete Verification and Synthesis of Autonomous Systems will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser