MAKERS APPROACH FOR ELECTRONIC DESIGN
OVERVIEW
This course looks at the Internet of Things (IoT) as the general theme of physical/real-world things becoming increasingly visible and actionable via Internet and Web technologies. The goal of the course is to provide students with a comprehensive understanding of the IoT.
AIMS AND CONTENT
LEARNING OUTCOMES
By looking at real-world application scenarios, the students will understand the most important IoT technologies and the fundamental Web architectural principles. The students will have the opportunity to apply these technologies to develop some real-world use cases, using hardware (Arduino) and software (Node.JS) open-source platforms for implementing prototypes and testing them as running applications.
AIMS AND LEARNING OUTCOMES
The aim of the course is to provide the basis for the design and development of hardware / software systems that includes data from sensors and persistent storage in the cloud. The student is introduced to the API REST approach and supported through an extensive exercise during all the lectures. The teaching aims to train a professional figure capable of designing and implementing software applications on different devices, from sensors to the cloud.
PREREQUISITES
The students should have basic kwolegde of programming and electronic digital design.
Teaching methods
The course is composed of a set of frontal lessons and a set of practice sessions. During the frontal lesson, the teacher presents the topics providing also examples of live code that are tested on a real tool chain. Students can use their own laptops during the lecture in order to reproduce what is proposed by the teacher. During the practice sessions, the students have to face up with real problems that they should solve by applying the techniques learnied during the lectures.
SYLLABUS/CONTENT
The titles of the main contents discussed during frontal lessons are provided in the following list. Each title is associated with a relevatn link where it is possible to obtain the lecture notes:
01 - Introduction to IoT, WoT and Physical Computing [LINK]
02 - The Arduino Platform [LINK]
03 - Serial Communication [LINK]
04 - Sensors [LINK]
05 - JavaScript and HTTP [LINK]
06 - NodeJS [LINK]
07 - REST API [LINK]
08 - Implementing Web Things [LINK]
09 - Interoperability and Semantic [LINK]
10 - Sharing & Securing [LINK]
RECOMMENDED READING/BIBLIOGRAPHY
- Lecture notes
- Michael Margolis, Arduino Cookbook, O'Reilly
- Dominique Guinard, Building the Web of Things, Manning
- Tom Hughes-Croucher, Node Up and Running, O'Reilly
- Leonard Richardson, RESTful Web APIs, O'Reilly
- Marijn Haverbeke, Eloquent JavaScript: A Modern Introduction to Programming, No Starch Press
TEACHERS AND EXAM BOARD
Ricevimento: Appointments. Writing to riccardo.berta@unige.it
Exam Board
RICCARDO BERTA (President)
ALESSANDRO DE GLORIA
LESSONS
Teaching methods
The course is composed of a set of frontal lessons and a set of practice sessions. During the frontal lesson, the teacher presents the topics providing also examples of live code that are tested on a real tool chain. Students can use their own laptops during the lecture in order to reproduce what is proposed by the teacher. During the practice sessions, the students have to face up with real problems that they should solve by applying the techniques learnied during the lectures.
EXAMS
Exam description
The exam is an oral examination on the theoretical topics covered during lectures. In particular, the student has to provide fluency in the description of the main concept of RESTful APi design approach.
Assessment methods
During the oral exam, the teacher asks the student to illustrate some concepts learned in class. For each concept, the student has to present the definition, the conditions of applicability and pros/cons in relation to other approaches. During the examination, the teacher verifies that the concepts have been learned at a level of knowledge that allows the student to apply them in real cases.