Introduction to C++ Programming (CPP120)
Course Length: 5 days
This Introduction to C++ course provides a practical foundation in modern C++ programming, covering essential language features, core syntax, and contemporary best practices.

Register or Request Training
- Private class for your team
- Live expert instructor
- Online or on‑location
- Customizable agenda
- Proposal turnaround within 1–2 business days
- On Demand 24/7
- Readings, Video Presentations, Exercises
- Quizzes to knowledge check
- Life-Time Access
Course Overview
This Introduction to C++ course provides a practical foundation in modern C++ programming, covering essential language features, core syntax, and contemporary best practices. Students begin with the evolution of C++ and quickly move into writing and understanding real programs, learning variables, control flow, functions, arrays, strings, and memory management. Modern C++ features such as type deduction, lambdas, constexpr, smart pointers, ranges, and std::format are emphasized throughout to promote safe, readable, and efficient code.
The course also introduces structured and object-oriented programming, including user-defined types, standard library containers and algorithms, class design, inheritance, and polymorphism. Hands-on exercises reinforce each major topic, while file I/O lessons demonstrate how to work with real data. By the end of the course, participants will have the skills and confidence to write well-structured C++ programs and continue into more advanced C++ development.
Course Benefits
- Comprehensive introduction to C++ programming language.
- Understanding of procedural and object-oriented programming paradigms.
- Competence in core syntax and control flow structures of C++.
- Deepening knowledge of memory management and pointers.
- Utilization of standard data structures for enhanced program design.
- Proficiency in object-oriented programming and design principles.
- Ability to implement inheritance and polymorphism in programs.
- Experience with file input and output operations in C++.
Delivery Methods
Delivered for your team at your site or online.
Learn at your own pace with 24/7 access.
Course Outline
- Getting Started with Modern C++
- History and Evolution of C++
- Procedural and Object-Oriented Features
- First Program Walkthrough (Exercise)
- Program Structure Basics
- Core Syntax and Control Flow
- Variables, Constants, and Type Deduction
- Operators and Expressions
- Basic Input and Output
- Modern Output: std::format
- Conditionals: if and switch
- Loops: for, while, do-while
- Control Flow Practice (Exercise)
- Functions and Functional Features
- Defining and Using Functions
- Overloading and Default Parameters
- Scope and Lifetime
- Lambdas and Generics
- consteval and constexpr
- Error Handling Techniques
- Function and Scope Practice (Exercise)
- Arrays and Strings
- C-style Arrays and Strings Overview
- Modern Arrays: std::array
- Strings with std::string and std::string_view
- String Formatting with std::format
- Exploring Arrays and Strings in C++ (Exercise)
- Memory and Pointers
- Basics of Pointers and Addresses
- Pointer Arithmetic
- Dynamic Memory: new and delete
- Smart Pointers: unique_ptr, shared_ptr, weak_ptr
- Pointers vs. References
- Explore Pointers and Memory (Exercise)
- Structured Programming
- User-Defined Types: struct
- typedef and enum
- Passing Structs to Functions
- Practice with User-Defined Types and Enums (Exercise)
- Standard Data Structures
- Vectors and Lists
- Stacks, Queues, and Deques
- Maps and Sets
- Unordered Containers
- Common Algorithms: sort, find, Ranges
- Explore and Implement Standard Data Structures (Exercise)
- Object-Oriented Programming
- OOP Principles: Encapsulation, Inheritance, Polymorphism
- Class Definitions
- Member Variables and Functions
- Constructors and Destructors
- Access Control
- Function and Operator Overloading
- Designing a Basic OOP System (Exercise)
- Inheritance and Polymorphism
- Base and Derived Classes
- Inheritance Types
- Virtual Functions and Dynamic Dispatch
- Abstract Classes and Interfaces
- Inheritance and Polymorphism Practice (Exercise)
- File I/O
- File Streams and Concepts
- Reading Files: ifstream
- Writing Files: ofstream
- File Modes and Error Handling
- Working with Structured Data Files
- Practice File I/O (Exercise)
Class Materials
Each student receives a comprehensive set of materials, including course notes and all class examples.
Class Prerequisites
Experience in the following is required for this C/C++ class:
- Basic understanding of computer programming concepts
- Experience with at least one programming language such as Python or Java
- Familiarity with command-line interface operations
- An interest in learning the C++ programming language
- Access to a computer with an appropriate development environment for C++ setup
Have questions about this course?
We can help with curriculum details, delivery options, pricing, or anything else. Reach out and we’ll point you in the right direction.
