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.
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)
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)
Java: The Complete Reference, Herbert Schildt