COURSE AIMS AND OBJECTIVES: Train students for advanced use of the C++ programming language in software developing tasks.
COURSE DESCRIPTION AND SYLLABUS:
1. Introduction to modern C++. Standard template library, lambda expressions and functional programming.
2. Object oriented programming. Design patterns, multiple and virtual inheritance, strong and weak sides of object oriented programming.
3. Generic programming. Class and function templates, programming techniques, interactions with object oriented programming, metaprogramming.
4. Multithreading. Threads, sinchronization, atomic variables, C++ memory model, parallel programming with and without locking.
5. Network programming. Programming with Boost.Asio library.
6. Graphical user interface (GUI) programming. Programming with Qt6 library.
|