C ProgrammingMasterclass-Syllabus
C ProgrammingMasterclass-Syllabus
Summary
• Duration: 5 days, taught as 10 half-days
• Instructor: Pavel Yosifovich
• Dates: December 2024: 3, 4, 5, 9, 10, 11, 12, 16, 17, 18.
• Times: 11am to 3pm EST (8am to 12pm PST) (4pm to 8pm GMT)
Target Audience
• Developers familiar with another C-style language like C, Java, C#
• C++ developers that want to ramp up their skills
• Developers coming from another language family that want to get into C++ development
• Anyone with a programming background that wants to learn modern C++
Abstract
The C++ language has been around for almost 40 years, starting as “C with Classes” in 1985.
C++ is a system level language that includes high-level facilities. The language was stagnant
from 1998 to 2011 (although not the ecosystem), but things changed significantly in 2011.
C++ 11 emerged as the new C++ standard, followed by C++ 14, C++ 17, C++ 20, and recently
C++ 23, (with C++ 26 already in the works), that enhance C++ developer power and productivity,
while preserving the important properties of the language such as zero-cost abstractions,
performance & efficiency. In this course, participants will learn the foundation of classic C++
and modern C++ , with the latest C++ standards and library enhancements, modernizing C++
coding practices. Some of the common design patterns are demonstrated with modern C++
techniques.
If you’ve ever wanted to learn C++ and be productive – this is the course for you.
The course includes lab exercises to help the material sink in.
Syllabus
• Module 1: Introduction to Modern C++
o The C++ standards
o C++ evolution
o Introduction to the standard library
o Containers
o Iterators
o Algorithms
• Module 6: Templates
o Quick templates review
o Macros vs. templates
o Local and unnamed types as template arguments
o Template aliases
o Type deduction
o Template metaprogramming
o Variadic templates
o Type Traits
o Template Arguments Class Template Deduction
o Concepts (C++ 20)
o Ranges and Views (C++ 20)