18-847SH: Special Topics in Computer Systems: Wireless Software Systems Architecture
This course covers principles of wireless software systems design and explores how the unique characteristics of wireless embedded devices, such as constrained power, connectivity, and compute capabilities, give rise to design trade-offs that differ from conventional software design. Students will: learn the principles of wireless software systems design including programming models, applications, and power awareness; explore how the underlying tradeoffs influence design decisions; become exposed to wireless device and sensor data aggregation, processing, and analysis; apply programming primitives necessary to support IoT applications; and perform quantitative evaluation of design from a performance and energy perspective. Topics covered include programming wireless systems; exploiting concurrency in modern mobile CPUs; models of sensors and actuators; interrupts, timers, polling, I/O, serial and USB communication, I2C, SPI, DMA, and programming abstractions for shared I/O buses; and interfacing embedded systems with the environment. The course emphasizes hands-on learning with three laboratory assignments and a project with an embedded systems board, during which students will apply the knowledge given to real-world problems.
Last Modified: 2019-04-11 11:20AM
- Fall 2019
- Fall 2018
- Fall 2017