What We Offer
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)
- 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
The course schedule is designed in such a manner that, if desired, C++ for Programmers and C++ for Software Development may be attended consecutively.
|09:00 – 10:45||Morning Session 1|
|10:45 – 11:00||Coffee Break|
|11:00 – 12:45||Morning Session 2|
|12:45 – 13:45||Lunch|
|13:45 – 15:30||Afternoon Session 1|
|15:30 – 15:45||Coffee Break|
|15:45 – 17:30||Afternoon Session 2|
|17:30 – 18:30||Q & A Session (Optional)|
For further details, please refer to our Prices & Booking page.