Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • My Media
  • More
Listen to this page using ReadSpeaker
 Log in
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Science
  2. Master Degree
  3. Data Science [FDS02Q - FDS01Q]
  4. Courses
  5. A.A. 2024-2025
  6. 2nd year
  1. Technological Infrastructures for Data Science
  2. Summary
Insegnamento Course full name
Technological Infrastructures for Data Science
Course ID number
2425-2-FDS01Q016
Course summary SYLLABUS

Course Syllabus

  • Italiano ‎(it)‎
  • English ‎(en)‎
Export

Obiettivi

Il corso ha come scopo principale quello di fornire allo studente una solida e fondativa conoscenza delle principali soluzioni tecnologiche e metodologie di sviluppo software a supporto della data science. Le esercitazioni forniranno allo studente le competenze di base necessarie per interagire con tali strumenti.

Contenuti sintetici

Il corso è costituito dai seguenti moduli:

Modulo 1 - Infrastruttura: Introduzione alla virtualizzazione, Cloud Computing e Containerization

Modulo 2 - Piattaforma: Organizzazione e distribuzione dei dati, Data Lake, HDFS, YARN

Modulo 3 - Processamento: Batch vs Streaming vs Messaging, i casi di Hadoop, Spark, Storm, Kafka

Modulo 4 - Sviluppo software: Waterfall, Agile, DevOps, DataOps, MLOps

Programma esteso

Argomenti del corso divisi per moduli:

Modulo 1 - Infrastruttura:

  • La figura del data engineer
  • L'architettura di riferimento
  • Virtualizzazione
  • Cloud Computing (Introduzione, Modelli di servizio e di deployment, cararatteristiche essenziali)
  • Containerization con Docker
  • Serverless

Modulo 2 - Piattaforma:

  • Il Data Lake
  • HDFS e YARN

Modulo 3 - Processamento:

  • Batch processing (Apache Hadoop e Apache Spark)
  • Stream processing (Apache Storm, Apache Spark e Apache Flink)
  • Messaging (Apache Kafka)

Modulo 4 - Sviluppo Software:

  • Service computing
  • Software engineering
  • Metodologie di sviluppo (Waterfall, Agile, DevOps, DataOps, MLOps)

Prerequisiti

Conoscenza basilare dell'architettura di un computer (CPU, RAM, Storage), Sistemi operativi, della Shell dei comandi, del linguaggio di programmazione Python e Jupyter.

Modalità didattica

Insegnamento con differenti modalità didattiche:

  • 15 lezioni da 2 e 3 ore svolte in modalità interattiva in presenza; In tale modalità comunque il docente coinvolgerà gli studenti per mezzo di domande e spunti.
  • 6 laboratori da 3 ore svolti in presenza - modalità interattiva.

Il corso verrà erogato in lingua inglese

Materiale didattico

Dispense e slide del corso fornite dai docenti.

Si segnalano i seguenti testi per approfondimento:

  • The basics of cloud computing ISBN-13: 978-0124059320 Autori: Derrick Rountree, Ileana Castrillo
  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ISBN-13: 978-1449373320 Autore: Martin Kleppmann

Periodo di erogazione dell'insegnamento

Secondo anno, primo semestre

Modalità di verifica del profitto e valutazione

La valutazione è costituita da due parti: una prova scritta e una discussione orale su un argomento di approfondimento.

La prova scritta consiste in domande aperte e chiuse sugli argomenti del corso. Questa ha una durata di circa un'ora ed un punteggio massimo di 17 punti.
Una tipica prova scritta comprende 12-13 domande a scelta multipla e 2-3 domande a risposta aperta, per le quali si hanno a disposizione dai 60 ai 75 minuti.
La prova orale consiste nella discussione di una tematica non trattata durante il corso o di un approfondimento di una tematica trattata. Il lavoro di approfondimento (lavoro ricerca e creazione delle slide) potrà essere realizzato in gruppi di massimo 3 persone ma la discussione e la valutazione sono personali.
L'argomento dell'approfondimento deve essere previamente accordato con il professore. La prova orale dà diritto ad un massimo di 15 punti.

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ù di (o uguale a) 7 punti
  • la somma dei punti delle due parti sarà maggiore o uguale a 18

In tal caso potrà essere registrato un voto costituito dalla somme dei punti.

Non è prevista l'erogazione di prove parziali durante il corso.

Orario di ricevimento

Martedì 12:30-14:30, chiedere conferma per email

Sustainable Development Goals

IMPRESE, INNOVAZIONE E INFRASTRUTTURE
Export

Aims

The main purpose of the course is to provide the student with a solid, foundational understanding of the main technology solutions and software development methodologies in support of data science.
Hands-on sessions will provide the student with the basic skills needed to interact with such tools.

Contents

The course comprises the following modules:

Module 1 - Infrastructure: Introduction to Virtualization, Cloud Computing and Containerization.

Module 2 - Platform: Data organization and distribution, Data Lake, HDFS, YARN

Module 3 - Processing: Batch vs. Streaming vs. Messaging, the cases of Hadoop, Spark, Storm, Kafka

Module 4 - Software Development: Waterfall, Agile, DevOps, DataOps, MLOps

Detailed program

Course topics divided by modules:

Module 1 - Infrastructure:

  • The figure of the data engineer
  • The reference architecture
  • Virtualization
  • Cloud Computing (Introduction, Service and deployment models, essential features)
  • Containerization with Docker
  • Serverless

Module 2 - Platform:

  • The Data Lake
  • HDFS and YARN

Module 3 - Processing:

  • Batch processing (Apache Hadoop and Apache Spark).
  • Stream processing (Apache Storm, Apache Spark, and Apache Flink)
  • Messaging (Apache Kafka)

Module 4 - Software Development:

  • Service computing
  • Software engineering
  • Development methodologies (Waterfall, Agile, DevOps, DataOps, MLOps)

Prerequisites

Basic knowledge of computer architecture (CPU, RAM, storage), operating systems, command shell, Python programming language and Jupyter notebooks.

Teaching form

Teaching with different teaching modes:

  • 15 lectures of 2 and 3 hours in interactive mode in the presence of the teacher, but with the participation of the students through questions and hints.
  • 6 laboratories of 3 hours each delivered in the classroom - interactive mode.

The course will be taught in English.

Textbook and teaching resource

Lecture notes and slide decks.

The following textbooks are referenced for further study:

  • The basics of cloud computing ISBN-13: 978-0124059320 Authors: Derrick Rountree, Ileana Castrillo
  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ISBN-13: 978-1449373320 Author: Martin Kleppmann

Semester

Second year, first semester

Assessment method

The assessment consists of two parts: a written test and an oral discussion on an in-depth topic.
The written test consists of open and closed questions on the course topics. This has a duration of about one hour and a maximum score of 17 points.
A typical written exam consists of 12-13 multiple-choice questions and 2-3 open-ended questions, and you have 60-75 minutes to complete them.
The oral test consists of a discussion of a topic not covered in the course or an in-depth study of a topic covered in the course. The deepening work (research work and slide creation) can be done in groups of up to 3 people but the discussion and evaluation are personal.
The topic of the deepening must be agreed in advance with the lecturer. The oral test entitles the student to a maximum of 15 points.

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 has scored more than (or equal to) 7 points
  • the sum of the points for the two parts is greater than or equal to 18

In that case a grade consisting of the sum of the points can be registered.

No partial examination will be issued during the course.

Office hours

Tuesday 12:30-14:30 ask for email confirmation

Sustainable Development Goals

INDUSTRY, INNOVATION AND INFRASTRUCTURE
Enter

Key information

Field of research
INF/01
ECTS
6
Term
First semester
Activity type
Mandatory to be chosen
Course Length (Hours)
46
Degree Course Type
2-year Master Degreee
Language
English

Staff

    Teacher

  • Michele Ciavotta
    Michele Ciavotta
  • VC
    Vincenzo Cutrona

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Self enrolment (Student)

Sustainable Development Goals

INDUSTRY, INNOVATION AND INFRASTRUCTURE - Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
INDUSTRY, INNOVATION AND INFRASTRUCTURE

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics