Learn optimized C++ coding and debugging for automation, gaming, and embedded systems.
Course Description
This course covers object-oriented programming using modern C++. Because most automation, embedded applications, gaming, and many large data processing applications are written in C++, it is essential that software developers understand and master it. Hardware engineers are increasingly using C++ and OOP in system verification tasks and as of the current decade, there has been a noticeable shift from C to C++ on microcontroller systems.
This course offers an excellent foundation in developing optimized modern C++ applications. The participants will learn to write faster and modular code, and the debugging techniques, for real-world applications. There will be assignments and exercises to accompany the lectures.
Topics
- Principles of object-oriented analysis and design
- Stream classes for input/output and to read/write files
- User defined data types using structures and classes
- Declarations of identifiers, pointers, function pointers and references
- Reuse code and extend existing data types through inheritance
- Memory management and dynamic array declarations
- Create class/function templates and understand STL
- Use static member variables and static member functions
- Declare friend functions and friend classes
- Function overloading and operator overloading
- Polymorphism concept using virtual function
- Understand exceptions handling techniques using try/catch syntax
Prerequisites / Skills Needed
Experience with a high level programming language such as C/Java/Python.
