We may earn an affiliate commission when you visit our partners.
Course image
Packt - Course Instructors

Updated in May 2025.

This course now features Coursera Coach!

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.

Read more

Updated in May 2025.

This course now features Coursera Coach!

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.

This course delves into the latest features of Modern C++, with a primary focus on concurrency, C++17 language updates, and powerful tools that enhance code performance and reliability. You will explore the capabilities of C++17, including the introduction of advanced concurrency techniques, templates, and functional programming tools. This comprehensive guide equips you with the knowledge to build efficient, concurrent programs while utilizing the most current features of C++ for maximum performance.

The course starts with concurrency basics, introducing the importance of multi-threading and how to implement it using std::thread. You will dive deeper into thread synchronization with std::mutex and learn how to pass arguments to threads. You'll then explore task-based concurrency with std::async, std::future, and std::promise, and learn how to propagate exceptions between threads seamlessly. This will provide you with the tools needed to write scalable, thread-safe applications.

As you move into the C++17 core language features, you'll examine the new features, such as inline variables, noexcept, and structured bindings. C++17 also brought mandatory copy elision, and this course will clarify its benefits. You'll gain an understanding of how to leverage these new features to make your code more efficient and readable.

The final sections cover advanced template features like Compiled Time Argument Deduction (CTAD), if constexpr, and folding expressions, as well as C++17 standard library additions like std::optional, std::variant, and parallel algorithms. These components empower you to write more flexible, error-free, and high-performance C++ code.

Enroll now

What's inside

Syllabus

C++ Concurrency
In this module, we will dive into the core concepts of C++ concurrency, beginning with thread creation and synchronization. You’ll explore various thread management techniques and task-based concurrency, learning how to handle shared data, exceptions, and synchronization across multiple threads.
Read more

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Career center

Learners who complete Modern C++ Features & Concurrency will develop knowledge and skills that may be useful to these careers:
High-Performance Computing Engineer
High Performance Computing Engineers are at the forefront of designing and optimizing software for maximum computational speed, crucial in scientific research, data analysis, and financial modeling. This involves crafting efficient algorithms and leveraging hardware capabilities. The Modern C++ Features & Concurrency course directly aligns with this by thoroughly exploring advanced concurrency techniques such as multi-threading with std::thread and std::mutex, and task-based concurrency using std::async, std::future, and std::promise. Learners will understand how to build scalable, thread-safe applications and propagate exceptions seamlessly, which is vital for robust HPC systems. Furthermore, the course's deep dive into C++17 language updates, advanced template features like Compiled Time Argument Deduction and folding expressions, alongside parallel algorithms from the C++17 standard library, empowers individuals to write high-performance C++ code that fully utilizes modern hardware, leading to significant advances in computational efficiency.
Game Engine Programmer
Game Engine Programmers are responsible for developing the core software framework that powers video games, focusing on rendering, physics, input, and networking. This highly demanding role requires expert-level C++ skills, meticulous performance optimization, and sophisticated concurrency management to deliver smooth, immersive experiences. The Modern C++ Features & Concurrency course directly addresses these critical requirements. It delves into advanced concurrency techniques, including multi-threading, thread synchronization with std::mutex, and task-based concurrency with std::async, std::future, and std::promise, which are essential for managing game logic, AI, and resource loading across multiple threads. The course's exploration of C++17 language features, advanced template programming (like if constexpr and folding expressions), and C++17 standard library components (such as parallel algorithms) provides the knowledge to build efficient, high-performance C++ code. This comprehensive guide helps elevate code performance and reliability, crucial for creating cutting-edge game engines.
Systems Programmer
A Systems Programmer develops software that manages and controls computer hardware and provides essential services for other applications, often working on operating systems, compilers, or low-level utilities. This role demands a deep understanding of how software interacts with hardware for optimal performance. The Modern C++ Features & Concurrency course offers a robust foundation for this profession. It covers fundamental aspects of C++ concurrency, including thread creation, synchronization, and handling shared data, which are critical for robust system-level components. Exploration of C++17 core language features, such as inline variables and structured bindings, along with mandatory copy elision, helps build highly efficient and readable code. Moreover, the focus on C++17 standard library components and function wrappers equips future Systems Programmers with the tools to manage callable objects effectively and apply performance optimizations, preparing them to engineer efficient and reliable system software.
Quantitative Developer
As a Quantitative Developer, you would build and optimize complex financial models, trading systems, and analytical tools, often requiring lightning-fast execution and real-time data processing. Precision and performance are paramount in this domain. The Modern C++ Features & Concurrency course is exceptionally well-suited for aspiring Quantitative Developers. It provides a comprehensive exploration of advanced concurrency techniques, including multi-threading with std::thread and std::mutex, and task-based concurrency using std::async, std::future, and std::promise, which are vital for handling high-frequency data and executing concurrent trades. The course's focus on C++17 language updates and advanced template features like Compiled Time Argument Deduction and folding expressions helps in crafting highly efficient, robust code for complex algorithms. Furthermore, the use of std::optional and std::variant from the C++17 standard library supports the development of error-free and flexible financial applications, key for maintaining data integrity and system reliability in a demanding environment.
Scientific Programmer
Scientific Programmers develop and implement computational models and algorithms to solve complex problems in various scientific and engineering disciplines, such as physics, biology, and climate science. Their work requires code that is both numerically accurate and computationally efficient, often processing vast datasets. The Modern C++ Features & Concurrency course is highly valuable for a Scientific Programmer. It provides a robust understanding of advanced concurrency techniques, including multi-threading with std::thread and std::mutex, and task-based concurrency with std::async, std::future, and std::promise. These are essential for parallelizing simulations and data analysis tasks to achieve significant speedups. The course's deep dive into C++17 language updates, advanced template features like if constexpr and folding expressions, along with parallel algorithms from the C++17 standard library, empowers individuals to write high-performance C++ code that effectively leverages modern computing resources. This ultimately leads to faster and more accurate scientific discoveries.
Embedded Software Engineer
Embedded Software Engineers design and implement software for specialized computer systems found in devices ranging from consumer electronics to industrial machinery. Their work demands highly optimized, efficient code within resource-constrained environments. The Modern C++ Features & Concurrency course is particularly relevant, providing a strong foundation for this field. It explores advanced concurrency techniques, including multi-threading with std::thread and std::mutex, which are crucial for managing real-time processes and hardware interactions in embedded systems. The course's emphasis on C++17 language updates, such as mandatory copy elision and streamlined syntax, directly contributes to writing compact and performant code, essential where memory and processing power are limited. Additionally, the coverage of function wrappers and performance optimizations, alongside std::optional and std::variant from the C++17 standard library, helps individuals create flexible, error-free applications that meet the stringent demands of embedded development.
Firmware Engineer
Firmware Engineers develop the specialized software that provides low-level control for hardware devices, often operating directly with microcontrollers and embedded systems. This role demands a deep understanding of hardware interaction, resource optimization, and precise timing. The Modern C++ Features & Concurrency course offers invaluable knowledge for a Firmware Engineer. It covers C++ concurrency basics, including std::thread for multi-threading and std::mutex for synchronization, which are fundamental for managing concurrent hardware operations and efficient resource utilization. The course's exploration of C++17 core language features, such as inline variables and mandatory copy elision, directly supports writing compact and high-performance code, a necessity in constrained firmware environments. Additionally, learning about function wrappers for managing callable objects and C++17 standard library components helps develop reliable, flexible, and optimized firmware solutions, ensuring devices operate effectively and reliably at the lowest level.
Network Programmer
Network Programmers design and implement software for high-performance communication systems, including servers, client applications, and network protocols. This role demands efficient handling of data transmission, low latency, and robust concurrency to manage numerous connections. The Modern C++ Features & Concurrency course provides crucial skills for a Network Programmer. It thoroughly explores C++ concurrency, covering std::thread for multi-threading, std::mutex for synchronization, and task-based concurrency with std::async and std::future. These techniques are vital for building scalable, thread-safe network services capable of processing large volumes of concurrent requests. The course's focus on C++17 features, including streamlined syntax and performance optimizations, enables the development of highly efficient C++ code. Additionally, the C++17 standard library components and function wrappers help in writing flexible and error-free network applications, ensuring reliable and high-speed data exchange in demanding network environments.
Database Systems Engineer
Database Systems Engineers design, develop, and optimize the core components of database management systems, ensuring high performance, data integrity, and concurrent access for numerous users. This role demands efficient low-level programming and sophisticated concurrency control. The Modern C++ Features & Concurrency course is highly relevant for a Database Systems Engineer. It offers a comprehensive dive into advanced concurrency techniques, including multi-threading with std::thread and std::mutex, and task-based concurrency with std::async, std::future, and std::promise. These are crucial for managing concurrent read/write operations and ensuring transaction integrity within a database. The course's focus on C++17 language updates, such as mandatory copy elision and advanced template features, helps in writing highly optimized and reliable C++ code for database internals. Furthermore, the exploration of std::optional and std::variant from the C++17 standard library aids in building flexible, error-resistant data handling components, vital for robust database systems.
Backend Software Engineer
Backend Software Engineers focus on the server-side logic, databases, and APIs that power web and mobile applications, often prioritizing scalability, reliability, and performance. While many languages are used, C++ is chosen for high-performance, low-latency services. The Modern C++ Features & Concurrency course can be particularly helpful for Backend Software Engineers working on such demanding systems. It provides a comprehensive understanding of advanced concurrency techniques, including multi-threading with std::thread and std::mutex, and task-based concurrency with std::async, std::future, and std::promise, which are vital for handling numerous concurrent user requests. The course's coverage of C++17 language updates and performance-enhancing features enables the development of highly efficient and reliable C++ backends. Similarly, the use of function wrappers and C++17 standard library components like std::optional and std::variant helps build robust and maintainable server-side applications, optimizing performance for critical services.
Operating System Developer
Operating System Developers work on the core software that manages computer hardware and software resources, creating the fundamental environment for all other applications. This highly specialized role often involves deep systems knowledge, C and C++ expertise, and meticulous handling of concurrency. The Modern C++ Features & Concurrency course can be very useful for an Operating System Developer. It delves into the core concepts of C++ concurrency, including thread creation, synchronization with std::mutex, and task-based concurrency, which are foundational for understanding and implementing operating system kernels and services. The course’s exploration of C++17 core language features, such as noexcept and structured bindings, along with mandatory copy elision, helps in writing efficient and reliable system-level code. This role typically requires an advanced degree, and the course’s focus on performance optimizations and function wrappers prepares individuals to contribute to the complex and demanding world of operating system development.
Automotive Software Engineer
Automotive Software Engineers develop the critical software systems within vehicles, covering areas from engine control units and infotainment to advanced driver-assistance systems (ADAS) and autonomous driving. This field requires robust, real-time, and highly performant code. The Modern C++ Features & Concurrency course is particularly relevant for those pursuing a career as an Automotive Software Engineer. It offers a comprehensive understanding of advanced concurrency techniques, including multi-threading with std::thread and std::mutex, and task-based concurrency with std::async, essential for managing multiple vehicle functions simultaneously and ensuring real-time responsiveness. The course's deep dive into C++17 language updates and advanced template features helps in writing efficient, reliable, and maintainable C++ code. Furthermore, the exploration of parallel algorithms from the C++17 standard library allows for designing high-performance solutions, critical for complex automotive applications where safety and responsiveness are paramount.
Robotics Software Engineer
Robotics Software Engineers develop the intelligence and control systems for robots, involving real-time processing, sensor integration, motion planning, and complex decision-making. This demanding field relies heavily on efficient, concurrent, and robust software. The Modern C++ Features & Concurrency course offers highly relevant knowledge for a Robotics Software Engineer. It delves into advanced concurrency techniques such as multi-threading with std::thread and std::mutex, and task-based concurrency with std::async, which are essential for managing concurrent robot operations, sensor data processing, and actuator control. The course's exploration of C++17 core language features, including streamlined syntax and mandatory copy elision, helps in writing optimized and readable code, crucial for reliable robotic systems. Furthermore, the coverage of advanced template features and parallel algorithms from the C++17 standard library equips learners to build flexible, high-performance C++ code, enabling sophisticated robotic functionalities.
Audio Software Engineer
Audio Software Engineers develop applications for digital audio workstations, real-time audio processing, music synthesis, and effects. This specialization demands precise timing, low latency, and efficient computational power, often requiring careful management of concurrent audio streams. The Modern C++ Features & Concurrency course is highly relevant for an Audio Software Engineer. It deeply explores C++ concurrency, covering std::thread for multi-threading and std::mutex for synchronization. These techniques are essential for managing real-time audio components and avoiding glitches. Task-based concurrency with std::async and std::future may be useful for non-real-time audio tasks like file loading or background processing. The course’s emphasis on C++17 features, advanced template programming, and performance optimizations helps in crafting efficient, reliable C++ code. The C++17 standard library components and function wrappers can facilitate the creation of flexible audio architectures, ensuring high-fidelity and responsive audio applications.
Compiler Engineer
Compiler Engineers design and implement the tools that translate source code into executable programs. This highly technical field requires an intricate understanding of programming language semantics, intermediate representations, and target machine architectures. While the Modern C++ Features & Concurrency course does not teach compiler design, it may be useful for a Compiler Engineer. A strong command of Modern C++ features, as covered in this course, is essential given that many compilers and development tools are written in C++. The course's detailed exploration of C++17 language updates, including streamlined syntax and advanced template features like Compiled Time Argument Deduction and folding expressions, provides insight into the language constructs that compilers must parse and optimize. Understanding function wrappers and performance optimizations can also be valuable when working on the C++ codebase of a compiler itself, helping to maintain and enhance these complex systems. This role often requires an advanced degree.

Reading list

We've selected 50 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Modern C++ Features & Concurrency.
This comprehensive guide covers all the new language and library features introduced in C++17. It's an excellent resource for both gaining a broad understanding and deepening knowledge of the standard, with a focus on practical application and potential pitfalls. It's a must-read for anyone serious about C++17.
Considered the authoritative reference on C++ templates, this book provides a comprehensive and in-depth exploration of the topic. It covers everything from basic concepts to advanced techniques and the最新的 C++ standards. is essential for anyone working extensively with C++ and needing a deep understanding of its template metaprogramming capabilities. It valuable reference for both students and professionals.
Provides a collection of 42 specific guidelines for writing effective modern C++ code. These guidelines cover a wide range of topics, from basic coding practices to advanced design techniques.
Provides a collection of 55 specific guidelines for writing effective C++ code. These guidelines cover a wide range of topics, from basic coding practices to advanced design techniques.
Provides a comprehensive view of system performance analysis and tuning across various operating systems and environments, including enterprise systems and cloud platforms. It is highly regarded in the field and is valuable as a reference for understanding the methodologies and tools used in performance optimization. It delves into the internals of systems, making it suitable for those seeking a deeper understanding beyond basic tuning techniques. This book is commonly used by industry professionals.
This textbook provides a comprehensive overview of parallel computing, covering topics such as parallel architectures, programming models, and performance analysis. Grama, Gupta, Karypis, and Kumar are all renowned experts in the field, and their book is considered a standard reference.
Considered a must-read for Java developers, this book provides in-depth coverage of concurrency and threading in Java. It delves into the Java Memory Model, explicit locks, atomic variables, and building concurrent applications. is highly relevant for undergraduate students and working professionals focusing on Java development and valuable reference for best practices and common pitfalls.
Focuses exclusively on the new features introduced in C++17. It provides detailed explanations and practical examples for each feature, making it excellent for deepening understanding and exploring contemporary topics. It's particularly useful for developers already familiar with C++11/14 who want to transition to C++17.
Comprehensive guide to multithreading and concurrency in C++. It covers the C++11 memory model, the threading library, and advanced topics like atomic operations and lock-free programming. It is an essential resource for C++ developers looking to write robust and efficient concurrent applications. Suitable for undergraduate students and professionals.
This edition is specifically updated to cover C++17 features, making it highly relevant for gaining a broad understanding and deepening knowledge of the standard. It's designed for experienced developers and dives into exploiting the full capabilities of C++17 with practical examples and case studies. It serves as a valuable reference for professionals.
An updated edition of the popular 'Functional Programming in Scala', this book covers the latest standards of FP and includes full code updates to Scala 3. It helps developers learn to recognize and write purely functional code and work with common functional structures. It's suitable for those with some Scala or Java experience.
A definitive guide for Java developers, this book provides detailed insights into tuning and optimizing Java applications. It covers JVM internals, garbage collection, and threading, offering practical advice and techniques. It is considered a must-read for Java professionals and is often referenced for its in-depth coverage of Java-specific performance issues.
This cookbook provides practical recipes for implementing concurrency in C# using modern language features and libraries like async/await and TPL. It valuable resource for C# developers looking for practical solutions to common concurrency problems. Suitable for undergraduate students and working professionals.
Focusing on database performance, this book must-read for anyone working with MySQL. It covers essential techniques for optimizing MySQL databases, including query tuning, schema design, and leveraging features for scalability. It widely recognized resource in the database community.
Provides a comprehensive overview of C++ templates. It covers all aspects of templates, including the use of the Standard Library.
Provides a deep dive into the topic of exceptions in C++. It covers all aspects of exceptions, including the use of the Standard Library.
Provides a comprehensive overview of the C++ programming language, covering everything from basic syntax to advanced topics such as templates and the Standard Template Library (STL). It great resource for both beginners and experienced C++ programmers.
Provides a comprehensive treatment of distributed algorithms, which are used to solve problems in distributed systems. Lynch covers a wide range of topics, including synchronization, fault tolerance, and consensus. The book valuable resource for anyone interested in designing and implementing distributed systems.
Provides a rigorous and in-depth exploration of the principles and algorithms for multiprocessor programming. It covers a wide range of topics, including mutual exclusion, consensus, and concurrent data structures. This book is ideal for graduate students and researchers interested in the theoretical foundations and advanced techniques in concurrency.
Deep dive into functional programming concepts using Scala. It is considered a serious tutorial for programmers looking to apply FP to their work. It covers basic techniques to advanced topics with concrete examples and exercises. A second edition is available, updated for Scala 3.
A guide for C++ developers, this book focuses on optimizing the performance of C++ applications. It covers identifying bottlenecks, measuring performance, optimizing data structures and algorithms, and utilizing multi-core processors. It practical resource for C++ programmers aiming to improve code efficiency.
This cookbook focuses on using the C++17 Standard Template Library with practical recipes. It's excellent for learning how to apply C++17 features specifically within the context of the STL, deepening understanding of contemporary library usage.
Offers a practical exploration of concurrent programming in C++, covering fundamentals to advanced techniques like atomic operations. It aims to equip developers with the skills to write efficient and reliable concurrent software with real-world examples. Suitable for C++ developers seeking practical guidance.
Save
Offers a technical deep dive into Java performance, analyzing code at the bytecode level and providing practical optimization techniques for JVM applications. It complements Scott Oaks' book by offering a slightly different perspective and more code-centric examples. It valuable resource for experienced Java developers seeking to fine-tune their applications.
Classic in the field, focusing on the design and implementation of data structures using purely functional principles. It's a valuable resource for those who want to understand the intricacies of building persistent and efficient data structures in functional languages. It assumes some working knowledge of FP.
A widely recommended introductory book for learning Haskell and functional programming. It is known for its clear explanations and practical examples, making it suitable for beginners. It's often used as a textbook.
Provides in-depth coverage of the C++17 Standard Template Library. It's suitable for developers who want to gain a deep understanding of the STL and how to use its features effectively in C++17. It complements general C++17 books by focusing on a crucial part of the standard library.
Concurrency significant aspect of modern C++, and this book is considered a go-to resource for understanding and implementing multithreading. The second edition is updated to cover C++11, C++14, and C++17, making it highly relevant for contemporary C++ development focusing on parallel programming. It's essential for those working on concurrent applications.
Covers modern concurrency features in Java, including advancements introduced in recent Java versions like Project Loom. It explores virtual threads, structured concurrency, and other contemporary topics. It is highly relevant for Java developers wanting to utilize the latest concurrency paradigms.
Covers various aspects of concurrency and parallelism in Python, including threads, processes, and asyncio. It provides a comprehensive introduction to building high-performance applications in Python. Suitable for Python developers looking to improve the performance of their applications through concurrency.
Provides a broad understanding of operating system principles, including fundamental concepts of process synchronization and deadlocks. It is an excellent starting point for high school and undergraduate students to grasp the underlying mechanisms of thread synchronization before diving into specific programming language implementations. It is commonly used as a textbook in academic institutions.
A comprehensive guide to the Angular framework, offering in-depth coverage of its features, including templates. is suitable for developers who want to gain a deep understanding of Angular and build complex applications. It valuable reference for both experienced Angular developers and those looking to become proficient.
Introduces functional programming concepts to developers familiar with object-oriented languages. It uses examples in Java and Scala to explain core FP ideas like pure functions and immutable data. It focuses on practical aspects and helps bridge the gap between OO and FP thinking.
This foundational text in software engineering that introduces the concept of design patterns, which are reusable solutions to common software design problems. Understanding these patterns is crucial for comprehending the principles behind many template implementations in programming. While not solely about templates in the syntactic sense, it provides essential background knowledge for anyone looking to deepen their understanding of creating reusable and flexible code structures.
Focuses on using Haskell to solve real-world programming problems. It's excellent for those who have a basic understanding of Haskell and want to see how FP concepts are applied in practice. It provides a practical approach to functional programming.
Delves into the performance aspects of computer networking, particularly in the context of web browsers. It covers topics like TCP, UDP, and HTTP, explaining how network protocols impact web performance. It is essential reading for anyone involved in optimizing the delivery of web content.
Provides a comprehensive treatment of real-time systems, which are systems that must meet strict timing constraints. Laplante covers a wide range of topics, including concurrency, scheduling, and fault tolerance. The book valuable resource for anyone interested in designing and implementing real-time systems.
Presents a collection of programming challenges designed to help developers improve their skills in modern C++, including C++17 features. It's a practical approach to learning and solidifying understanding through problem-solving.
Provides a foundational understanding of performance engineering principles, covering the entire software development lifecycle. It discusses performance modeling, requirements, testing, and scalability. It useful resource for gaining a broad understanding of performance engineering as a discipline.
Classic and comprehensive guide to programming with POSIX threads. It covers the POSIX threads API in detail, including thread management, synchronization primitives, and thread-safe programming. It is an essential reference for developers working with POSIX threads.
This highly-regarded book provides essential guidelines and best practices for programming in Java. Many of the recommendations contribute to writing more efficient and performant Java code. It must-read for serious Java developers and serves as an excellent reference for writing high-quality, performant Java applications.
This textbook provides a solid foundation in operating systems, including detailed coverage of concurrency, mutual exclusion, and synchronization. It explores various synchronization mechanisms and their properties. It valuable resource for undergraduate students and a good reference for professionals needing to understand OS-level concurrency control.
Considered a classic in the field of Software Performance Engineering (SPE), this book lays out the foundational principles and practices for building performance into software systems from the outset. While an older publication, its methodologies are still highly relevant for understanding the SPE process. It is more valuable for its foundational concepts than as a current reference for specific technologies.
A popular and whimsical guide to learning Haskell. It's known for its engaging style and clear explanations, making complex concepts approachable for beginners. It serves as a great supplementary resource for learning Haskell and FP.
Offers a fast-paced introduction to C++, including C++17 features. It's suitable for programmers with experience in other languages who want to quickly get up to speed with modern C++. It provides a good overview of the language and its practical uses.
Takes a deep look at the Clojure language, going beyond syntax to show how to write fluent and idiomatic Clojure code. It covers functional and declarative approaches and techniques for concurrency and performance. It's appropriate for readers with some experience in Clojure or Common Lisp.
Is aimed at beginners and introduces C++ programming with a focus on C++17 features. It's a good starting point for those new to C++ who want to learn the language using the latest standard. It covers fundamental concepts and gradually introduces C++17 specifics.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Modern C++ Features & Concurrency.
Game Design and Development Capstone
Most relevant
Java Multithreading, Concurrency & Performance...
Most relevant
Part A - Multithreading & Thread Synchronization -...
Most relevant
Learn Multithreading with Modern C++
Most relevant
Multi-Paradigm Programming with Modern C++
Most relevant
Quick Start to Modern C++ for Programmers [2024 Edition]
Most relevant
Mastering C++ Programming - From Zero to Hero
Most relevant
How To Write Bulletproof Multi-Threaded C# Code
Most relevant
Tic-Tac-Toe Clone - The Complete SFML C++ Game Course
Most relevant

Coursera Buyer Protection & Guarantee

Verified partner policies & purchase protections

Accredited University Partner
Free Trial & Audit

7-Day Free Trial & Free Audit

7-day free trial on monthly Coursera Plus subscriptions; free audit option available on most individual courses to explore video lectures and readings at no charge.

Return & Refund Policy

14-Day Refund Guarantee

14-day refund window on annual Coursera Plus subscriptions and single-course purchases prior to certificate issuance. Monthly subscriptions do not offer refunds once billed.

Buyer Protections

Verified Academic & Industry Partner

Accredited university and industry certifications (e.g. Stanford, Google, IBM, Yale), secure SSL payment processing, and verifiable digital certificate links.

Key Purchase Protections
14-day refund window on annual Coursera Plus and single courses
7-day free trial on monthly Coursera Plus subscriptions
Free course audit option for lectures and readings
Verified certificates from top universities & companies
OpenCourser Verified Partner Policy details last reviewed: 2026-10-22
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser