IP4008 - Object oriented programming

IP4008 - Object oriented programming


Detailed objectives:

1 - Compare and differentiate procedural approaches or functional approaches. Define a function for each operation and provide one case for each data variant.
Compare and differentiate the object-oriented approaches. Define one class for each data variant and provide one method for each operations. Be able to explain the method by defining a matrix of operations and variants.

2 - Use sub classing to design a simple hierarchy of classes in order to share a code in the classes of intermediates level.

3 - Use different Java encapsulation mechanism as the interface, the closure and the abstract data types support.

4 - Define and use the iterator and other operations about aggregates by using the most common Java idioms, including by taking anonyms classes or function as argument.

5 - Use the design by contract, and define preconditions and postconditions for each method.


  • Lecture : 60h
  • Labs work : 140h

In brief

ECTS credits : cf Teaching Unit

Number of hours 200



  • Toulouse