2017-2018 / INFO0062-1

Object-oriented programming

Duration

30h Th, 24h Pr, 20h Proj.

Number of credits

 Bachelor in engineering5 crédits 
 Bachelor in computer science5 crédits 
 Master in data science (120 ECTS)5 crédits 
 Master in electrical engineering (120 ECTS)5 crédits 
 Master of science in computer science and engineering (120 ECTS)5 crédits 
 Master in data science and engineering (120 ECTS)5 crédits 
 Master in computer science (120 ECTS)5 crédits 
 Master in computer science (60 ECTS)6 crédits 
 Master in business engineering (120 ECTS)5 crédits 
 Bachelor in mathematics6 crédits 
 Master in bio-informatics and modelling (120 ECTS)6 crédits 
 Master in mathematics (120 ECTS)6 crédits 
 Master in geography : geomatics and surveying (120 ECTS)5 crédits 

Lecturer

Bernard Boigelot

Language(s) of instruction

English language

Organisation and examination

Teaching in the second semester

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.

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 by each student.

Mode of delivery (face-to-face ; distance-learning)

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

Recommended or required readings

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

Assessment methods and criteria

A written exam in June. A written exam 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)

Organizational remarks

A WWW page with up-to-date information about the course is available at the address http://www.montefiore.ulg.ac.be/~boigelot/cours/oop/.

Contacts

Professor: Bernard Boigelot, boigelot@montefiore.ulg.ac.be Assistant: Jean-François Grailet, jean-francois.grailet@ulg.ac.be