PROGRAMMING TECHNIQUES FOR DISTRIBUTED SYSTEMS
Anno accademico 2025/2026 - Docente: RAFFAELE DI NATALERisultati di apprendimento attesi
Conoscenza e apprendimento
Conoscenza di Java, con particolare riferimento agli strumenti per la programmazione distribuita. Capacità di integrare le diverse tecniche di programmazione al fine di strutturare l'architettura di un sistema distribuito in base a un insieme di requisiti di progettazione.Conoscenze applicate
Capacità di descrivere quanto appreso nell'ambito del deployment di applicazioni in ambienti distribuiti di uso comune.
Prerequisiti richiesti
Frequenza lezioni
Contenuti del corso
1. Object-oriented programming The Java programming language.General features, data types, operators, expressions, control structures: Classes, objects, interfaces, inheritance and polymorphism, packages,
2. Threads and concurrency,
3. Eexception management, events. Input / Output.
4. Introduction to Distributed Systems
5. Programming for distributed systems JAVA: Concurrency. Socket. Networking.
6. Distributed Computing, Process to Process Communications, Publish/SubScribe Model
Testi di riferimento
Distributed Systems: Theory and Applications, R. K. Ghosh
Core Java: Fundamentals: Fundamentals, Volume 1&2