CS 240E is an introduction to system design and implementation for
energy-constrained embedded devices. The energy constraints lead to
microcontrollers rather than microprocessors, with all of the resulting
challenges, such as controlling multiple peripherals through fully independent
buses, power state optimizations, limited memory, and a lack of hardware
support for common abstractions such as memory access control and protection
levels. Furthermore, they have very different usage patterns than
power-rich, user-centric devices such as desktops and laptops.
The course focuses on the design and implementation of software systems
for these devices. The coursework has two parts, reading research
papers and programming assignments. There are a total of three programming
assignments, one of which is the final course project. The first is simple,
intended to get everyone up to speed programming low-power nodes. The second
and third assignments are group projects and include write-ups in the form
of short technical papers, including an experimental methodology and
evaluation.
|