EECS 507: Introduction to Embedded Systems Research

Instructor: Professor Robert Dick


This course is designed to prepare graduate and advanced undergraduate students with a foundation in, and head start on, research related to embedded system analysis, design, and synthesis. The first half of the course consists of lectures and assigned reading material on fundamental embedded systems topics on which future research will generally build. The second half of the course focuses on a specific, and possibly new,
topic in the field.

Students taking the four-credit version of the course will complete a research project that may require laboratory work.

Additional Information
The three-credit version of the course requires studying research papers, learning material presented in lecture, writing summaries  of research papers, presenting ideas in these papers, and providing insight on these ideas.

The four-credit version of this course, in addition, requires that a novel embedded systems related research project be completed, demonstrated, documented, and presented.


The first half of the course will cover the following broad range of
topics, although time constraints will not permit many to be covered in
great depth:

  • specification languages and models
  • scheduling, allocation, and assignment: problem definitions and
    optimization techniques
  • embedded (real-time) operating systems
  • embedded signal processing and machine learning hardware and software
  • energy- and temperature-aware design and embedded power supplies
  • wireless communication and its impact on power consumption
  • sensors and actuators
  • reliability-aware design, formal methods, and testing
  • embedded system security
  • applications including the IoT, wireless sensor networks, autonomous
    vehicles, wearables, and smartphones

The second half of the course will focus on a particular topic that changes every semester. For example, in the first offering of the course, the topic was machine learning in the Internet-of-Things.