CODE 90524 ACADEMIC YEAR 2020/2021 CREDITS 9 cfu anno 1 COMPUTER SCIENCE 10852 (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 GIORGIO DELZANNO Ricevimento: Appointment by email DAVIDE ANCONA Ricevimento: Appointment by email Exam Board GIORGIO DELZANNO (President) DAVIDE ANCONA BARBARA CATANIA (Substitute) GIOVANNA GUERRINI (Substitute) LESSONS LESSONS START February 2021 Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Oral examination and project discussion ASSESSMENT METHODS Practical project discussed during the oral examination. Exam schedule Data appello Orario Luogo Degree type Note 10/02/2021 09:00 GENOVA Esame su appuntamento 23/07/2021 09:00 GENOVA Esame su appuntamento 16/09/2021 09:00 GENOVA Esame su appuntamento 16/02/2022 09:00 GENOVA Esame su appuntamento