Course Information
Course Overview
Write clean, fast, concurrent code with key features of C++ 14,17, and now 20.
C++ is a multi-paradigm language that lets you solve a problem in different ways, and this course will teach you the best practices.
Furthermore, C++ has been re-invented again. C++2a is the largest extension to the language since C++11, and it almost feels like a new language. Developers who master the new features will be able to write cleaner, faster and concurrent code. In this course, you will learn about the best practices of C++ programming, including project structure, designing interfaces and classes, C++ Core Guidelines, and the most recent language standard. The new features are numerous and cover almost every area of the language: modules let us organize our programs better; concepts help us create cleaner APIs; ranges forever change how we look at containers; concurrency features, such as coroutines, bring parallel and concurrent programming to a whole new level.
You will get plenty of practical experience with short, real-world code examples. By the end of this course, you will be ready to create better software using C++.
About the Author
Georgy Pashkov is a passionate software developer and team leader. The author has been successfully programming with C++ for over 10 years.
Throughout his career, Georgy has worked on many projects developed using C++, mainly in the supply chain industry. His experience covers desktop, server, and mobile applications for multiple platforms. He is passionate about creating high quality, reliable software.
Georgy was raised in Karelia, Russia. He earned his specialist degree in CS at Petrozavodsk State University and moved to Belgium shortly after graduation. With many years of experience in software development, he decided to share some of his skills.
Course Content
- 10 section(s)
- 64 lecture(s)
- Section 1 Introduction to C++
- Section 2 Structuring Projects in C++
- Section 3 Creating Better Interfaces
- Section 4 Going Object-Oriented
- Section 5 From Functions to <functional>
- Section 6 Writing Generic Code with Templates
- Section 7 Working with Collections
- Section 8 Concurrent Data Access
- Section 9 Task-Level Parallelism
- Section 10 Introduction to Coroutines
What You’ll Learn
- Take your C++ skills to the next level
- Learn different programming styles
- Get hands-on experience with useful design patterns
- Know the little details that make great C++ programs
- Write safe and performant concurrent code
- Understand some of the most important C++ Core Guidelines
- Be among the first to learn and use modules, concepts, ranges, and coroutines
Skills covered in this course
Reviews
-
BBenyamin Eslami
Good stuff to learn for advanced software engineering
-
DDavid Benedetti
As an experienced developer, I appreciated the level of this course; I thought it were one among many of the courses you may find there outside, but I found out I was wrong. IMHO, the author writes very good code, explaining the contents and the objectives in the meanwhile, with a great knowledge of the topic. Only flaw? Maybe the source code written during the course would have been a good add-on for the learning process :)
-
AAmaresh Kumar
smart ptr section went like a swift stream without proper explanations. instructors is capable enough to do lot better
-
CChao Jiang
Very good topic and code project! But since many topics are very advanced and complicated, I really expect a better explanation which means a more detailed introduction to the concepts or the problem to be solved, then explanation of the concept starting with some simple examples.