The IoT course

The Syllabus

The IOT course provides a comprehensive illustration of emerging Internet of Things (IoT) systems, by focusing on both methodological and applicative/industrial aspects, and including both theory classes and laboratorial activities.

In brief, the course program follows a data-centric approach (it can be summarised with the sentence: from sensors to knowledge), by presenting the data-path from the sensor acquisition till the “data valorisation” through machine-learningand analytics techniques, and considering all the intermediate phases of data communication via emerging Machine-to-Machine (M2M) communication standards, streaming, storage on public/private clouds, and integration through Web semantic approaches.  

 More in details, after a short introduction to pervasive computing and the emerging applications (e.g. Industry 4.0, domotics, intelligent transportation systems, smart energy, etc.) the course will provide an exhaustive illustration of the enabling components of IoT systems. These include: wireless standardsfor short and long M2M communication  (e.g. BLE, 6LoWPAN, LoRa, NB-IoT, …) among sensor edge-devices, languages and boardsfor the development of prototypal WSAN, WPAN, WLAN sensor networks (e.g. Arduino, STM32 Nucleo, RaspberryPI, …), and IoT network stacks and protocols (e.g. CoAP, MQTT, AMQP, …) From the data transmission, we move to architectures and tools for data storage and processing, including sensor time-series database (e.g. InfluxDB) and fog/cloud approaches and services (e.g. Amazon AWS IoT, ThingSpeak). Finally, the course will explore techniques for the valorisation of sensor data and knowledge extractionfrom large IoT deployments and crowd-sensing environments, through the application of machine-learning and data-analytics techniques (e.g. time-series prediction, classification, clustering, anomaly detection, etc.). Current open issues, like scalability, data interoperability (with a special focus on Web-of Things approaches) and energy-efficiency will be largely discussed.


  • Introduction to IoT systems: definitions, applications, enabling technologies
  • IoT components: from sensors to gateway

       -  Sensors and actuators, sketchy illustration of design principles of electronic circuit boards, sensing and data acquisition policies.
       -  Microcontrollers and System on Chip (SoC) prototypes' programming (e.g. Arduino, STM32 Nucleo, ESP8266, etc.)
       -  Machine-to-machine (M2M) communication technologies for WPAN (BLE, IEEE 802.15.4, etc.), WLAN and LPWAN (LoRA)
       -  6LowPAN and RPL protocols
       -  Non-IP Stacks (Zigbee, Dash-7, Z-Wave)

  • IoT components: from gateway to cloud.

        - Session layer protocols: XMPP, CoAP, MQTT, AMQP, WebSocket, etc

        - The Web of Things and Semantic Web approaches for M2M and IoT

  •    IoT data storage and analytics

         -  Architectures for IoT data storage and processing: cloud/fog/edge computing

         -  Time-series database (INFLUXDB, OPEN TSDB)

         -  Time-series analytics and forecasting via Machine learning techniques 

        -   IoT cloud platforms (AWS IoT, Watson IoT, ThingSpeak, etc.)

  • IoT platforms for system integration (AllJoyn, Google Thing, Apple HomeKit, etc.)
  • IoT Open Issues and research challenges.         




Regarding the teaching methods, the course includes: in-class lessonslaboratorial activities(around 50% of the total hours) and seminars from industries. The lab lessons will be performed at the Digital Cosando Lab. Finally, the course will include research seminars, scheduled in the last month of teaching and held by companies working on IoT systems and Industry 4.0.


  • Course Introduction [PDF]
  • IoT-Digital-revolution-Intro [PDF]
  • Introduction to Wireless concepts [PDF]
  • Introduction to Wireless concepts part 2 + IoT coding (CSS)  [PDF]
  • Introduction to IoT Standards [PDF]
  • introduction to IoT Platforms (overview and examples: AWS IoT) [PDF]
  • Machine-to-Machine technologies: LoRa and LoRaWAN  [PDF]
  • LoRa Physical Parameters computation (Excel file) (Excel file)
  • Machine-to-Machine technologies: IEEE 802.15.4 and 6LoWPAN  [PDF]
  • Prototyping Boards and Programming Languages for the IoT  [PDF]
  • Session-layer Protocols: MQTT and CoAP [PDF]
  • HTTP-based M2M and the Web of Things (intro) [PDF]
  • The W3C Web of Things [PDF]
  • Time series data management  [PDF]
  • Time series data processing and analytics [PDF]
  • Lab Lessons and Lab Exercises (Italian) [PDF][SOLUTIONS]
  • List of articles for the students' presentations [PDF]
  • Program of the students' presentations [PDF]