81942 - SCALABLE AND CLOUD PROGRAMMING

Academic Year 2017/2018

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

Web Services like Facebook, Google, Amazon, etc. are executed on multiple geographically distributed data centers. In particular, many computers must be organized in such a way that the realized systems are fault tolerant and able to respond to thousands of concurrent requests. Moreover, platforms of this kind (like Google and Amazon) offer hosting services for third-party applications realizing the so-called “cloud computing” services. In this course we will present solutions concerning the distribution of both data and processes and corresponding programming techniques like MapReduce.

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 Hadoop and Google App Engine.

Readings/Bibliography

Documents and articles that will be posted on the course web site.

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.

Teaching tools

PC and beamer.

Office hours

See the website of Gianluigi Zavattaro