- 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. 5898)
-
from Sep 17, 2024 to Dec 18, 2024
Learning outcomes
At the end of the course the students will know: - the main problems concerning the realization of highly parallel and distributed programs: - a programming style, based on functional and object-oriented programming, useful to develop scalable applications, namely applications that can be easily deployed over different computing architectures, with different amounts of computing resources. In particular, the students will be able to: - develop an application by using the programming language Scala and the platform Spark and deploy it on cloud computing systems like those provided by Amazon Web Services (AWS) and Google Cloud Platform (GCP).
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
The final assessment will be based on two distinct activities, a written test composed of open-ended questions about the course contents, and a project work consisting of the realization of a system by using the techniques and platforms presented during the course lectures.
The final grade will be obtained by combining the single evaluations assigning weight 2/3 to the written test and 1/3 to the project work.
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.