IP4608 - Object oriented programming

IP4608 - Object oriented programming


General objective:

At the end of the course of Object Oriented Design, the student will be able to:
- conduct a object oriented analysis
- use the UML formalism to describe the main views of its system (using class and sequence diagrams)
- understand a Java specification based on a set of UML diagrams in order to implement it in Java
- produce class and sequence diagrams based on a textual specification , that he/she will then be able to exploit in order to produce code

At the end of the course of Object Oriented Programming, the student will be able to:
- use all the concepts of object programming in Java,
- use an integrated development environment (IDE),
- use the main Java APIs,
- use the event management mechanisms,
- use a software bus (Ivy) to implement dispatching in a Java application.

Detailed objectives:

Object Oriented Design:
Know how to conduct an object-oriented design
- static models
- dynamic models
Know how to justify and document the design
- know how to make simple rational design choices
- know how to discuss and document these choices
Understand the difference between analysis and object design
- analysis: understanding of domain concepts

Object Oriented Programming:
- Compare procedural/functional approaches (1) -define a function for each operation whose body provides a case for each data variant- and object-oriented approaches (2) -define a class for each data variant and provide a method for each operation. Explain them by defining a matrix of operations and variants.
- Use subclassing to design a hierarchy of simple classes to share code in intermediate level classes.
- Use various encapsulation mechanisms such as interfaces, closures and support for abstract data types, in Java.
- Define and use iterators and other operations on aggregates using common idioms in Java, including taking anonymous classes or functions as arguments.
- Use contract programming, and define preconditions and postconditions for each method.


  • Lecture : 9h
  • Supervised Practical Work : 9h
  • Labs work : 10h

Form of assessment

Total assessment hours: 2

In brief

ECTS credits : cf Teaching Unit

Number of hours 30



  • Toulouse