PROGRAMMING TECHNIQUES FOR DISTRIBUTED SYSTEMS

Academic Year 2021/2022 - 1° Year - Curriculum Communication Networks and Services
Teaching Staff: Davide PATTI and Antonella DI STEFANO
Credit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 49 hours
Exercise: 30 hours
Term / Semester:
ENGLISH VERSION

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