Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


IOT PROGRAMMING
PROGRAMMAZIONE PER L'INTERNET OF THINGS

A.Y. Credits
2023/2024 6
Lecturer Email Office hours for students
Emanuele Lattanzi Monday from 4:00 pm to 6:00 pm
Teaching in foreign languages
Course with optional materials in a foreign language English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language.

Assigned to the Degree Course

Applied Informatics (LM-18)
Curriculum: PERCORSO COMUNE
Date Time Classroom / Location
Date Time Classroom / Location

Learning Objectives

The course aims to illustrate the architecture, functionalities and communication methods of the Internet of Things systems with particular reference to its programming techniques. In particular, the course introduces the programming technologies and methods dedicated to the the embedded systems based on the most popular microcontrollers and realtime operating systems.

Program

01. Introduction to IoT

    01.01 Overview and definitions

    01.02 Functional view

    01.03 Infrastructure view

    01.04 Applications

02. Edge computing

    02.01 Sensors and actuators  

    02.02 Data acquisition and processing

    02.03 Data management

    02.04 Time-series database

03. Embedded systems programming techniques

    03.01 Super-loop

    03.02 Finite state machines

    03.03 Event-driven programming

    03.04 Real time operating systems

04. Communication

    04.01 Network layers

    04.02 Wireless Edge Network for IoT

    04.03 Constrained Application Protocol (CoAP)

    04.04 Message Queuing and Telemetry Transport (MQTT)

05. Machine Learning for IoT

    05.01 Centralized on-cloud Machine Learning

    05.02 Distributed Machine Learning

    05.03 Machine Learning on the edge

06. Laboratory Activities

    06.01 Connect actuators and sensors to a Raspberry Pi

    06.02 Mange time-series with InfluxDB

    06.03 Program ESP MCU with FreeRTOS

    06.04 Sample ESP MCU data with ThingSpeak

    06.05 Explore MQTT protocol with Mosquitto

Bridging Courses

There are no mandatory prerequisites

Learning Achievements (Dublin Descriptors)

  • Knowledge and understanding: at the end of the course, the student will acquire fundamental knowledge on the structure and functionality of the Internet of Things systems. Furthermore, the student will know the most widespread programming techniques, development platforms, and communication protocols.
  • Applying knowledge and understanding: the student will acquire skills on the creation of device-side and cloud-side applications for Internet of Things systems. In particular, the student will acquire programming skills in C, in Processing, and in Python languages, respectively, on real-time operating systems, on Arduino compatible platforms, and on Raspberry Pi.
  • Making judgements: at the end of the course, the student will be able to distinguish the main advantages and disadvantages of possible Internet of Things solutions and will be able to independently choose the hardware/software technologies, communication protocols and cloud platforms to build an Internet of Things system following a reference scenario.
  • Communication skills: the student will acquire the ability to communicate the fundamental concepts of the Internet of Things operation and programming with an appropriate and rigorous terminology.  The student will learn how to describe the programming problems and the methodologies adopted for their solution. Furthermore, the presentation of the exam project will give students the ability to independently integrate the knowledge learned during the course with further knowledge and to summarize the main topics in order to clearly set up a presentation.
  • Learning skills: the student will acquire the ability to study and learn the structure, the functioning and the programming techniques of the Internet of Things systems.

Teaching Material

The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it

Supporting Activities

Exercises with solutions for self-assessment of the level of preparation are available within the Moodle platform for blended learning.


Teaching, Attendance, Course Books and Assessment

Teaching

Theory lectures and laboratory exercises.

Attendance

Although recommended, course attendance is not mandatory.

Course books
  • Milan Milenkovic, Internet of Things: Concepts and System Design, Springer.
  • Dominique Guinard, Building the Web of Things: With Examples in Node.js and Raspberry Pi, Manning.
  • Gary Smart , Practical Python Programming for IoT: Build advanced IoT projects using a Raspberry Pi 4, MQTT, RESTful APIs, WebSockets, and Python 3, Packt Publishing
Assessment

The exam includes a programming project and its oral presentation. The project, previously agreed with the teacher, must be accompanied by a summary report (maximum 10 pages) and must be submitted at least one week before the oral exam. The oral exam will consist of a presentation (using appropriate slides) together with a demonstration of the working project. The presentation will be followed by a discussion.

Disability and Specific Learning Disorders (SLD)

Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.

To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.

Additional Information for Non-Attending Students

Teaching

As for attending students. 

Attendance

As for attending students. 

Course books

As for attending students. 

Assessment

As for attending students. 

Disability and Specific Learning Disorders (SLD)

Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.

To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.

« back Last update: 18/07/2023

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Il tuo 5x1000 per sostenere le attività di ricerca

L'Università di Urbino destina tutte le risorse che deriveranno da questa iniziativa alla ricerca scientifica ed al sostegno di giovani ricercatori.

15 22

Se sei vittima di violenza o stalking chiama il 1522, scarica l'app o chatta su www.1522.eu

Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top