ECE 4501/6501, CS 6501 - Fall 2021
Real-time Embedded Systems

All the course activities will be carried out in a hybrid mode.
Class meetings and office hours will be held in person and synchronously via Zoom.


Embedded systems are special-purpose computers at the core of Cyber-Physical Systems (CPS) that monitor and control the physical processes through real-time interactions with sensors and actuators. More than 90% of manufactured micro-processors go inside airplanes, automobiles, medical devices, digital cameras, toys, home appliances, and smart buildings. What are the building blocks of an embedded system? How can we design an embedded system and make sure it satisfies specific functionality, reliability, and timing requirements? How can we bridge the gap between the inherently sequential embedded software with the intrinsic concurrency in the physical world? How can we execute multiple data acquisition, processing, and control tasks on resource-constrained microcontrollers while satisfying real-time constraints?

This course will help you answer these questions by providing the foundational knowledge and hands-on experience in design and validation of embedded computing systems, with a focus on embedded C programming and real-time operating systems (RTOS) for ARM® Cortex™-M Microcontrollers. In the second half of the class, we will explore related topics and applications in safety and security, cyber-physical systems (CPS), internet of things (IoT), and robotics through paper presentations and discussions.


  • Embedded system architectures
  • Embedded input and output (I/O)
    • Serial and parallel I/O
    • Interrupts
    • Asynchronous vs. synchronous interfaces
    • Analog I/O
  • Embedded software development
    • Embedded C programming
    • Memory management
    • Toolchains, debugging and profiling
  • Real-time operating systems
    • Thread and process management
    • Interrupt handling
    • Real-time scheduling
  • Quantitative analysis and validation


UVA Collab Site
GitHub Classroom

UVA Academic Calendar
Time: Tue/Thr 11:00 - 12:15 PM
Location: Thornton Hall E304
+ Online Zoom Session via UVA Collab

Lab Location: Rice 240 (Open 24/7)

Homa Alemzadeh,
Office: 259 Olsson Hall (Link Lab)

Instructor Office Hours:
Tuesdays 1-2pm
In person in Olsson 259 and via Zoom
Other times by appointment

Teaching Assistants:
Kay Hutchinson
Seyed Ahmad Mansouri
Linyang Du
Akash Nair

TA Office Hours:
In person in Rice 240 and via Zoom
Mondays 10-11am 
Tuesdays 5:30-6:30pm (Zoom)
Wednesdays 3-4pm 
Thursdays 4-5pm 
Fridays 11am-12pm