20810075 - OBJECT ORIENTED- PROGRAMMING

Providing methods and tools for developing OO applications, with emphasis on the quality of code. At the end of the course, students should be able to develop autonomously OO applications of medium complexity, and to participate in the development of large OO applications.

Curriculum

teacher profile | teaching materials

Programme

Here’s the English translation of your program outline:

**Program**

**Part 1: The Object-Oriented Paradigm**

* The Java programming language
* Classes and Objects
* Constructors
* Information Hiding

**Part 2: Code Quality**

* Cohesion and Coupling
* Testing

**Part 3: Polymorphism**

* Interfaces
* Substitution Principle, Polymorphism
* Inheritance

**Part 4: Collections**

* Generics
* Maps, Sets, Lists
* Iterators

**Part 5: Code Reuse**

* Inheritance: further insights
* Abstract Classes
* Enumerated Types
* Nested Classes

**Part 6: Streams, Exceptions, Reflection, Annotations**

* Exception Handling
* Streams
* Reflection
* Annotations

**Part 7: Introduction to Concurrent Programming**

* Java Threads: definition, creation, termination
* Interference
* Speed-up and issues of parallel decomposition
* A multi-threading model for graphical applications


Core Documentation

Ken Arnold, James Gosling, David Holmes "Il linguaggio Java: Manuale Ufficiale" - Addison Wesley


Reference Bibliography

Unavailable

Attendance

In presence, 3 weekly lessons

Type of evaluation

Written, laboratory and a final oral exam

teacher profile | teaching materials

Programme

Here’s the English translation of your program outline:

**Program**

**Part 1: The Object-Oriented Paradigm**

* The Java programming language
* Classes and Objects
* Constructors
* Information Hiding

**Part 2: Code Quality**

* Cohesion and Coupling
* Testing

**Part 3: Polymorphism**

* Interfaces
* Substitution Principle, Polymorphism
* Inheritance

**Part 4: Collections**

* Generics
* Maps, Sets, Lists
* Iterators

**Part 5: Code Reuse**

* Inheritance: further insights
* Abstract Classes
* Enumerated Types
* Nested Classes

**Part 6: Streams, Exceptions, Reflection, Annotations**

* Exception Handling
* Streams
* Reflection
* Annotations

**Part 7: Introduction to Concurrent Programming**

* Java Threads: definition, creation, termination
* Interference
* Speed-up and issues of parallel decomposition
* A multi-threading model for graphical applications


Core Documentation

Ken Arnold, James Gosling, David Holmes "Il linguaggio Java: Manuale Ufficiale" - Addison Wesley


Reference Bibliography

Unavailable

Attendance

In presence, 3 weekly lessons

Type of evaluation

Written, laboratory and a final oral exam

teacher profile | teaching materials

Programme

Here’s the English translation of your program outline:

**Program**

**Part 1: The Object-Oriented Paradigm**

* The Java programming language
* Classes and Objects
* Constructors
* Information Hiding

**Part 2: Code Quality**

* Cohesion and Coupling
* Testing

**Part 3: Polymorphism**

* Interfaces
* Substitution Principle, Polymorphism
* Inheritance

**Part 4: Collections**

* Generics
* Maps, Sets, Lists
* Iterators

**Part 5: Code Reuse**

* Inheritance: further insights
* Abstract Classes
* Enumerated Types
* Nested Classes

**Part 6: Streams, Exceptions, Reflection, Annotations**

* Exception Handling
* Streams
* Reflection
* Annotations

**Part 7: Introduction to Concurrent Programming**

* Java Threads: definition, creation, termination
* Interference
* Speed-up and issues of parallel decomposition
* A multi-threading model for graphical applications


Core Documentation

Ken Arnold, James Gosling, David Holmes "Il linguaggio Java: Manuale Ufficiale" - Addison Wesley


Reference Bibliography

Unavailable

Attendance

In presence, 3 weekly lessons

Type of evaluation

Written, laboratory and a final oral exam