Dipartimento di InformaticaUniversità degli Studi di Milano

Algorithms for massive datasets2021/22

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 (2026-27) →
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. 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.

  3. Cancellation of the Algorithms for massive datasets lecture of 13/4

    The lecture of 13/4 is canceled. It will be held later during the course.

Earlier news (2)
  1. Office hours on March, 10th

    The office hours of March, 10th are canceled.

  2. Office hours for the spring semester

    Office hours for the spring semester will be on Thursday from 17:00 in the teacher's office, starting from 03/03. To avoid crowds during the pandemic period, students are required to schedule an appointment.

Course schedule

Lectures take place (until further notice) online through authentication to a zoom link published on the moodle page of the course. The provisional schedule is as follows:

Day Hour Place
Tuesday 14:30 - 16:30 G12
Wednesday 14:30 - 16:30 403

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 01/03/2022 Mathematical preliminaries.
L02 02/03/2022 HDFS and map-reduce.
L03 08/03/2022 Map-reduce algorithms. Communication cost model.
  • RU 2.3-2.5.
L04 09/03/2022 Spark. Link analysis.
L05 15/03/2022 Link analysis.
L06 16/03/2022 Link analysis. Finding similar items.
  • RU 5.4-5.5, 3.1-3.3.
L07 22/03/2022 Finding similar items.
  • RU 3.3-3.5.
L08 23/03/2022 Finding similar items.
L09 29/03/2022 Frequent itemsets.
  • RU 6.1-6.2
L10 30/03/2022 Frequent itemsets.
  • RU 6.3-6.4.4
L11 05/04/2022 Mining data streams.
  • RU 4.1-4.3.
L12 06/04/2022 Mining data streams.
  • RU 4.4-4.5.
L13 12/04/2022 noSQL data base: mongodb.
L14 13/04/2022 Canceled lecture.
    L15 26/04/2022 Clustering.
    L16 27/04/2022 Clustering.
    • RU 7.3-7.5.
    L17 03/05/2022 Recommendation systems.
    L18 04/05/2022 Recommendation systems. Regression.
    L19 10/05/2022 Regression and logistic regression.
      L20 11/05/2022 Logistic regression. Deep learning and TensorFlow.
      L21 17/05/2022 Deep learning and TensorFlow.
      L22 18/05/2022 Recurrent neural networks.
      L23 24/05/2022 Dimensionality reduction.
      L24 25/05/2022 Gradient boosting.
      L25 31/05/2022 Seminar.

        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 15/06/2022 (project deadline: 12/06)
        July 11/07/2022 (project deadline: 07/07)
        September 19/09/2022 (project deadline: 15/09)
        January 20/01/2023 (project deadline: 16/01)
        February 07/02/2023 (project deadline: 01/02)
        February 21/02/2023 (project deadline: 16/02)