3rd course in the Real-time Embedded Systems Specialization.

Instructor: Sam Siewert, Ph.D., Associate Professor Adjunct 

Upon completion of this course, the learner will know the difference between systems you can bet your life on (mission critical) and those which provide predictable response and quality of service (reliable). This will be achieved not only by study of design methods and patterns for mission critical systems, but also through implementation of soft real-time systems and comparison to hard real-time.

Prior knowledge needed: ECEA 5315 Concept and Practices, ECEA 5316 Theory and Analysis, C Programming and Compilation Pipeline, Computer System Architecture, Operating Systems Concepts, Linux based Systems

Learning Outcomes

  • Properly assess risk, reliability and impact of failure in real-time systems.

  • Apply an architectural style (cyclic executive, RTOS, or embedded Linux) to more detailed design of a mission critical system, a soft real-time system, or a mixed hard and soft real-time system.

  • Thorough understanding of hardware/software device interfaces and resource view for hardware abstraction layers (HAL, BSP)

  • Design trade-offs with different real-time hardware architectures including single core, multi-core, hybrid-FPGA, GP-GPU, and DSP systems, with emphasis on multi-core

  • Mission critical embedded systems architecture and key design elements

  • Fault tolerant processing, memory, and I/O concepts


Duration: 16 hours

This module covers RTES software to hardware interface using device abstraction and driver interfaces as well as system scaling.

Duration: 15 hours

This module covers use of key algorithms such as error correct codes, redundant arrays of devices, and use of flash file systems with persistent memory.

Duration: 11 hours

Service software implementation efficiency and optimization methods are covered so that computations can be completed by deadlines. Methods of profiling and tracing applications  as well as the whole system are covered.

Duration: 11 hours

This module integrates fault tolerant and recovery methods with overall strategies for system level fault detection, isolation and recovery. Design with consideration of failure modes and effects analysis is covered along with redundancy management for high availability.

Duration: 2 hours

Final exam for this course. If you've upgraded from the non-credit to the for-credit version of this course, please make sure you review the additional for-credit materials in the Introductory module and anywhere else they may be found.

To learn about ProctorU's exam proctoring, system test links, and privacy policy, visit www.colorado.edu/ecee/online-masters/current-students/proctoru.


Percentage of Grade



Programming Assignments & Peer reviews


Final Exam


Letter Grade Rubric 

Letter Grade 
Minimum Percentage



A- 90%
B+ 87%



B- 80%
C+ 77%



C- 70%
D+ 67%