18-649 Distributed Embedded Systems
12 units, Carnegie Mellon University
This course introduces the principles for designing distributed embedded systems with a mixture of heterogeneous network-connected resource-constrained devices. This course will address the new challenges designers face as embedded systems are connected forming large-scale networks that sense, monitor and control elements of the physical environment in real-time. This includes topics related to transducer hardware, operating systems, time synchronization, energy management, modeling, simulation, and security. We will study recent applications in the domain of safety-critical systems, smart grid technology, intelligent buildings, Supervisory Control and Data Acquisition (SCADA) systems used in manufacturing and automotive systems. The course will include a significant project component that gives students hands-on experience building systems that use current RTOSes on micro-controllers alongside Embedded Linux on application processors that span cloud, edge and device. This course is crosslisted with 18449. ECE graduate students will be prioritized for 18649, and ECE undergraduate students will be prioritized for 18449. Although students in 18449 will share lectures with students in 18649, students in 18449 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18649. Specifically, the homework assignments, programming projects, and exams that are given to the 18649 students will be more challenging than those given to the 18449 students.
Prerequisites: 18-349 (min C)
Offered: Fall 2026
Courseweave needs JavaScript to show sections, workloads and planning tools.