[{"command":"insert","method":null,"selector":".course-modal-ajax-placeholder-950874","data":"\u003Cdiv class=\u0022container content-rte\u0022\u003E\n  \u003Cdiv class=\u0022row\u0022\u003E\n    \u003Cdiv class=\u0022box col-md-6 bg-primary text-white\u0022\u003E\n      \u003Ch2 class=\u0022h1 text-left\u0022\u003E  [M1 DiPaQ] Programmation C++ avanc\u00e9e\n\u003C\/h2\u003E\n                  \u003Cdiv class=\u0022field-spacing\u0022\u003E\n        \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EECTS :\n          3\n        \u003C\/div\u003E\n      \u003C\/div\u003E\n                  \u003Cdiv class=\u0022field-spacing\u0022\u003E\n        \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ESemestre calendaire :\n          Semestre 1\n        \u003C\/div\u003E\n      \u003C\/div\u003E\n            \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ED\u00e9tail du volume horaire\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                          \u003Cspan class=\u0022field__label h4 mt-5 \u0022\u003ECours magistraux :\u003C\/span\u003E\n                                      \u003Cspan\u003E10.5\u003C\/span\u003E\n                      \u003C\/div\u003E\n                                \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                          \u003Cspan class=\u0022field__label h4 mt-5 \u0022\u003ETravaux pratiques :\u003C\/span\u003E\n                                      \u003Cspan\u003E10.5\u003C\/span\u003E\n                      \u003C\/div\u003E\n                                                                          \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ELangue d\u0026#039;enseignement\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003EAnglais\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EEnseignement \u00e0 distance\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003Enon\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n      \u003C\/div\u003E\n    \u003Cdiv class=\u0022box col-md-6\u0022\u003E\n            \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EPr\u00e9requis\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E\u003Cstrong\u003EPrerequisites:\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EPrior experience in programming, preferably in C, Fortran, or Python\u003C\/li\u003E\n\u003Cli\u003EBasic familiarity with computer usage and development tools such as text editors, compilers, and command-line interfaces\u003C\/li\u003E\n\u003C\/ul\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EProgramme \/ plan \/ contenus\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E\u003Cstrong\u003ECourse program, plan, content:\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ETotal duration: 21 hours (7 sessions \u00d7 3 hours)\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EIntroduction to C++ and development environment \u2013 compiling, linking, running programs, and basic debugging\u003C\/li\u003E\n\u003Cli\u003EFundamental data types and control structures \u2013 variables, constants, arithmetic, logic, loops, and conditionals\u003C\/li\u003E\n\u003Cli\u003EFunctions and modular programming \u2013 defining functions, parameter passing, recursion, and scope\u003C\/li\u003E\n\u003Cli\u003EObject-oriented programming concepts \u2013 classes, objects, constructors\/destructors, encapsulation\u003C\/li\u003E\n\u003Cli\u003EInheritance, polymorphism, and virtual functions \u2013 designing reusable and extensible code\u003Cbr\u003E\nStandard library basics \u2013 containers (vector, map, list), iterators, and algorithms\u003C\/li\u003E\n\u003Cli\u003EMemory management and pointers \u2013 pointers, references, dynamic allocation, smart pointers\u003C\/li\u003E\n\u003Cli\u003EFile I\/O and exception handling \u2013 reading\/writing files, exceptions, and program robustness\u003C\/li\u003E\n\u003Cli\u003EBasic program optimization and debugging techniques \u2013 performance considerations, common pitfalls, and testing\u003C\/li\u003E\n\u003C\/ul\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EObjectifs d\u0026#039;apprentissage\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E\u003Cstrong\u003ELearning objectives:\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EUnderstand and apply the core concepts of the C++ programming language, including variables, control structures, functions, and classes\u003C\/li\u003E\n\u003Cli\u003EWrite modular, maintainable, and well-documented C++ programs\u003C\/li\u003E\n\u003Cli\u003EMaster object-oriented programming in C++: classes, inheritance, polymorphism, and encapsulation\u003C\/li\u003E\n\u003Cli\u003EUnderstand and use the C++ Standard Library, including containers, algorithms, and iterators\u003C\/li\u003E\n\u003Cli\u003EImplement dynamic memory management using pointers, references, and smart pointers\u003C\/li\u003E\n\u003Cli\u003EDebug, test, and optimize basic C++ programs for correctness and efficiency\u003C\/li\u003E\n\u003Cli\u003EDevelop a solid foundation to approach parallel and high-performance C++ programming in subsequent courses\u003C\/li\u003E\n\u003C\/ul\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EOrganisation g\u00e9n\u00e9rale et modalit\u00e9s p\u00e9dagogiques\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E\u003Cstrong\u003EGeneral course organization and teaching modalities:\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EThe course combines\u0026nbsp;\u003Cstrong\u003Electures\u003C\/strong\u003E\u0026nbsp;introducing theoretical concepts with\u0026nbsp;\u003Cstrong\u003Ehands-on programming labs\u003C\/strong\u003E\u0026nbsp;that allow students to apply and test these concepts in practice.\u003C\/li\u003E\n\u003Cli\u003EEach 3-hour session blends approximately 50% lecture and 50% programming exercises.\u003C\/li\u003E\n\u003Cli\u003EEvaluation is\u0026nbsp;\u003Cstrong\u003Econtinuous\u003C\/strong\u003E, based on\u0026nbsp;\u003Cstrong\u003Emultiple written and programming assignments\u003C\/strong\u003E\u0026nbsp;distributed throughout the course.\u003C\/li\u003E\n\u003C\/ul\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n                \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EComp\u00e9tences\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E\u003Cstrong\u003ECompetencies gained in the course:\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cp\u003EUpon successful completion, students will have acquired the following competencies:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ETechnical competence:\u003C\/strong\u003E Ability to design and implement functional C++ programs using core language features and standard libraries\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EAnalytical competence:\u003C\/strong\u003E Capacity to reason about program logic, modular design, and object-oriented structures\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EPractical competence:\u003C\/strong\u003E Proficiency in debugging, compiling, and running C++ programs efficiently\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EProblem-solving competence:\u003C\/strong\u003E Ability to translate computational problems into working C++ solutions\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ETransferable skills:\u003C\/strong\u003E Strong foundation for advanced C++ topics, including parallel programming and high-performance computing\u003C\/li\u003E\n\u003Cli\u003EStudents completing this course will have mastered core C++ concepts, object-oriented design, memory management, and the standard library, providing the essential programming foundation needed to tackle data-parallel C++ paradigms using SYCL and oneAPI in heterogeneous computing environments\u003C\/li\u003E\n\u003C\/ul\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EBibliographie\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E\u003Cstrong\u003EBibliography:\u003C\/strong\u003E\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EStroustrup, Bjarne.\u0026nbsp;\u003Cem\u003EThe C++ programming language\u003C\/em\u003E, 4th Edition. Addison-Wesley, 2013\u003C\/li\u003E\n\u003Cli\u003EMeyers, Scott.\u0026nbsp;\u003Cem\u003EEffective C++: 55 specific ways to improve your programs and designs\u003C\/em\u003E, 3rd Edition. Addison-Wesley, 2005\u003C\/li\u003E\n\u003Cli\u003EJosuttis, Nicolai M.\u0026nbsp;\u003Cem\u003EThe C++ standard library: a tutorial and reference\u003C\/em\u003E, 2nd Edition. Addison-Wesley, 2012\u003C\/li\u003E\n\u003C\/ul\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ENature de l\u0026#039;\u00e9valuation\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003EEvaluation Continue non Int\u00e9grale\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n      \u003C\/div\u003E\n  \u003C\/div\u003E\n\u003C\/div\u003E\n","settings":null}]