C++ Course – Advanced Topics
An advanced C++ course that takes you from memory management and templates to concurrency, network programming, and cross-platform GUI development.
Ready to take your C++ skills to the next level? This advanced course dives into the language's most challenging areas: smart memory management, advanced templates, multithreading and concurrency, network and socket programming, design patterns, and modern C++ features. Throughout the course, you will apply what you learn in real-world projects—from multithreaded programs and network communication to graphical user interfaces that run on both Windows and Linux. The material is structured step by step for self-paced learning, with guidance from an experienced instructor.
What you'll learn
- Advanced memory management: allocation, smart pointers, and RAII to prevent memory leaks and dangling pointers
- Advanced templates: specialization, variadic templates, and template metaprogramming for flexible, reusable code
- Multithreading, synchronization mechanisms, and safe management of shared resources
- Advanced concurrency: atomic operations, memory ordering, and thread pools for efficient task management
- Network and socket programming: client-server architecture and data communication over TCP and UDP
- Common C++ design patterns, including Singleton, Factory, Builder, and Observer, for maintainable code
- Modern C++ features (C++11 and later): move semantics, exception safety, compile-time constants, and inheritance control
- Cross-platform GUI development for Windows and Linux using free tools
Course content
Course Sessions8 lessons
- 🔓 Free previewSession 1 — Advanced Memory Management: Smart Pointers and RAII
- Session 2 — Advanced Templates: Specialization, Variadic Templates, and MetaprogrammingIncluded with purchase
- Session 3 — Multithreading and ConcurrencyIncluded with purchase
- Session 4 — Advanced Concurrency: Atomic Operations and Thread PoolsIncluded with purchase
- Session 5 — Network and Socket Programming (TCP/UDP)Included with purchase
- Session 6 — Design Patterns in C++Included with purchase
- Session 7 — Modern C++ Features (C++11 and Later)Included with purchase
- Session 8 — Cross-Platform GUI Development for Windows and LinuxIncluded with purchase
Instructors
The Embedded Academy team
Experienced embedded-systems engineers from the industry — people who build real products, not just teach about them.
FAQ
Who is this course for?
It is designed for developers who already know C++ and want to master advanced topics such as memory management, concurrency, network programming, design patterns, and modern C++ features.
What are the prerequisites?
Prior C++ development experience is required. If you are new to C++, the introductory course provides the necessary foundation.
Who teaches the course?
Michael Weisman, 41, has 17 years of software-development experience. He began with the Microsoft Certified Professional Developer program, mastering C# and other technologies, and then moved into embedded programming in C, C++, and LabVIEW. He holds a Computer Science degree from the Open University, has led development teams across industries including healthcare, defense, and IoT, and teaches Embedded Systems in C and C++ worldwide.
Is this a live cohort?
This catalog entry contains on-demand recordings. Contact the academy for information about any future live cohort.
How many meetings does the course include?
The course includes eight meetings that progressively cover advanced C++ topics, from memory management to cross-platform GUI development.
