Fundamentals of Embedded & Real-Time Systems


Course Details

About this Course

In the first course, you'll build foundational knowledge, core development skills and the practices needed to develop programs for embedded and real-time systems. You'll learn how to build bare-metal programs for controlling the system without an operating system and leverage an industry-standard framework to control hardware. You’ll gain hands-on experience in embedded programming and debugging techniques using hardware with an in-circuit debug interface. At the course's end, you’ll be able to write programs that perform useful functions with the hardware provided. The languages for the course are C and ARM assembly.

What You'll Learn

  • Introductory computer architecture and hardware concepts from a software perspective
  • How to program the unique features and constraints of an embedded system in C
  • The popular ARM architecture and ARM assembly essentials
  • What interrupts are, why they’re used and how to write and debug interrupt service routines

Get Hands-On Experience

  • Use Git as a version control system for coding assignments and projects throughout the course
  • Explore an industry-standard integrated development environment (IDE) for embedded systems
  • Test how software interacts with hardware using registers and I/O
  • Work with memory access, timers and clocks, ports, I/O and peripherals


Students must purchase a development kit for this course. See the cost details section of the certificate page for more information.

Program Overview

This course is part of the Certificate in Embedded & Real-Time Systems Programming.

  Get our email newsletter with career tips, event invites and upcoming program info.       Sign Up Now