CourseC / C++Advanced

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.

Tell me about new courses