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

scheda docente | materiale didattico

Programma

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


Testi Adottati

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


Bibliografia Di Riferimento

Unavailable

Modalità Frequenza

In presence, 3 weekly lessons

Modalità Valutazione

Written, laboratory and a final oral exam

scheda docente | materiale didattico

Programma

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


Testi Adottati

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


Bibliografia Di Riferimento

Unavailable

Modalità Frequenza

In presence, 3 weekly lessons

Modalità Valutazione

Written, laboratory and a final oral exam

scheda docente | materiale didattico

Programma

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


Testi Adottati

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


Bibliografia Di Riferimento

Unavailable

Modalità Frequenza

In presence, 3 weekly lessons

Modalità Valutazione

Written, laboratory and a final oral exam