PROGRAMMING TECHNIQUES FOR DISTRIBUTED SYSTEMS
Academic Year 2021/2022 - 1° Year - Curriculum Communication Networks and ServicesCredit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 49 hours
Exercise: 30 hours
Term / Semester: 2°
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