Objectives
The aim is to provide students with advanced skills in object-oriented programming (OOP), through GUI programming. This module will allow
- to address new concepts, such as event-driven programming or design patterns;
- to deepen the concepts of inheritance, polymorphism, abstract class or exception handling;
- to introduce methods and tools of "good practices" of development as test programming, code version management or documentation of sources. Teaching is shoed mainly in the form of tutorials, allowing the student to accumulate gradually the knowledge and skills of GUIS programming.
Keywords
Object-oriented programming, GUIs, Design Pattern, Test-programming, C++, QT.
Programme
Lesson #1 (2h) : Specificity of C/C++ programming
Lesson #2 (2h) : Advanced C++ (1)
Lesson #3 (2h) : Advanced C++ (2)
Lesson #4 (2h) : Advanced C++ and event-driven programming (3)
TD #1 (2h) : C/C++ programming initiation
TD #2 (2h) : C++ basics
TD #3 (2h) : Operators and genericity
TD #4 (2h) : Inheritance and exceptions
TP/Autonomy #1 (2h) : Git and QML.
TP/Autonomy #2 (2h) : Program development (1)
TP/Autonomy #3 (2h) : Program development (2)
TP/Autonomy #4 (2h) : Program development (3)
TP/Autonomy #5 (2h) : Program development (4)
Learning Outcomes
- Create a program based on a graphical user interface (QT)
- Design robust and documented programs
- Learn to work in groups on the same project, thanks to a collaborative platform like Github
Assesment
Final mark = 50% Knowledge + 50% Know-how
Knowledge = Final exam Know-how = Project by pair