- Docente: Abdelsalam Ali Helal
- Credits: 8
- SSD: ING-INF/05
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Computer Engineering (cod. 5826)
-
from Feb 17, 2025 to Jun 10, 2025
Learning outcomes
At the end of this course unit, the student will acquire a deep knowledge on the fundamental concepts as well as the most relevant emerging technologies about Internet of Things (IoT) architectures, IoT platforms, IoT interaction protocols, and IoT programming/application models. In addition, the student will be able to apply IoT models, architectures, and techniques in typical practical situations. More precisely, the student will know how to decouple the process of smart space construction and IoT deployment from smart space programmability and application development. In addition to the fundamentals, the student will acquire valuable hands-on exper applications that utilize sensors, actuators, complex devices, microservices, and humans in the loop, as well as a deep theoretical and application-oriented understanding of the IoT technology.
Course contents
This course focuses on the software perspective and the architectural and programmability aspects of the Internet of Things. The course will not emphasize detailed IoT hardware or wireless communication technologies. It compliments other offered IoT courses by focusing on IoT programming and application development.
The course lectures will span the following five topics:
1) Introduction to Smart Spaces (6 hours)
• Historical Perspective: from the Jetsons to the Internet of Things.
• Constraints, Requirements and Smart Space Challenges.
2) IoT Things (12 hours)
• Understanding the differences between Things, Internet of Things, and IoT applications.
• Sensors, Actuators, and Complex Devices.
• Identification (ID) Things: RFID, QR Codes, Beacons.
• IoT Platforms: Raspberry Pi, Arduino, Mbed OS.
3) An Example of Smart Space (8 hours)
• The Gator Tech Smart House: a real-world deployment of a smart space as an assistive environment for graceful aging.
4) IoT Architecture (20 hours)
• Service-Oriented Device Architecture (SODA).
• The Atlas SODA Architecture and Middleware (Atlas 1.0)
• The Atlas IoT Thing Architecture (Atlas 2.0)
5) IoT Programming and Application Models (18 hours)
• SODA Application Model
• Safety Concerns and Mechanisms in SODA
• The Atlas Device Description Language (IoT-DDL)
• IoTranx: IoT Transactional Model.
Readings/Bibliography
In addition to class notes and slides, the instructor will provide a number of research papers and GitHub code, tools, and manuals.
Teaching methods
The class will be taught through a series of lectures that are both in-person and online. Lectures will be recorded for added convenience of lecture access for further reviews. Additionally, three practice exercises and a group project will be assigned to be completed at home, possibly by using IoT hardware platforms provided by the instructor.
Assessment methods
The achievement of the learning goals is verified by the students themselves. The practice exercises and the hands-on assignments provided during the lecturing period will be self-evaluated by the students and will not contribute to the final assessment grade. They are intended to help the students better understand the course subject and provide them with practical hands-on experience.
At the end of the course, assessment will be based on two interviews: one individual and one group interview. All interviews will be held after the lecturing period ends. Students will be asked three questions each individually about the topics studied to verify they meet the course learning objectives (about 10 min for each student). Groups of students will also be evaluated in terms of the group project (about 20 min for each group).
Teaching tools
Microsoft Teams, class recordings, and Virtuale.
Office hours
See the website of Abdelsalam Ali Helal