2023-2024 / INFO0062-1

Object-oriented programming


25h Th, 20h Pr, 20h Proj.

Number of credits

 Bachelor of Science (BSc) in Engineering5 crédits 
 Bachelor of Science (BSc) in Computer Science5 crédits 
 Master of Science (MSc) in Electrical Engineering5 crédits 
 Master of Science (MSc) in Computer Science and Engineering5 crédits 
 Master in business engineering (120 ECTS)5 crédits 
 Bachelor in mathematics5 crédits 
 Master in geography: geomatics (120 ECTS)5 crédits 
 Master in mathematics (120 ECTS)5 crédits 
 Master in mathematics (60 ECTS)5 crédits 


Bernard Boigelot

Language(s) of instruction

English language

Organisation and examination

Teaching in the second semester


Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

The course introduces the object-oriented programming paradigm and its main concepts (objects, classes, methods, constructors, messages, instantiation). It then studies in detail the inheritance mechanism and its different applications. The course also covers some auxiliary problems such as object cloning, equivalence testing, and serialization. A brief introduction to object-oriented concurrent programming is also given.
The principles and mechanisms studied in the course are illustrated and applied in practice with the help of the Java programming language.

Learning outcomes of the learning unit

At the end of this course, students will be able to solve a programming problem by following the object-oriented approach, and to implement their solution in the Java programming language.

This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, III.3, IV.1, V.2, VI.1, VI.2, VII.3, VII.4, VII.5 of the BSc in engineering.

This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, III.3, IV.1, IV.4, V.2, VI.1, VI.2, VII.3, VII.4, VII.5 of the MSc in electrical engineering.

Prerequisite knowledge and skills

A basic knowledge of algorithmics is needed.

Planned learning activities and teaching methods

  • Theoretical lessons.
  • Exercise sessions aimed at applying the concepts and mechanisms introduced in the theoretical course to actual problems, introducing programming tools, and helping the students to succeed with their practical project.
  • A practical programming project to be made individually or by groups of two students.

Mode of delivery (face to face, distance learning, hybrid learning)

Face-to-face course

Additional information:

  • The theoretical lessons are given by the professor.
  • Exercise sessions and support for the practical project are given by the assistant and student teaching aids.

Recommended or required readings

A copy of the slides used during the theoretical lessons is available on the WWW page of the course.

Exam(s) in session

Any session

- In-person

written exam ( open-ended questions )

Additional information:

A written exam (open questions) in June. A written exam (open questions) in September.

The grade obtained for the programming project is taken into account, and represents one third of the final note. Projects that have failed in June have to be resubmitted in September. Projects that are sent after the deadline will not be corrected. The penalty for plagiarized projects is a global note of zero for the course.

Work placement(s)

Organisational remarks and main changes to the course

A WWW page with up-to-date information about the course is available at the address https://people.montefiore.uliege.be/boigelot/courses/oop/.


Professor: Bernard Boigelot, bernard.boigelot@uliege.be
Teaching assistant: Baptiste Vergain, bvergain@uliege.be

Association of one or more MOOCs