Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


DISTRIBUTED APPLICATIONS AND CLOUD COMPUTING
APPLICAZIONI DISTRIBUITE E CLOUD COMPUTING

A.Y. Credits
2024/2025 9
Lecturer Email 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

Informatics and Digital Innovation (LM-18)
Curriculum: PERCORSO COMUNE
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

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top