Salta ai contenuti. | Salta alla navigazione

Strumenti personali

BIG DATA AND CLOUD COMPUTING

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2022/2023
Teacher
MAURO TORTONESI
Credits
6
Didactic period
Secondo Semestre
SSD
ING-INF/05

Training objectives

The main objective of this course is to introduce the main topics related to the development of distributed Big Data and Cloud Computing applications. We will study state-of-the-art architectures and techniques to support scalable and modular solutions, that can also be easily integrated with mobile applications and services.

At the end of the course, students will be able to:
- identify, according to the given requirements, suitable architectures, orchestration platforms, configuration systems, and virtualization solutions for Big Data and Cloud Computing applications;
- analyze performance requirements of Big Data and Cloud Computing applications;
- develop Big Data and Cloud Computing solutions exploiting open source platform and software components;
- properly integrate Cloud services and mobile applications.

Prerequisites

The course requires in-depth knowledge of computer networks, of both imperative (C) and object oriented programming languages (such as Python and Java), and of the Unix operating system. Some knowledge about distributed systems at large is also recommended.

Course programme

- Introduction to Cloud Computing
- Virtualization techniques: from virtual machines to containers
- Monitoring and control of Cloud services
- Introduction to microservices
- Public and private Cloud platforms
- From Cloud Computing to Edge and Fog Computing
- Introduction to Big Data solutions
- Large scale data storage solutions: Data Warehouse, Data Lake and Data Lakehouse
- Data analytics platforms: Apache Spark and its ecosystem
- Ingestion and visualization solutions for Big Data
- Introduction to MLOps
- Introduction to Mobile Computing: context and location awareness, mobile positioning and service discovery

Didactic methods

The course is structured as follows:
- classroom lectures on all subjects of the course;
- practical exercises in the Computer Laboratory of the Department of Engineering, in which students will learn how to design and develop simple Cloud and mobile applications.

Students will also have free access to the Computer Laboratory for further individual exercises.

Learning assessment procedures

The course includes a final oral examination, which will evaluate the level of expertise achieved both in terms of awareness of design methodologies, architectures, and models, and in terms of implementation abilities regarding all the primary technologies discussed during the lectures. The oral exam will include at least four questions related to the whole course.

Optionally, students will have the opportunity to choose to associate the exam with a personal activity on specific topics negotiated with teachers, e.g., the analysis of a scientific paper or the in-depth evaluation of a technology. In this case, the exam will start by discussing the developed project. If interested, students are required to contact teachers at least a month before the oral examination.

Reference texts

There is no single textbook that contains all the material presented in the course. Teachers will provide a copy of the slides used during the lectures, also containing references to books and papers useful to further study each topic.