Course Overview
Object-oriented programming concepts, such as inheritance, polymorphism, and encapsulation, can be challenging for C programmers who are used to a more procedural programming style. Therefore, this course is designed specifically for embedded software developers who already have experience with the C programming language and want to learn C++.
The focus of the course will be on applying C++ to the development of embedded systems. We will cover topics such as basic classes, objects, constructors, inheritance, and polymorphism. In addition, attendees will learn how to design object-based applications using UML class diagrams and relate them to C++ code implementation.
Essential Topics Covered
- Introduction to C++ for Embedded Software Development
- Basics of Classes and Objects, Constructors and Destructors
- Inheritance and Polymorphism
- UML Class Diagrams for Object-Oriented Design
- Templates and Static Polymorphism
Ready to transition from C to C++ for your embedded projects? This hands-on workshop will get you there.
Enroll Now — $295Workshop Curriculum
The workshop includes 5 hands-on sessions. Click each session to see full details.
Session 1: Introduction to C++ for Embedded Software Development
Topics Covered
- Modern embedded system needs
- Programming language options
- C++ advantages/disadvantages
- Modern build systems
- Compilation processes
- Microcontroller boot processes
- C++ coding standards
- Options for transitioning to C++
- Best practices
Session 2: Basics of Classes and Objects, Constructors and Destructors
Topics Covered
- Object-oriented programming concepts
- UML class diagram representation
- Class/object creation in C++
- Differences between classes and objects
- Constructors/destructors
- Access control (public, protected, private)
- Best practices
Session 3: Inheritance and Polymorphism
Topics Covered
- Class inheritance
- Modeling relationships
- Virtual functions
- Abstract classes
- Interfaces
- Hardware abstraction layers
- SOLID principles
- Best practices
Session 4: UML Class Diagrams for Object-Oriented Design
Topics Covered
- UML class diagram overview
- Understanding diagrams
- Translating to C++ code
- Class associations/relationships
- Composition
- Aggregation
- Best practices
Session 5: Templates and Static Polymorphism
Topics Covered
- Template introduction
- Template class design
- Type checking
- UML templates
- Static versus dynamic polymorphism
- Best practices
Make the leap from C to C++ with confidence. Enroll today and modernize your embedded development skills.
Enroll Now — $295Ready to get started?
Enroll Now — $295Or get access to all courses with the Embedded Software Academy — $295/yr
Need Custom or On-Site Training?
Fill out the form below and we'll contact you about your requirements.