Method
Flexible
Term
WINTER
Units
3.0 QUARTER UNITS
Cost
$910

Course Description


A real-time embedded system is designed to monitor and respond to external environments within a time deadline. A wide variety of devices that you see on the market today fall into this category - personal health and fitness trackers, smart thermostats, home security systems, and smart video cameras, to name a few. These 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 commercial 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.


Prerequisites / Skills Needed

A strong background in C programming and an understanding of embedded system architecture.

  • Flexible Attend in person or via Zoom at scheduled times.
Schedule
Date
Start Time
End Time
Meeting Type
Location
Mon, 01-05-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 01-05-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 01-12-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 01-12-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 01-26-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 01-26-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 02-02-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 02-02-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 02-09-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 02-09-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 02-23-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 02-23-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-02-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-02-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-09-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-09-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-16-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-16-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-23-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Mon, 03-23-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
 

黑料不打烊

This class meets simultaneously in a classroom and remotely via Zoom. Students are expected to attend and participate in the course, either in-person or remotely, during the days and times that are specified on the course schedule. Students attending remotely are also strongly encouraged to have their cameras on to get the most out of the remote learning experience. Students attending the class in-person are expected to bring a laptop to each class meeting.

No meetings on January 19 and February 16. To see all meeting dates, click "Full Schedule" below.

You will be granted access in Canvas to your course site and course materials approximately 24 hours prior to the published start date of the course.

Demo