- Docente: Gianluigi Zavattaro
- Credits: 6
- SSD: INF/01
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)
Learning outcomes
At the end of the course the student will know programming methodologies for data elaboration in the cloud, and will know the issues related with data and process distribution. The student will be able to realize highly scalable applications, both concurrent and distributed, and to parallelize their execution.
Course contents
Analisys of the problems concerning the realization of highly concurrent and distributed applications.
Scalable approaches to the parallelization and distribution of both data and processes, like the MapReduce programming model.
Functional approach to the realization of scalable systems through languages and frameworks like Scala and Spark.
Cloud platforms for the execution of scalable applications like Amazon Web Services (AWS) and Google Cloud Platform (GCP).
Readings/Bibliography
Programming in Scala (3rd edition)
Martin Odersky, Lex Spoon, Bill Venners
Artima
Learning Concurrent Programming in Scala (2nd edition)
Aleksandar Prokopec
Packt Publishing
Learning Spark: Lightning-Fast Big Data Analysis
Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia
O’Reilly
Teaching methods
Theoretical and practical class lectures.
Assessment methods
Project consisting of the realization of a system utilizing the techniques and the platforms discussed during the class lectures.
The final evaluation will be decided by considering the following factors:
- originality and quality of the presented system;
- quality of the oral presentation;
- the knowledge of the course contents.
The presentation of the project work will include also a discussion about the subjects in the course program.
Teaching tools
PC and beamer.
Office hours
See the website of Gianluigi Zavattaro
SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.