Course Description

A real-time embedded system is designed to monitor and respond to external environments within a time deadline. Systems interact with the environment using a variety of hardware and software interfaces. The embedded software manages these interfaces and makes sure that the tasks are accomplished within tight timing constraints. The Real Time Operating System (RTOS) on these devices is responsible for scheduling independent tasks and managing processes. This introductory course provides a foundation in the features and programming models of real-time embedded systems with hands-on learning.
The course introduces the fundamentals of real-time scheduling and resource management protocols that are essential in designing and building products and covers the use of RTOS to effectively design tasks and device drivers to meet real-time requirements. You'll learn about important topics in real-time systems, such as priority-based real time scheduling, interrupt handling, using timers, and detecting and preventing deadlocks. The course will also discuss multi-threading, cooperative versus preemptive multi-tasking and inter-process communications, focusing on programming in FreeRTOS and understanding internals such as schedulers and idle tasks.
You'll design and code a real-time embedded systems project in C language on an open source FreeRTOS emulator. Upon completion of the course, you'll understand real-time embedded systems programming and the interactions of hardware, software, and the OS in such systems.

Learner Outcomes

Explain the fundamental concepts of real-time embedded systems including various scheduling and resource management protocols

Explain the software architecture of a real time embedded application, the hardware/software interfaces, the RTOS foundation, and the multitasking-based design needed to meet real time requirements of the system

Use the hardware interfaces that embedded applications typically need to work with

Explain the RTOS kernel, scheduling mechanisms, task management, interrupt management as well as IPC mechanisms

Design and program an embedded system application using a RTOS simulator

Compare and contrast existing commercial RTOS for performance and applicability


Experience in C or C++ programming and Linux

Applies Towards the Following Certificates

Enroll Now - Select a section to enroll in
Section Title
Introduction to Real-Time Embedded Systems Programming
M, W
Time (Central Time)
5:30PM to 8:30PM
Sep 11, 2023 to Oct 04, 2023
Schedule and Location
# of Course Hours
Delivery Option
Course Fee(s)
Rate non-credit $2,995.00
Potential Discount(s)
Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.