PROGRAMMING TECHNIQUES FOR DISTRIBUTED SYSTEMS

ING-INF/05 - 9 CFU - 2° semestre

Docenti titolari dell'insegnamento

DAVIDE PATTI
ANTONELLA DI STEFANO


Obiettivi formativi

Conoscenze e capacità di compresione:

Conoscenze applicate:


Modalità di svolgimento dell'insegnamento

Lezioni frontali teoriche ed esercitazioni al calcolatore.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare
il programma previsto e riportato nel syllabus.


Prerequisiti richiesti

Fondamenti di Informatica



Frequenza lezioni

Opzionale, ma fortemente consigliata



Contenuti del corso

1. Il linguaggio di programmazione Java

JAVA. Caratteristiche generali, tipi di dato, operatori, espressioni, strutture di controllo.
Classi, oggetti, interfacce, ereditarietà€ e polimorfismo, package. Concorrenza, gestione delle eccezioni, eventi. Input/Output.

4 CFU

2.La programmazione per i sistemi distribuiti

JAVA: Concorrenza. Networking. Socket. RMI.

4

CFU

3. Sistemi decentralizzati Sistemi decentralizzati basati su Blockchain. Proof-of-work e consenso nella rete Bitcoin. 1 CFU


Testi di riferimento

Java: The Complete Reference, Herbert Schildt


Altro materiale didattico

Studium



Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

Realizzazione progetto di sistema distribuito in Java

Prova orale.


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

Disponibili su Studium




Apri in formato Pdf English version