Skip to main content
CODE 90524
ACADEMIC YEAR 2023/2024
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

Internet of Things (IoT) concerns systems where physical devices are connected to the Internet.
IoT is central to Computer Science, considering also that global IoT device connections are expected to continue to grow for many years to come.
This course is focused on the tasks of designing and implementing IoT systems, covering all their main layers (edge, transport and
computing): sensors, actuators, and device programming; IoT protocols; event-driven programming and cloud computing.

AIMS AND CONTENT

LEARNING OUTCOMES

Learning methodologies and frameworks  for the development of Internet of Things applications
 

AIMS AND LEARNING OUTCOMES

Students will acquire the following technical and social skills:

  • Learning and ability of application of the basic concepts of event-driven programming for programming IoT systems
  • Learning the basic notions on sensors/actuators, microcontroller and device programming
  • Learning the most useful IoT protocols and ability to design and implement an IoT architecture starting from informal requirements
  • Ability to use an IoT platform
  • Collaboration within a small student team to develop an IoT system

 

PREREQUISITES

Object-Oriented Programming
Concurrent and Distributed Programming and Systems
Operating Systems and Networks
 

TEACHING METHODS

Lectures in classroom devoted to theory and demos.

Individual assignments on event-driven and IoT programming in Node,js.

Team development of a final project.

The  assignments and the final project are developed with the GitHub Classroom collaborative version control system to better support students and instructors interactions

SYLLABUS/CONTENT

 

JavaScript

Node.js

Device Programming

- sensors and actuators

- Physical Web with Estimote Beacon

- Raspberry

-SensorLab per Android: Dashboard per dati sensoriURL

-Javascript for Mobile Apps: React Native

-Arduino Programming

-Low.js: Node.js for microcontrollersURL

-Microbit, Javascript and Micropython

IoT Application Layer: network and protocols

-Network protocols: BLE, 6LowPan, ZigBee, ThreadFile

-Physical Web in Node.js: Noble, Express and ClusterFolder

-Protocols in Node.js: COAP, MQTT, Websocket in Node.js

-Node.js Serverside: Schedulers with Immediate and NextTick, Fork and ClusterFile

-Smart Cities, IoT and data interoperability

IoT Platforms

 - Node-RED

 - ThingWorx

RECOMMENDED READING/BIBLIOGRAPHY

Published on the course web site of the Unige Aulaweb portal.

TEACHERS AND EXAM BOARD

Exam Board

GIORGIO DELZANNO (President)

DANIELE D'AGOSTINO

DAVIDE ANCONA (President Substitute)

LESSONS

LESSONS START

In agreement with the calendar approved by the Degree Program Board of Computer Science.

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

Final project, with presentation and discussion. Individual programming assignments

ASSESSMENT METHODS

The individual programming assignments aim to evaluate the ability of application of the basic concepts of event-driven programming
and learning of the most useful IoT protocols. The evaluation is based on the correctness, efficiency and readability of the code.

The final project has the aim to verify learning of the notions on sensors/actuators and device programming,
the ability to design and implement an IoT architecture starting from informal requirements and to use an IoT platform. The evaluation is based
on the suitability of the chosen architecture, the effectiveness, scalability, usability and correctness of the implemented system.

The presentation and discussion of the project aims to test whether students actively collaborated to develop the project.
The evaluation is based on the comprehension level of the overall functioning and technical details of the project.

Exam schedule

Data appello Orario Luogo Degree type Note
16/02/2024 09:00 GENOVA Esame su appuntamento
20/06/2024 09:00 GENOVA Esame su appuntamento
02/09/2024 09:00 GENOVA Esame su appuntamento
29/01/2025 09:00 GENOVA Esame su appuntamento

Agenda 2030 - Sustainable Development Goals

Agenda 2030 - Sustainable Development Goals
Sustainable cities and communities
Sustainable cities and communities