020OOPES1

Object-Oriented Programming

This course introduces the fundamentals of programming in C and C++ with a focus on both procedural and object-oriented paradigms. Students will begin with C/C++ syntax, including typed variable declarations, basic input/output operations, expressions, and type conversions. Core control structures such as conditional branching, for and while loops, as well as function definitions, prototypes, parameter passing, and function overloading will be covered. The course then explores arrays, strings, pointer arithmetic, manual memory management, and cyclic dependency resolution, including deep copies and smart pointers. Students will gain a solid foundation in object-oriented programming, learning key concepts such as abstraction, encapsulation, inheritance, and polymorphism. Practical implementation includes defining classes, constructors, destructors, methods, attributes, static members, access modifiers, and operator overloading. The course also introduces modern software development practices using VS Code, compiling with CMake, and version control with Git and GitHub.


Temps présentiel : 45 heures


Charge de travail étudiant : 100 heures


Méthode(s) d'évaluation : Examen final, Examen partiel, Travaux pratiques

Les prérequis de ce cours sont les suivants
 Programming 2
Ce cours est proposé dans les diplômes suivants
 Diplôme d'ingénieur - spécialité génie informatique et communications - option : génie logiciel
Diplôme d'ingénieur - spécialité génie informatique et communications - option : réseaux de télécommunications