PROGRAMMING TECHNIQUES FOR DISTRIBUTED SYSTEMS

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

Teaching Staff

DAVIDE PATTI
ANTONELLA DI STEFANO


Learning Objectives

Knowledge and understanding

Knowledge of Java, with particular reference to tools for distributed programming. Ability to integrate the different theoretical notions regarding object-oriented programming in order to structure the architecture of an application according to a set of design requirements

Applied knowledge

Ability to report what has been learned in the ability to deploy applications in commonly used distributed environments.


Course Structure

1. Object-oriented programming The Java programming language.General features, data types, operators, expressions, control structures: Classes, objects, interfaces, inheritance and polymorphism, packages, concurrency, exception management, events. Input / Output. (4 CFU)

2. Programming for distributed systems JAVA: Concurrency. Socket. Networking. (4 CFU)

3. Decentralized Systems, blockchain and consensus on the Bitcoin protocol (1 CFU)



Detailed Course Content

1. Object-oriented programming The Java programming language.General features, data types, operators, expressions, control structures: Classes, objects, interfaces, inheritance and polymorphism, packages, concurrency, exception management, events. Input / Output. (4 CFU)

2. Programming for distributed systems JAVA: Concurrency. Socket. Networking. (4 CFU)

3. Decentralized Systems, blockchain, and consensus on the Bitcoin protocol (1 CFU)



Textbook Information

Java: The Complete Reference, Herbert Schildt




Open in PDF format Versione in italiano