Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2021
Content and learning outcomes
Course contents
Infrastructure, system architectures and communication protocols for IoT.
Operating systems and programming environments for embedded devices, such as Linux and FreeRTOS.
Protocols for transferring sensor data, such as MQTT and CoAP.
Protocols for communication between IoT processors, sensors and actuators, such as I2C and SPI.
Sensor data processing and machine learning on IoT devices.
Application areas and associated system requirements.
Sustainability, security, privacy, energy, and ethics of IoT systems.
Intended learning outcomes
After passing the course, the student should be able to
describe at a general level the system architecture for various existing technologies for the Internet of Things (IoT)
describe communication protocols related to IoT, machine to machine communication (M2M) and communication with sensors and actuators
configure and design IoT services with existing technologies
describe and implement simpler methods for local sensor data processing on IoT devices, including the use of ready-made simple machine learning models
explain challenges regarding sustainability, security, privacy and ethics for IoT technology from a broad perspective.
For higher grades, the student should also be able to
analyse and compare different IoT architectures and communication protocols based on performance, security and energy efficiency
motivate the choice of technologies and design decisions when designing IoT systems for different applications
adapt and optimise methods for local data processing and machine learning on IoT devices for specific needs
analyse IoT systems with respect to sustainability, security, integrity and ethics.
Preparations before course start
Literature
The following books will be used; both are available online.
IoT book: Hands-on ESP32 with Arduino IDE: Unleash the power of IoT with ESP32 and build exciting projects with this practical guide, by Asim Zulfiqar. Can be found online via the KTH library
ML book: Machine Learning - A First Course for Engineers and Scientists, by Andreas Lindholm, Niklas Wahlström, Fredrik Lindsten, and Thomas B. Schön. Can be found online here https://smlbook.org/
Software
The following software will be used in the course:
LABA - Laborative Work, 3.0 credits, grading scale: P, F
PROA - Project Work, 3.0 credits, grading scale: P, F
TENA - Written Exam, 1.5 credits, grading scale: A, B, C, D, E, FX, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
If the course is discontinued, students may request to be examined during the following two academic years.
Ethical approach
All members of a group are responsible for the group's work.
In any assessment, every student shall honestly disclose any help received and sources used.
In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.