* SUBJECT TO CHANGE *
1. Organization and course overview
2. Embedded systems I: CPU/MCU, FPGA, ASIC, timers, clocks, PWM, I2C, SPI
3. Embedded systems II: embedded programming – interrupts, scheduler, event handler, race conditions
4. Interfacing with the physical world: sensors and actuators, amplification, filtering, signal processing, ADC, DAC
5. Classic networking: layering – PHY, MAC, IP, routing, TCP/UDP
6. IoT architecture: topologies, edge routers, client-server architecture, P2P, M2M
7. IoT networking: IPv6, 6LowPAN, CoAP, and various sensornets protocols (collision avoidance, buffering, reliability)
8. Cloud computing: web services, HTTP, RESTful interactions, service discovery, databases, API
9. Smartphones: iOS / Android programming, embedded sensors, IoT gateway
10. Data visualization and analytics
11. Applications: health, fitness, smart cities, wearables, smart grid, environment, security, structural, smart home, building energy, etc.