DISTRIBUTED APPLICATIONS AND CLOUD COMPUTING
APPLICAZIONI DISTRIBUITE E CLOUD COMPUTING
A.Y. | Credits |
---|---|
2024/2025 | 9 |
Lecturer | Office hours for students | |
---|---|---|
Claudio Antares Mezzina | Thursday 11:00–13:00 (to confirm by email) |
Teaching in foreign languages |
---|
Course with optional materials in a foreign language
English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language. |
Assigned to the Degree Course
Date | Time | Classroom / Location |
---|
Date | Time | Classroom / Location |
---|
Learning Objectives
The course aims at providing the student with the foundamental concepts and tools to design, implement and test distriduted applications. We will start from simple concepts like communication mechanisms (queues and channels). After a small introduction on formal models for distributed computing, Erlang and goLang will be introduced.
Program
01. Introduction to distributed applications and cloud computing
01.01 Basic concepts
01.02 Programming languages for distributed applications
02 Process algebras for distributed computing
02.01 Introduction to process algebras
02.02 Channels and queues
02.03 Basic concepts of behavioural theory
03 Principles of Erlang programming
03.01 Introduction to Erlang
03.02 Functional programmin in Erlang
03.03 Procedural Programing in Erlang
04 Concurrenct Programing in Erlang
04.01 Actors, spawn and pid
04.02 The Erlang errors model
05 Persistend memory in Erlang
05.01 Ets and dets tables
05.02 The mnesia DB
06 Fault Tollerance in Erlang
06.01 Monitoring and Supervisor Tree
06.02 Genserver and Behaviours in Erlang
06.03 Tracing and Debugging
07 goLang and channels
07.01 Introduction to goLang
07.02 Programing with channels
07.03 goroutines and concurrent programming
08 Syncrhonization Patterns
08.01 The publish and subscribe pattern
08.02 Distributed randez-vous
09 Alternative actors based programming languages
09.01 Elixir
09.02 Actors in Java, Scala
Bridging Courses
We highly recomand to take Distributed Systems first
Learning Achievements (Dublin Descriptors)
Knowledge and understanding: the student will acquire the main knowledge on programming distributed applications
Ability to apply knowledge and understanding: the student will be able to apply the knowledge acquired with the aim of designing distributed applications. He will also be able to design and implement real applications.
Autonomy of judgment: the student will be able to program a distributed application.
Communication skills: The student will be able to use the terminology of distributed systems appropriately. In addition, the student will be able to illustrate the descriptive characteristics and functionality of a system and distributed applications.
Learning skills: the student will learn the ability to design and implement systems based on descriptive requirements and specifications that specify the type of content and operations necessary for the management of a distributed application.
Teaching Material
The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it
Teaching, Attendance, Course Books and Assessment
- Teaching
Frontal lessons and laboratory activities
- Attendance
Not mandatory
- Course books
- Erlang Programming: A Concurrent Approach to Software Development. Francesco Cesarini & Simon Thompson
Programming Erlang: Software for a Concurrent World. Joe Armstrong
An Introduction to Programming in Go. Caleb Doxsey
Designing for Scalability with Erlang/OTP Francesco Cesarini, Steve Vinoski
- Assessment
The final exam will consists of two parts: the presentation of a scientific paper and a project. The presentation of the scientific paper will concur with 4 points to the final mark, while the discussion of the project will concur with 27 points.
The article should be agreed with the teacher, while the project should follow the specifications given by the teacher. The project is diveded into two pieces: the core part, which is the least requirement to pass the exam, and the advanced part.
Implementing the core part will concur with 22 points to the final mark, while implementing the advanced part will give 5 more points to the final mark.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Additional Information for Non-Attending Students
- Teaching
Material coming from frontal lessons and laboratory activities
- Attendance
Not mandatory
- Course books
- Erlang Programming: A Concurrent Approach to Software Development. Francesco Cerarini & Simon Thompson
Programming Erlang: Software for a Concurrent World. Joe Armstrong
An Introduction to Programming in Go. Caleb Doxsey
Designing for Scalability with Erlang/OTP Francesco Cesarini, Steve Vinoski
- Assessment
The final exam will consists of two parts: the presentation of a scientific paper and a project. The presentation of the scientific paper will concur with 4 points to the final mark, while the discussion of the project will concur with 29 points.
The article should be agreed with the teacher, while the project should follow the specifications given by the teacher. The project is diveded into two pieces: the core part, which is the least requirement to pass the exam, and the advanced part.
Implementing the core part will concur with 24 points to the final mark, while implementing the advanced part will give 5 more points to the final mark.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
« back | Last update: 24/06/2024 |