1. Accueil
  2. EN
  3. Studying at ULB
  4. Find your course
  5. UE
INFO-H2001

Programmation orientée objet

academic year
2025-2026

Course teacher(s)

Mahmoud SAKR (Coordinator)

ECTS credits

5

Language(s) of instruction

french

Course content

This course is taught in French. 

This course is the second programming course for civil engineering students and serves as their first introduction to C++. It assumes that students already master fundamental programming concepts—such as variables, loops, conditionals, arrays, functions, and recursion—and are able to reason through basic algorithms. The course begins with a concise introduction to C++ syntax and development tools to bring all students up to speed with the language environment.

The primary focus of the course is practical programming training, with a measured introduction to object-oriented programming (OOP). Only core OOP concepts—classes, inheritance, polymorphism, and operator overloading—are covered, with an emphasis on code organization rather than advanced design or large-scale software architecture. While design patterns are mentioned briefly for awareness, they are not taught in depth.

A distinctive feature of the course is its integrated approach to computer architecture: topics such as memory management, peripherals, and system resources are introduced in context, alongside relevant programming concepts, rather than in dedicated theory lectures. This reinforces good programming practice and creates natural synergies with related courses such as ELEC-H301, INFO-H304, and ELEC-H310.

Objectives (and/or specific learning outcomes)

Objectives (and/or specific learning outcomes)

Course Objectives:

  1. Understand the fundamentals of C++ programming, including syntax, control structures, and basic data handling, dynamic memory management, smart pointers, templates, and the Standard Template Library (STL).

  2. Understand the principles of object-oriented programming (OOP) and apply them to design and implement software in C++.

  3. Learn basic computer architecture concepts like memory allocation and file I/O in C++.

  4. Solve concrete technical problems (projects, applications related to other EPB subjects) using C++ and OOP

  5. Develop competence in writing efficient code that minimizes execution costs and optimizes resource utilization.

  6. Collaborate on a comprehensive team project that synthesizes all course topics into a practical, real-world application, demonstrating the ability to design, implement, and manage a substantial software project.

Prerequisites and Corequisites

Required and corequired courses

Courses requiring this course

Cours ayant celui-ci comme co-requis

Teaching methods and learning activities

Lectures

  • A lecture class is held each week, followed by an associated practical session (lab) the following week.  
  • The lecture introduces new concepts (programming, fundamentals of computer science, object-oriented design). Each session also includes a mini-project illustrating the main concepts covered, which will be explained in class.

MOOC

  • A MOOC available on UV allows students to practice the topics covered in lectures.

Practical Sessions (Labs)

  • Each lab takes the form of a quiz:  
    • Every other week, it is a formative quiz (ungraded, for practice purposes).  
    • The following week, it is a graded quiz (assessed).

Project

  • Group project

References, bibliography, and recommended reading

  • Beginning C++ Horton publié chez APRESS, Auteur Ivor Horton; 2014, download via Cible+ (https://link-springer-com.ezproxy.ulb.ac.be/book/10.1007/978-1-4842-0007-0)
  • Les fondements de l'informatique publié chez Vuibert; Auteur Hugues Bersini

Course notes

  • Syllabus
  • Université virtuelle

Other information

Additional information

GitHub is used as the central platform for all course activities. Through active use, students will acquire foundational version control skills essential for collaborative software development.

Campus

Solbosch

Evaluation

Method(s) of evaluation

  • Project
  • Continuous assessment
  • Practice exam
  • Oral examination
  • Other

Project

Continuous assessment

Practice exam

Oral examination

Other

Language(s) of evaluation

  • french

Programmes