Dipartimento di InformaticaUniversità degli Studi di Milano

Algorithms for massive datasets2023/24

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

Archived edition: this page is kept for reference, and some materials or links may no longer be available. Current edition (2025-26) →
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. Joint project for the «Algorithms for massive datasets» and «Statistical methods for machine learning» courses (Master in Computer Science)

    The description of a joint project for the courses «Algorithms for massive datasets» and «Statistical methods for machine learrning» for the Master in «Computer Science» is available.

  2. Last lecture of the Algorithms for massiver datasets course

    The last lecture of Algorithms for massive datasets will be held on 29/5 in the "Lab. Laurea Magistrale" classroom on the fifth floor of the Computer science department, rather than on the 28/5 as previously announced.

  3. 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. A joint project with the «Statistical methods for machine learning» course will be published shortly.

Earlier news (1)
  1. Cancellation of the Algorithms for massive datasets lecture of 15/5

    The Algorithms for massive datasets lecture of 15/5 is canceled. It will be held on May, 28th at 14:30 in the «Sala Consiglio» room on the 8th floor of the Computer Science Department.

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 14:30 - 16:30 208 (Settore didattico)
Wednesday 14:30 - 16:30 110 (Settore didattico)

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 27/02/2024 HDFS and map-reduce.
L02 28/02/2024 Map-reduce algorithms. Communication cost model.
  • RU 2.3, 2.5
L03 05/03/2024 Communication cost model. Link analysis.
  • RU 2.5, 5.1-5.2
L04 06/03/2024 Link analysis.
L05 12/03/2024 Spark.
L06 13/03/2024 Finding similar items.
  • RU 3.1-3.3.
L07 19/03/2024 Finding similar items.
  • RU 3.3-3.5.
L08 20/03/2024 Finding similar items. Frequent itemsets.
L09 26/03/2024 Frequent itemsets.
  • RU 6.3-6.4.4
L10 27/03/2024 Mining data streams.
  • RU 4.1-4.3
L11 03/04/2024 Mining data streams.
  • RU 4.3-4.5.
L12 09/04/2024 Mining data streams. Clustering.
  • RU 4.5.
L13 10/04/2024 Clustering.
L14 16/04/2024 noSQL data base: mongodb.
L15 17/04/2024 noSQL data base: mongodb. Regression.
  • RU 7.3-7.5.
L16 23/04/2024 Regression. Logistic regression.
L17 24/04/2024 Recommendation systems.
L18 30/04/2024 Transformers and LLMs.
L19 07/05/2024 Workshop (Microsoft).
    L20 08/05/2024 Recommendation systems. Gradient boosting.
    L21 14/05/2024 Deep learning and TensorFlow.
    L22 21/05/2024 Workshop (RadicalBit).
      L23 22/05/2024 Workshop (AzureML).
      L24 29/05/2024 Dimensionality reduction.

        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
        June 18/06/2024 (project deadline: 12/06)
        July 02/07/2024 (project deadline: 26/06)
        September 19/09/2024 (project deadline: 12/09)
        January 22/01/2025 (project deadline: 16/01)
        February 06/02/2025 (project deadline: 30/01)
        February 21/02/2025 (project deadline: 14/02)