The course is designed for people with a good existing foundation of C++ and follows on from our other C++ course, C++ for programmers. It aims to develop your skills to the point where you can develop large, complex, multi-developer applications. Here, we focus on writing efficient (both in terms of memory and speed), manageable, stable (error-managed) code. We discuss how to develop large software projects, including: setting up a build system, writing scaleable code, error-catching, managing multi-developer software, version control and code maintenance.
This course assumes familiarity with C++ and the basic ideas of programming with loop and if-statements, etc. Advanced topics like templates, inheritances, etc. will be covered in this course. If you do not have any background in C++ this can be gained from our other course C++ for programmers, which is taught immediately before the course allowing you to do both courses in one week.
Our trainers have significant experience using C++ in the commercial, industrial and academic sectors and, as such, can impart knowledge regarding the specific applications of C++ coding in addition to the general use of the language itself.
A full list of the subjects taught is provided below:
Memory management (new/delete, smart pointers, move)
Code efficiency
Advance OOP (virtual inheritance etc)
Templates
Operator overloading
The standard libraries (utility, algorithm, chrono)
Advanced use of classes (polymorphism)
Error catching
Basic graphics with SFML
Writing make files and libraries
Code management using CMAKE
Using version control both svn and git
We also offer on-site personalised training packages.
The course schedule is designed in such a manner that, if desired, C++ for Programmers and C++ for Software Development may be attended consecutively.
For further details, please refer to our Prices & Booking page.