TECNICHE DI PROGRAMMAZIONE PER I SISTEMI DISTRIBUITI

Academic Year 2018/2019 - 1° Year
Teaching Staff: Davide PATTI
Credit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 49 hours
Exercise: 30 hours
Term / Semester:
ENGLISH VERSION

Learning Objectives

  • Ability to develop software applications for distributed execution environments, using object-oriented programming languages.
  • Knowledge of the Java language, with particular reference to the tools for distributed programming.
  • Knowledge of the Python language and libraries for networking and distributed programming.

Course Structure

1. Object-oriented programming (0.5 CFU)

2. The Java programming language (3 CFU): JAVA. General features, data types, operators, expressions, control structures: Classes, objects, interfaces, inheritance and polymorphism, packages, concurrency, exception management, events. Input / Output. Basic graphics, applets

3.The Python programming language (3 CFU): PYTHON. Introduction to language. Variables, expressions and instructions. Functions. Conditional statements, iteration and recursion. Strings, lists, tuples and dictionaries. Files and exceptions. Classes and objects. Inheritance. Use of libraries.

4. Programming for distributed systems JAVA: Concurrency. Networking. RMI. Enterprise Java Beans. PYTHON: Concurrency. Networking. Internet protocols.


Detailed Course Content

1. Object-oriented programming: Definitions, properties, classification of programming languages. Object-oriented programming.

2. The Java programming language: JAVA. General features, data types, operators, expressions, control structures: Classes, objects, interfaces, inheritance and polymorphism, packages, concurrency, exception management, events. Input / Output. Basic graphics, applets

3.The Python programming language: PYTHON. Introduction to language. Variables, expressions and instructions. Functions. Conditional statements, iteration and recursion. Strings, lists, tuples and dictionaries. Files and exceptions. Classes and objects. Inheritance. Use of libraries.

4. Programming for distributed systems JAVA: Concurrency. Networking. RMI. Enterprise Java Beans. PYTHON: Concurrency. Networking. Internet protocols.


Textbook Information

Any textbook