CLOUD COMPUTING AND DISTRIBUTED SYSTEMS

Academic year
2024/2025 Syllabus of previous years
Official course title
CLOUD COMPUTING AND DISTRIBUTED SYSTEMS
Course code
CM0468 (AF:513718 AR:286750)
Teaching language
English
Modality
On campus classes
ECTS credits
6
Degree level
Master's Degree Programme (DM270)
Academic Discipline
INF/01
Period
2nd Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
Introduction to distributed systems and cloud computing.
Design, architectures and technology.
Cloud applications, service quality and security.
Interprocess communication, remote invocation and remote procedure call.
Algorithms for synchronization, coordination, data sharing, resource allocation, consistency, fault tolerance.
Replication, consistency and concurrency control in transactional systems.
Design details
Knowledge of design principles of distributed systems and cloud computing.
Knowledge of architectures, technologies, and services in cloud computing.
Knowledge of communication paradigms, and algorithms for synchronization, cooperation and concurrency management in distributed systems.
Knowledge of programming, computer systems architectures, networks and operation systems.
Characterization of Distributed Systems, System Models, Networking and Internetworking,
Interprocess Communication, Remote Invocation, Indirect Communication, Operating System Support
Distributed File Systems, Name Services
Time And Global States, Coordination And Agreement
Transactions And Concurrency Control, Distributed Transactions, Replication
Mobile And Ubiquitous Computing, Distributed Multimedia Systems,
Textbook
G. Coulouris, J. Dollimore and T. Kindberg, "Distributed Systems: concepts and design", 5th edition, Addison Wesley Masson, 2012.

Other reference books
M.van Steen, A.S.Tanenbaum, DistributedSystems: Principles and Paradigms, 4rd edition, 2023
The evaluation will be based on a written final exam. At the discretion of the professor, some students may be asked to take also an oral exam, if any clarification is necessary about their answers in the written exam.

If students desire, the final exam can be substituted by two midterms. In that case, the first midterm will be held during the course, the second one will be held at the end of the course.

The tests concern a set of theoretical questions with open answers and/or multiple choice, whose purpose is to test the mastery of the student with respect to the various topics of the course, the specific technical terminology and the fundamental design concepts of the computer networks, or some specific exercises on the topics of the course in order to evaluate the skills acquired.
written and oral
1. scores in the 18-22 range will be awarded in the case of answers to the written and oral test that indicate sufficient knowledge and understanding of the topics addressed in the course; limited ability to develop autonomous solutions and application of the methods studied; limited ability in explaining methods and solutions.

2. scores in the 23-26 range will be awarded in the case of answers to the written and oral test that indicate a fair knowledge and understanding of the topics addressed in the course; discrete ability to develop autonomous solutions and application of the methods studied; discrete ability in explaining methods and solutions and ability to create connections between topics studied.

3. scores in the 27-30 range will be awarded in the case of answers to the written and oral test that indicate good or excellent knowledge and understanding of the topics addressed in the course; good or excellent ability to develop autonomous solutions and apply the methods studied; good or excellent ability to explain methods and solutions and ability to create connections between topics studied.

4. praise will be awarded only in the presence of demonstration of excellent knowledge, ability to understand with reference to the program, excellent ability to connect topics and illustrate with excellent communication skills.
The course is composed of frontal lessons. Together with the referral texts, additional material will be provided by means of slides and source code. Some theoretical exercises will be proposed and discussed during lectures. There will also be demonstration of practical exercises in Java.
The exam measures knowledge of the subject, the student's ability to apply the studied design methods and principles.
The written examination includes general questions of methods and specific questions about algorithms and technical design of distributed systems and cloud computing. Exam quesrions can be open ended or multiple choice.
Definitive programme.
Last update of the programme: 27/06/2025