Salta al contenuto principale della pagina

INTERNET OF THINGS

CODE 90524
ACADEMIC YEAR 2022/2023
CREDITS
  • 9 cfu during the 1st year of 10852 COMPUTER SCIENCE (LM-18) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR INF/01
    LANGUAGE English
    TEACHING LOCATION
  • GENOVA
  • SEMESTER 2° Semester
    TEACHING MATERIALS AULAWEB

    OVERVIEW

    Introduction to Internet of Things development methodologies, frameworks and tools.

    AIMS AND CONTENT

    LEARNING OUTCOMES

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

    AIMS AND LEARNING OUTCOMES

    The course is focused on concepts, hardware, network protocols, programming tools and development platforms for Internet of Things (IoT) applications
    -IoT Programming
    -Device Programming
    -Cloud/IoT Platforms

    PREREQUISITES

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

    TEACHING METHODS

    Class, lab, project and outside preparation

    SYLLABUS/CONTENT

     

    Introduction to JavaScript

    -Node.js REPL interpreter. Numbers and booleans.

    -Strings, objects, arrays.

    -Functions, scope declaration, global object

    -Methods and constructors. Attributes of data properties.

    Introduction to Node.js, asynchronous functions and event-driven programming.

    -Arrow functions, nested functions and closures.

    -Node.js event queue and computational model.

    -Error handling with asynchronous programming.

    -Node.js http module. Prototypes in JavaScript.

    -Prototypes and inheritance. Event emitters.

    -Modules, packages, npm.

    -async module: forEachSeries, waterfall and parallel.

    -async.auto.

    -Promises, async/await

    Node-RED

    TypeScript

     

    Device Programming

    -IoT and Devices

    -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

     

    Cloud Services and IoT Platforms

    -Microservices in Azure PaaS

    -Smart Cities, IoT and data interoperability

    -Examples of IoT Platforms

    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

    February 2021

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    Oral examination and project discussion

    ASSESSMENT METHODS

    Practical project discussed during the oral examination.

    Exam schedule

    Date Time Location Type Notes
    22/06/2023 09:00 GENOVA Esame su appuntamento
    04/09/2023 09:00 GENOVA Esame su appuntamento
    31/01/2024 09:00 GENOVA Esame su appuntamento