Course Syllabus
Obiettivi
Il corso ha lo scopo di fornire una solida conoscenza delle piattaforme tecnologiche (Cloud - Containerizzazione) che consentono la raccolta e la gestione di dati, nonché delle piattaforme elaborative (architetture, algoritmi e infrastrutture) utilizzate per analizzarli. Le esercitazioni forniranno allo studente le competenze di base necessarie per interagire con tali piattaforme.
Contenuti sintetici
Piattaforme virtualizzate per la raccolta e gestione di dati di grandi dimensioni e velocità . Architetture per l'elaborazione dei dati, infrastrutture elaborative, piattaforme Big Data per la Data Science, esempi di piattaforme.
Programma esteso
- Architetture di elaborazione dati
- Gestione delle infrastrutture
- Virtualizzazione e containerizzazione
- Ambienti cloud, modelli e costi
- Piattaforme Big Data per la data Science
- Tipi di workload
- MapReduce: l'ecosistema Hadoop/Spark
- Elaborazione di eventi e stream
- Esempi di piattaforma
- Apache Spark
- Apache Kafka
- Google Cloud Platform
- DevOps - DataOps - MLOps
Prerequisiti
Conoscenza di base di:
- un linguaggio di programmazione (es. Python)
- dell'architettura di un calcolatore.
Modalità didattica
Lezioni ed esercitazioni in aula. Il corso verrà erogato in lingua inglese
Materiale didattico
Dispense e slide del corso fornite dai docenti.
Periodo di erogazione dell'insegnamento
Secondo anno, primo semestre
Modalità di verifica del profitto e valutazione
L'esame sarà costituito da due parti. Le due parti che dovranno essere svolte nel medesimo appello.
La prima parte consisterà in un insieme di domande chiuse ed aperte da svolgersi in un'ora (orientativamente si avranno 9 domande chiuse ed 4 aperte, tuttavia si potranno avere piccole variazioni nella struttura dell'esame). La prima parte dell'esame si svolgerà in forma cartacea ed il peso di ciascuna domanda per la formazione del voto verrà esplicitamente indicato nella parte alta del foglio contenente le domande. Le risposte alle domande verranno scritte sul foglio stesso, ma è facoltà dello studente utilizzare ulteriori fogli per fornire una risposta più estesa alle domande aperte.
La seconda parte sarà costituta da un breve progetto da realizzare in gruppi di 2 persone e dalla sua esposizione orale.
Esempi di tipi di progetto:
- Analisi e test di una particolare piattaforma tecnologica (vantaggi, svantaggi, costi, curva di apprendimento, realizzazione di un'applicazione che utilizzi tale tecnologia)
- Progettazione di un'applicazione per il cloud (scelta del provider, del tipo di macchine virtuali, dei servizi, stima dei costi, stima della qualità del servizio, stima delle dimensioni dei dati supportati, attività correttive necessarie in caso di imprevisti)
Una volta che lo studente avrà svolto entrambe le prove, l'esame si considererà superato se si verificheranno entrambe queste condizioni:
- Per entrambe le parti lo studente avrà ottenuto più della metà dei 15 punti a disposizione.
- La somma dei punti delle due parti sarà maggiore o uguale a 18.
In tal caso lo studente potrà registrare un voto costituito dalla somme dei punti.
Orario di ricevimento
Martedì 12:30-14:30, chiedere conferma per email
Aims
The course aims at providing a solid understanding of the technological platforms (Cloud and Containers) data collection and management, as well as of the computing platforms (architectures, algorithms, and infrastructures) that can be used to analyze those data.
The exercises will provide the student with the basic capabilities necessary to interact with such platforms.
Contents
Virtualized platforms for collecting and handling data characterized by volume and velocity. Data processing architectures, processing infrastructure, Big Data platforms for Data Science, examples of platforms.
Detailed program
- Data processing architectures
- Infrastructure Management
- Virtualization and containerization
- Cloud environments, models, and costs
- Big Data Platforms for Data Science
- Workload Types
- MapReduce: the Hadoop/Spark ecosystem
- Event and stream processing
- Platform Examples
- Apache Spark
- Apache Kafka
- Google Cloud Platform
- DevOps - DataOps - MLOp
Prerequisites
Basic knowledge of:
- a programming language (e.g., Python)
- the architecture of a computer (CPU, Memory, Disk...).
Teaching form
Classroom lectures, classroom exercises. The course will be held in English
Textbook and teaching resource
Lecture notes and slides provided by the lecturers.
Semester
Second year, first semester
Assessment method
The exam will consist of two parts. The two parts will have to be done in the same session.
The first part will consist of a set of closed and open questions to be taken in one hour (approximately there will be 9 closed and 4 open questions, however, there may be small variations in the structure of the exam). The first part of the exam will be conducted in paper form and the weight of each question for the calculation of the grade will be explicitly indicated at the top of the sheet containing the questions. The answers to the questions will be written on the sheet itself, but it is up to the student to use additional sheets to provide a more extensive response to the open-ended questions.
The second part will consist of a short project to be carried out in groups of 2 and its oral presentation.
Examples of project types:
- Analysis and testing of a particular technology platform (advantages, disadvantages, costs, learning curve, building an application using that technology)
- Design of a cloud application (choice of provider, type of virtual machines, services, cost estimation, quality of service estimation, supported data size estimation, corrective activities needed in case of unforeseen events)
Once the student has taken both tests, the exam will be considered passed if both of these conditions are met:
- For both parts, the student will have scored more than half of the 15 points available to them
- The sum of the points of the two parts is greater than or equal to 18.
In this case, the student will be able to record a grade consisting of the sum of the points.
Office hours
Tuesday 12:30-14:30 ask for email confirmation