Conception et Programmation Orientée-Objet
Objectives
This course is an introduction to the principles of object-oriented design and application programming. The OO design is illustrated with UML models and programming uses the C++ language, in the lecture and in practical classes.
Description
The course includes several sections related to the modelling of a computer system in the form of communicating objects.
The course first discusses the basic concepts of this modelling approach (unicity, abstraction, classification). After a quick reminder of the characteristics of the imperative programming languages, the algorithmic characteristics of C++ will be introduced, before developing in detail the notion of classification, dynamic object management, input-output processing and templates. All aspects of the language are illustrated though many examples, focussing on both object-oriented concepts and technical details.
A small project is proposed in practical classes and offers students a small experience in object-oriented development: analysis of a specification, modelling of the solution (UML, class diagram), implementation in C++, including the validation of the result. Students must deliver at the end a development report and a the code developed.
Targeted skills
At the end of this course, the student will be able to realize an object-oriented application, from the modeling to the delivery of a code and its development report.
Bibliography
Bertrand Meyer, « Concepon et programmaon orientée-objet », Eyrolles Eds, ISBN 978-2-212-67500-9, Octobre 2017, 1024 pages.
Bjarne Stroustrup, « The C++ Programming Language », 4th Edion, ISBN 978-0-321-56284-2, 2013, 1281 pages.