Ultimate C++: Basic Modern C++20 to Advanced Multithreading

Language: English
Created by: RougeNeuron Academy
Rate: 4.1 / 159 ratings
Enroll: 19,551 students

What you’ll learn

  • C++ Fundamentals: Grasp the core concepts including variables, data types, arithmetic operations, and basic I/O.
  • Design Your Own Types: Learn the art of defining custom types using classes, structures, unions, and enumerations.
  • Understanding Modularity: Organize and structure your code effectively using namespaces, source files, and headers. Introduction to C++20 Modules feature.
  • Dive into OOP: Get introduced to the world of Object-Oriented Programming in C++ and understand classes, constructors, member functions, and overloading.
  • Understand Essential Operations: Demystify copy and move semantics and lay the foundation for the Rule of Three/Five.
  • Harness the Power of Templates: Delve into generic programming with C++ templates, ensuring type safety without limitations.
  • Concepts (C++20) and Generic Programming: Dive deeper into ensuring type-safety at compile-time through concepts.
  • Explore the C++ Library: Get familiarized with the C++ Standard Library, from containers and algorithms to a multitude of utilities.
  • Strings and Beyond: Master string operations, string_view(C++17) and harness the power of regular expressions.
  • Familiarize with I/O Streams: Navigate the world of I/O streams for efficient and formatted input-output operations.
  • Container Proficiency: Explore powerful container classes such as vector, list, and map.
  • Algorithmic Prowess: Understand the nuances of how algorithms work with containers and iterators.
  • C++ Utilities: Equip yourself with knowledge on smart pointers, time/date utilities, and more.
  • Concurrency & Parallelism: Get started with the concurrent world of C++, learning about threads, tasks, and synchronization mechanisms.
  • 200+ coding exercises and assignments to immediately apply the learned knowledge.
  • Details of C++ memory model on which atomics are built
  • Concepts of memory barriers and memory order in C++
  • Using Modern C++ to design lock free algorithms with C++ atomics and memory model
  • Importance of sequential consistency in concurrency
  • Getting high performane using C++ memory model
  • External factors influencing performance of atomics
  • Tools to use in production while working with C++ in production.

Requirements

  • Basic programming awareness is expected. Examples: Questions like “What is a variable?”, “What is a processor?” etc. will NOT be answered in the course.
  • Access to desktop based browser is mandatory to complete the coding exercises and the online compiler too access.
  • Course guides about using online compiler enviroment and hence DOES NOT explain or expect usage of any IDE application.

Description

“Ultimate C++: From Basic Modern C++20 to Advanced Multithreading” is your comprehensive pathway to mastering modern C++ development. This expertly crafted almost 24-hour course transforms foundational knowledge into professional-grade programming skills, featuring cutting-edge C++20 features and industry-standard multithreading practices used by top tech companies.

Master three essential pillars of professional C++ development:

1. Modern C++ Mastery

– Latest C++20 features and best practices

– Powerful object-oriented programming techniques

– Professional-grade STL implementation

– Smart memory management for leak-free code

– Industry-standard error handling strategies

2. Professional Development Skills

– Advanced template programming techniques

– High-performance STL algorithms

– Production-ready I/O handling

– Generic programming for scalable solutions

– Modern string processing and regex mastery

3. Enterprise-Level Threading

– Production-tested multithreading patterns

– Advanced memory models and synchronization

– High-performance lock-free programming

– Thread-safe data structure design

– Performance optimization secrets

What sets this course apart:

– Almost 300 carefully structured video lectures

– 150+ Real-world coding exercises

– Strategic knowledge-check quizzes

– Essential production tools (CMake, Git, debugging)

– Industry-relevant project examples

Perfect for ambitious developers with basic programming knowledge, this course requires only a desktop browser – no complex IDE setup is needed!

Whether you’re aiming to build high-performance applications, ace technical interviews, or modernize legacy systems, this course delivers the practical skills needed in today’s competitive tech landscape. Join thousands of successful students who’ve transformed their C++ development capabilities through this comprehensive learning journey. (Please watch the course overview for a detailed course roadmap.)

More Details about Intermediate and Advanced Content:

This intermediate-level content covers advanced concurrency and memory models in C++, focusing on writing high-performance concurrent programs. Students will explore the C++ memory model, including Sequential Consistency-Data Race Free (SC-DRF) guarantees, memory barriers, and atomics. The material delves into efficient synchronization mechanisms, lock-free and wait-free algorithms, and techniques for avoiding performance pitfalls like false sharing in caches.

The modules emphasize the practical implementation of concurrent data structures using modern C++20 features, including parallel algorithms, atomic operations, and enhanced memory models. Students will learn to design and implement thread-safe data structures like queues, stacks, hash tables, and trees, while mastering essential performance analysis tools such as perf, Valgrind, Intel Vtune, Google Orbit, and gdb. This content is particularly suited for experienced C++ developers looking to enhance their concurrent programming skills and create scalable applications for multi-core systems.

Note: While accessible to beginners, this course rewards dedicated learners ready to master professional C++ development.

Who this course is for:

  • Beginner programmers and students seeking starting point for learning modern C++ from software development perspective.
  • Experienced programmers seeking a quick refresher to catch up with Modern C++ upto C++20
  • NOT meant for interview preparation in coming weeks!
  • Programmers from other languages like Java, Python willing to learn C++ to diversify their skill set.
  • C++ developers curious to understand the details of C++11 memory model
  • C++ developers exploring options to write high performance concurrent applications in C++
  • C++ developers keen to catch up on Modern C++20 concurreny and multhreading features like Coroutines.