Giter Site home page Giter Site logo

big-data-computing's Introduction

Big Data Computing (2023-2024)

News | General Information | Syllabus | Class Schedules | Previous Years

News

  • ANNOUNCEMENT: There will be no class on Wednesday, December 6, due to the IT Meeting event, which you are all welcome to join.
  • Starting this year, the Big Data Computing course has been moved to the first semester and divided into two distinct modules, each one carrying 3 CFUs (credits).
    Prof. Daniele De Sensi will lead the first module, while the second module (i.e., this module) will be under my instruction.
    Importantly, these modules will not run concurrently; once the first module concludes, the second will begin. The estimated start date for this module is expected to be in the first week of November. We will provide more precise information as the conclusion of the first module approaches.

General Information

Welcome to the Big Data Computing class!

This is a first-semester course of the MSc in Computer Science at the Sapienza University of Rome.

This repository contains class material along with any useful information for the 2023-2024 academic year.

Class Schedule

  • Tuesday from 2:00 p.m. to 4:00 p.m. in Aula Magna - "Building C" at Viale Regina Elena 295
  • Wednesday from 10:00 a.m. to 1:00 p.m. in Aula Magna - "Building C" at Viale Regina Elena 295

Moodle Web Page

Students must subscribe to the Moodle web page using the same credentials (username/password) to access the Wi-Fi network and Infostud services at the following link: https://elearning.uniroma1.it/course/view.php?id=17115

Contacts

Office Hours

Please drop me a message at [email protected] in case you would like to schedule a meeting, either online (i.e., via Google Meet or Zoom) or in-person (i.e., in Room 106 located at the 1st floor of Building E in Viale Regina Elena 295).

Description and Goals

The amount, variety, and rate at which data is being generated nowadays, both by humans and machines, are unprecedented. This opens up a number of challenges on dealing with those data, as traditional computing paradigms are not conceived to operate at such a scale.

"Big Data" is the umbrella term that has rapidly become popular to describe methodologies and tools specifically designed for collecting, storing, and processing very large or complex data sets. In addition to addressing foundational computer science problems, such as searching and sorting, big data computing mainly focuses on extracting knowledge - thereby value - from large-scale data sets using advanced data analysis techniques, such as machine learning.

This course is intended to provide graduate-level students with a deep understanding of programming models and tools that are suitable for the large-scale analysis of data distributed across clusters of computers. More specifically, the course will give students the ability to proficiently develop big data/machine learning solutions on top of industry-standard frameworks, such as Hadoop and Spark, to tackle real-world problems faced by the so-called "Big Five" tech companies (i.e., Apple, Amazon, Google, Microsoft, and Facebook): text/graph analysis, classification/regression, and recommendation, just to name a few.

Prerequisites

The course assumes that students are familiar with the basics of data analysis and machine learning, properly supported by a strong knowledge of foundational concepts of calculus, linear algebra, probability, and statistics. In addition, students must have non-trivial computer programming skills (preferably using Python programming language). Previous experience with Hadoop, Spark, or distributed computing is not required.

Exams

TBA

Recommended Textbooks

No textbooks are mandatory to successfully follow this course. However, there is a huge set of references which may be worth mentioning, especially to those who wants to dig deeper into some specific topics. Among those, some readings I would like to suggest are as follows:

  • Mining of Massive Datasets [Leskovec, Rajaraman, Ullman] available online.
  • Big Data Analysis with Python [Marin, Shukla, VK]
  • Large Scale Machine Learning with Python [Sjardin, Massaron, Boschetti]
  • Spark: The Definitive Guide [Chambers, Zaharia]
  • Learning Spark: Lightning-Fast Big Data Analysis [Karau, Konwinski, Wendell, Zaharia]
  • Hadoop: The Definitive Guide [White]
  • Python for Data Analysis [Mckinney]

Syllabus:


Class Schedules

Lecture # Date Topic Material
Lecture 1 11/21/2023 Introduction to Big Data: Motivations and Challenges [slides: PDF]
Lecture 2 11/22/2023 The Curse of Dimensionality [slides: PDF, notebook: ipynb]
Lecture 3 11/28/2023 Clustering: A General Framework [slides: PDF]
Lecture 4 11/29/2023 Clustering: K-means [slides: PDF]
Lecture 5 12/05/2023 Dimensionality Reduction: Principal Component Analysis (Part I) [slides: PDF]

Previous Years

In the following, you can quickly navigate through Big Data Computing class information and material from previous years.

NOTE: The folder containing the class material is unique, and it is subject to changes and/or updates; as such, there may be differences between the content displayed on this website and what has been shown in class in the past.

big-data-computing's People

Contributors

gtolomei avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.