Dipartimento di InformaticaUniversità degli Studi di Milano

Algorithms for massive datasets2025/26

MSc in Computer science · University of Milan · Lectures are in English · 6 credits · 48 hours

This page refers to the course Algorithms for massive dataset within the Master in Computer science. The module Algorihms for massive data, within the course «Algorithms for massive data, cloud and distributed computing» of the Master in Data science for economics is described in a specific page.

The course aims at describing the big data processing framework, both in terms of methodologies and technologies.

Expected results

Students:

  • will be able to use technologies for the distributed storage of datasets;
  • will know the MapReduce distributed processing framework and its leading extensions;
  • will know the principal algorithms used in order to deal with classical big data problems, as well as to implement them using a distributed processing framework;
  • will be able to choose appropriate methods for solving big data problems.

News

  1. Projects for the «Algorithms for massive datasets» course (Master in Computer Science)

    The description of the projects for the course «Algorithms for massive datasets» for the Master in «Computer Science» are available.

  2. Schedule change for the Algorithms for massive datasets course

    The Algorithms for massive datasets class of February, 19th is canceled.

Course schedule

Lectures take place in presence, during the spring semester, at the "Città studi" educational sector. The schedule is as follows:

Day Hour Place
Tuesday 13:30 - 16:30 Lab. magistrale 5 piano
Thursday 13:30 - 16:30 Lab. magistrale 5 piano

Any change to the schedule will be announced in class and published in paragraph News of this page.

Office hours

By appointment, room 5015 of the Computer Science Department. It is possible contact the teacher by e-mail, taking care to read in advance the guide prepared by Prof. Sebastiano Vigna and clearly specifying in the message the course name and the academic year. In particular, students are encouraged to always use their academic address (i.e. based on the domain studenti.unimi.it) signing with name and student ID number and recalling that the response time may vary depending on the teacher commitments.

Course material

Lectures are based:

  • on the textbook Mining of Massive Datasets, written by A. Rajaraman and J. Ullman (marked by RU in the calendar of lectures), available as a free download in the authors' Web site and published in hardcopy by Cambridge University Press (ISBN:9781107015357);
  • on the notes and sample code published in the calendar of lectures.

Syllabus

The course explains the topics listed in the lecture calendar (available at the beginning of the course), covering the textbook contents as well as the contents of the remaining documents listed in Course material.

Prereqs

The course requires knowledge of the main topics of bachelor-level computer programming, calculus, probability, and statistics.

Lectures calendar

Lecture Date Topic Material
L01 13/01/2026 HDFS and map-reduce.
L02 15/01/2026 Map-reduce algorithms. Communication cost model.
  • RU 2.3, 2.5
L03 20/01/2026 Link analysis.
  • RU 2.5, 5.1-5.2
L04 22/01/2026 Link analysis. Spark.
L05 27/01/2026 Finding similar items.
  • RU 3.1-3.4.
L06 29/01/2026 Finding similar items.
L07 03/02/2026 Frequent itemsets.
  • RU 6.1-6.2.
L08 05/02/2026 Frequent itemsets.
  • RU 6.3-6.4.
L09 10/02/2026 Mining data streams.
  • RU 4.1-4.5
L10 12/02/2026 Clustering.
L11 17/02/2026 Regression.
L12 24/02/2026 Logistic regression. Recommendation systems.
L13 26/02/2026 Recommendation systems.
L14 03/03/2026 Deep learning and TensorFlow.
L15 05/03/2026 Transformers and LLMs.
L16 10/03/2026 Dimensionality reduction. Gradient boosting.

Exam modalities

The exam consists of a project and an oral test, both related to the topics covered in the course. The project requires to process one or more datasets through the critical application of the techniques described during the classes, and is described in a written report.

The evaluation of the project, expressed with a pass/fail mark, considers the level of mastery of the topics and the clarity of the report. The oral test, which is accessed after a positive evaluation of the project, is based on the discussion of some topics covered in the course and on in-depth questions about the presented project. The evaluation of the oral test, expressed on a scale between 0 and 30, takes into account the level of mastery of the topics, clarity, and language skills.

Students should sign up at the chosen examination session through UniMia, and send en email to prof. Malchiodi within the project deadline (see table below), containing the link to the project. Students will be contacted after the project has been checked. The table below shows a tentative date for the oral exams.

Exam sessions

Session Date
March 23/03/2026 27/03/2026 (project deadline: 16/03 20/03/2026, sign up date: 23/03/2026)
June 22/06/2026 (project deadline: 15/06)
July 06/07/2026 (project deadline: 29/06)
September 17/09/2026 (project deadline: 10/09)
November 23/11 (project deadline: 16/11)
December 15/12 (project deadline: 09/12)