B6447 - Development Platforms for Automation Workshop Classes - Cesena Campus

Academic Year 2025/2026

  • Teaching Mode: Traditional lectures
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)

Learning outcomes

By the end of the course, students will be able to:

  1. Understand the conceptual evolution from Ubiquitous Computing and the Semantic Web to the Internet and Web of Things.

  2. Explain the architecture and principles of the W3C Web of Things framework, including Thing Descriptions, Bindings, and Scripting API.

  3. Describe how Semantic Web technologies (RDF, JSON-LD, ontologies) enable interoperability among heterogeneous IoT systems.

  4. Apply the Web of Things model to design and describe digital “Things” using standard vocabularies and formats.

  5. Develop simple distributed applications that integrate simulated sensors, actuators, and web services through WoT protocols (HTTP, MQTT, CoAP).

  6. Implement publish–subscribe and event-driven communication patterns in distributed environments.

  7. Deploy and test WoT applications using Node.js, Docker, and open-source tools.

  8. Evaluate issues related to interoperability, security, and scalability in WoT systems.

  9. Collaborate in small teams to design and present a complete WoT-based prototype integrating theoretical and practical knowledge.


Course contents

The course provides both theoretical foundations and practical skills for designing and developing interoperable Web of Things (WoT) applications.
After introducing the evolution from Ubiquitous Computing and the Semantic Web to the Internet and Web of Things, students will explore the principles, standards, and architectures defined by the W3C WoT framework.

The course covers:

  • Fundamentals of Ubiquitous Computing and the Semantic Web

  • Introduction to the Internet of Things and the challenges of interoperability

  • The W3C Web of Things architecture: concepts, models, and reference implementation

  • Thing Description (TD): structure, semantics, and JSON-LD syntax

  • Interaction patterns and binding templates (HTTP, MQTT, CoAP)

  • Semantic annotation using standard vocabularies (SOSA/SSN, QUDT)

  • Integration of simulated sensors and actuators in distributed WoT systems

  • Node.js development for WoT applications and WoT Scripting API

  • Edge–Cloud deployment models and Docker-based experimentation

  • Security, authentication, and data privacy in WoT environments

  • Team-based project work: design, implementation, and presentation of a complete WoT prototype

The laboratory sessions guide students step by step in the creation of functional prototypes, integrating semantic modeling, data exchange, and interoperability testing among distributed components.

Readings/Bibliography

Teaching material (slides, code samples and exercises)

W3C recommendations:

Teaching methods

Each lesson includes a theoretical part and a laboratory part.
The practical exercises will be carried out using software simulators.
Students will work in groups of 3–4 people.

Assessment methods

Development and presentation of a functional WoT prototype, documented with a Thing Description and source code.
The project will be hosted on GitHub and will include a short report (README) describing the work carried out, the challenges encountered, and the solutions adopted.

Teaching tools

Slides for the theoretical part and development tools available in the laboratory or online.

Office hours

See the website of Luca Roffia

SDGs

Quality education Industry, innovation and infrastructure Partnerships for the goals

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.