logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2022/2023
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 057955 - NETWORKED SOFTWARE FOR DISTRIBUTED SYSTEMS
Docente Mottola Luca
Cfu 5.00 Tipo insegnamento Monodisciplinare
Didattica innovativa L'insegnamento prevede  1.0  CFU erogati con Didattica Innovativa come segue:
  • Blended Learning & Flipped Classroom

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - MI (425) HIGH PERFORMANCE COMPUTING ENGINEERING*AZZZZ057955 - NETWORKED SOFTWARE FOR DISTRIBUTED SYSTEMS
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI*AZZZZ057955 - NETWORKED SOFTWARE FOR DISTRIBUTED SYSTEMS
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AZZZZ057955 - NETWORKED SOFTWARE FOR DISTRIBUTED SYSTEMS
Ing Ind - Inf (Mag.)(ord. 270) - MI (487) MATHEMATICAL ENGINEERING - INGEGNERIA MATEMATICA*AZZZZ057955 - NETWORKED SOFTWARE FOR DISTRIBUTED SYSTEMS

Obiettivi dell'insegnamento

The primary objective of the course is for students to learn the fundamental abstractions and features of available networked software platforms while gaining concrete practical experience on their use in diverse application scenarios. Specific domains covered in the course are the Internet of Things, the Computing Continuum, Big Data Analytics, Concurrent Systems, Event-driven Applications, and High-performance Computing. The course promotes a practical approach, as the explanation of system abstractions and features is tightly linked to their practical application. The lecturers adopt a novel teaching methodology that enables students to invest most of their time with in-class lab sessions and hands-on work, with support from the lecturers.    

For each software platform covered in the course, the learning activities use a combination of online videos and in-class lab sessions. The online videos introduce abstractions and fundamental features of a given platform. The lab sessions allow students to clarify doubts with the lecturers and experiment with the technology at hand. In specific cases, dedicated hardware for experimentation will be provided by the lecturer, including for instance development kits for the Internet of Things and the Computing Continuum. These will be complemented by providing students with remote access to a home automation testbed available for the course. 




Risultati di apprendimento attesi

By the end of the course, students are expected to be familiar with the primary abstractions and features in the software platforms covered in the course, be able to design and implement complete applications of medium complexity, and be acquainted with the practical issues arising when deploying and running these systems in realistic settings. The Dublin Descriptors applicable to the course follow:

  • Dublin Descriptor 1 (knowledge and understanding): the lab sessions of the course provide the opportunity to test the students’ understanding while facing the practical issues in deploying and running the systems.
  • Dublin Descriptor 2 (applying knowledge and understanding): the students apply the learned abstractions and features of each software platform in concrete application cases, drawing connections between theoretical concepts and experimentation.
  • Dublin Descriptor 5 (lifelong learning skills): the students are expected to acquire the ability to solve medium-complexity experimental problems on their own, using either the software platforms covered in the course or others that are based on similar abstractions or offer similar features.

Argomenti trattati

For each of the software platforms we consider, we provide first an introduction to the specific domain, followed by a description of key abstractions and features, intertwined with concrete examples. A different software platform is considered for each of the aforementioned domains:

  • Internet of Things: mBed OS and LoRaWAN
  • Computing Continuum: Node.js  and Node-RED 
  • Big Data Analytics: Apache Spark 
  • Concurrent Systems: Akka 
  • Event-driven Applications: Apache Kafka 
  • High-performance Computing: MPI

Obiettivi di sviluppo sostenibile - SDGs
Questo insegnamento contribuisce al raggiungimento dei seguenti Obiettivi di Sviluppo Sostenibile dell'Agenda ONU 2030:
  • SDG8 - DECENT WORK AND ECONOMIC GROWTH
  • SDG9 - INDUSTRY, INNOVATION AND INFRASTRUCTURE
  • SDG11 - SUSTAINABLE CITIES AND COMMUNITIES

Prerequisiti

Students should have a basic knowledge of software engineering, procedural and object-oriented programming, as well as be familiar with the principles of networking and distributed systems.




Modalità di valutazione

The coursework is to be accomplished in student groups. The group evaluation may adopt two different models: either in a continuous evaluation mode or based on projects

The goal of the continuous evaluation model is to combine the students’ learning with in-class experimental activities that allow the teachers to assess their preparation as learning proceeds throughout the semester. In addition to online videos, in-class Q&A sessions, and lab sessions, dedicated evaluation labs are scheduled throughout the semester. The evaluation labs build on what the students learned and experimented with online videos and regular lab sessions, and are instrumental to check their understanding of a given platform. During an evaluation lab, the students are to complete an exercise the lecturer hands out at the beginning of the lab. The work accomplished at the end of an evaluation lab is graded by the lecturers and concurs to determining the final grade.  This model allows students to complete the coursework by the end of the lecture period.

The project-based model, differently, seeks to test the students’ preparation by requiring the design and implementation of one or multiple medium-complexity software artifacts that use a combination of the software platforms discussed in the course.  The quality of the implementation, the correct use of the system's features, and a formal presentation in front of the teacher(s) concur to determine the course assessment. These group presentations are normally scheduled during the exam period after the end of the lecture period.

Groups may start with the continuous evaluation model, described next, and possibly switch, at any time during the semester, to the project-based model.


Bibliografia

Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
8:00
40:00
Esercitazione
0:00
0:00
Laboratorio Informatico
42:00
35:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.8.0 / 1.8.0
Area Servizi ICT
08/02/2023