intermediate

C++ Programming

A complete introduction to modern C++17 designed for students who finished Programming Basics. Twelve modules cover everything from compiling your first program through variables, control flow, the STL collections, functions, file I/O, exceptions, and object-oriented programming, plus C++-specific essentials like pointers, references, templates, smart pointers, and a deeper STL tour. Every lesson includes worked examples, an auto-graded quiz, and coding exercises to write and run on your own machine. The required language for USACO's higher divisions.

intermediate
cpp
c++
programming
language

Course Content

43 lessons

Getting Started

1.Installing The Toolchain
2.Your First Program
3.Syntax Comments And Errors

Values and Types

1.Variables And Assignment
2.Numbers
3.Strings And Characters
4.Booleans And Null
5.Type Conversion And Constants

Operators

1.Arithmetic Operators
2.Comparison And Logical Operators
3.Assignment Compound And Precedence

Control Flow

1.If Else Elif
2.Switch Statements
3.While And For Loops
4.Break Continue Pitfalls

Collections

1.Vectors
2.Iterating Collections
3.Maps
4.Sets
5.Sorting And Searching

Functions

1.Basics
2.Defining And Calling Functions
3.Parameters Arguments And Return Values
4.Scope
5.Recursion

Input, output, and files

1.Standard Input And Output
2.Reading Files
3.Writing Files

Errors and exceptions

1.Exceptions And Try Catch
2.Common Errors And How To Read Them

Object-oriented programming

1.Classes And Objects
2.Fields Methods And Constructors
3.Inheritance
4.Polymorphism
5.Encapsulation And Access Control

Standard library and includes

1.Using The Standard Library
2.Including Other Code
3.The Package Ecosystem

Language-specific extras

1.Pointers And References
2.Templates
3.The Stl Tour
4.Memory Management And Modern Cpp

Where to go next

1.What To Build With Cpp
$89.00

One-time payment. Keep access forever.

43 lessons, each with a quiz

✓ Code exercises you run yourself

✓ Built-in tutor for when you're stuck

✓ Progress that picks up where you left off