DISTRIBUTED APPLICATIONS AND CLOUD COMPUTING
APPLICAZIONI DISTRIBUITE E CLOUD COMPUTING
A.Y. | Credits |
---|---|
2022/2023 | 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 Other actor 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 Cerarini & Simon Thompson
Programming Erlang: Software for a Concurrent World. Joe Armstrong
An Introduction to Programming in Go. Caleb Doxsey
- Assessment
Discussion of a scientific paper and a project
- 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: 18/09/2022 |