This course builds on the delegate’s C++ knowledge with detailed discussions of the advanced features of the language. It promotes the development of robust, reusable and well-designed software.
The course covers the STL in detail including discussions of iterators, algorithms and containers. Advanced template techniques including specialisation and trait classes are thoroughly reviewed.
Through a series of examples and exercises, the course aims to demonstrate good practices to increase performance and reuse of code. Many C++ programs are syntactically correct but do not address efficiency and maintenance/reuse issues.
Object-oriented design is the key to making software easy to understand and maintain. The student will be introduced to the UML notation and shown how various UML patterns are best implemented in C++.