0% found this document useful (0 votes)
6 views

C ProgrammingMasterclass-Syllabus

A

Uploaded by

depocew554
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

C ProgrammingMasterclass-Syllabus

A

Uploaded by

depocew554
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

C++ Programming Masterclass

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 2: C++ Fundamentals


o Variables
o Data Types
o Expressions
o Functions
o Recursion
o The Preprocessor
o Macros
o Compilation and Linking
o Simple I/O
o Conditions
o Arrays
o Loops
o Pointers
o References
o The Stack and the Heap (Free Store)
o The new and delete Operators

• Module 3: Object Oriented Design and Programming


o Classes and Objects
o Encapsulation
o Constructors and destructors
o Inheritance
o Polymorphism
o Abstract Types
o Copy constructor
o Move semantics
o The SOLID design principles
▪ Single Responsibility Principle (SRP)
▪ Open Closed Principle (OCP)
▪ Liskov Substitution Principle (LSP)
▪ Interface Segregation Principle (ISP)
▪ Dependency Injection Principle (DIP)
o Unions
o Operator Overloading

• Module 4: Standard Library Basics


o Containers
▪ Sequence containers
▪ Associative containers
▪ Container adaptors
o Iterators
o Strings
o Algorithms
• Module 5: Modern Language Features and Libraries (Part 1)
o Type inference
o Scoped enums
o Lambda functions
o Range-based for
o Uniform Initialization
o Compile-time assertions
o Structural Decomposition

• 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)

• Module 7: Language Features and Libraries (Part 2)


o Resource Management
o RAII
o Smart pointers
o The Pimpl Idiom
o String views (C++ 17)
o Spans (C++ 20)
o Explicit conversion operators
o Thread Local Storage
o Const expressions
o Attributes
o Streams

• Module 8: The C++ Standard Library


o Time
o Random numbers
o Math
o General Utilities
o Strings and Characters
o Algorithms
o File I/O

• Module 9: Concurrency in Modern C++


o The C++ Memory Model
o Threads
o Async operations
o Thread Synchronization
o Atomics
o Mutexes and other synchronization primitives
o Implementing Thread-Safe Containers
o Introduction to coroutines (C++ 20)

You might also like