By Rob Percival's Codestars, Instructor and founder of Codestars

The Complete C++ Developer Course

Language: English
All Levels

Course description

Brand new update to the course (August 2021):  A section on the fundamentals of data structures and ADTs, where you'll learn how to implement array-based and link-based Lists, Stacks, and Queues!

Master theory and practice using one of the world's most popular programming languages!

In this course you'll learn:

  • Master the fundamentals of C++ programming
  • Apply procedural and object-oriented concepts and syntax
  • Develop practical skills and terminology related to software development


A computer and a willing attitude!


Welcome to The Complete C++ Developer Course!

Why learn C++? C++ is one of the most popular languages in the world! It's used by over 4 million developers worldwide, and in the US the average salary of a C++ developer is over $100,000 a year! Why is C++ so popular? Well, it's a general-purpose object-oriented programming language that is flexible, efficient, fast, and widely used.

Why this course?!

Practical, hands-on and aimed at beginners who are keen on mastering C++, this course is designed to get students coding in C++ as quickly as possible, while also teaching the best tips, tricks and theory behind the code. Every section (and 99% of lectures) has challenges and exercises for students to confirm their knowledge and put their newly learnt skills to the test.

Some of the most exciting projects include:

- Mad-Libs clone

- Jam of the Month club

- Tic-tac-toe

- A Bank Account class

- A Pizza class

- Dynamically created circles and rectangles

- RPG Player Character (PC) creation program! ...and lots more besides!

The course is taught by John P. Baugh, Ph.D., a professional software engineer and consultant, as well as a Professor and Chair of Computer Science / Computer Information Systems in the US. John's taught both online and in the classroom, and his experience really shows!

What are you waiting for?! This course will take you from beginner to expert in C++, so dive in today, and get coding!

Who this course is for:

- Beginner coders, new to C++ - Developers looking to upskill by adding C++ to their CV - Experienced C++ programmers who want to stay sharp! - College students and anyone studying C++

Related Skills

Course overview - 117

  • Section 1: Getting Started

  • Getting Started on Windows with Visual Studio IDE

  • Getting Started on macOS

  • How to Find Answers to Your Questions

  • Section 2: Fundamentals

  • Saying "Hello" to C++

  • Variables and Data Types (Part 1)

  • Variables and Data Types (Part 2)

  • Variables and Data Types (Part 3)

  • Comments

  • Arithmetic Operators

  • Relational Operators

  • Logical Operators

  • Symbolic Constants and Naming Conventions

  • User Input

  • Project - Average of Three

  • Project - MadLibs Clone

  • Section Wrap-Up

  • Section 3: Control Statements

  • Introduction to Control Statements

  • Selection Control Statements

  • Repetition Control Statements

  • Break and Continue

  • Random Numbers (Side Topic)

  • Project - Jam of the Month Club

  • Project - Odds and Evens

  • Project - Guess the Number

  • Section Wrap-Up

  • Section 4: Arrays and Vectors

  • Built-in Arrays

  • The Array Class

  • The Vector Class

  • Multi-dimensional Arrays

  • Project - Array Data

  • Project - Vector Data

  • Project - Parallel Arrays/Vectors

  • Section Wrap-Up

  • Section 5: Functions

  • Function Prototypes and Definitions

  • Function Return Types and Parameters

  • Parameter Passing: Pass-by-Value and Pass-by-Reference

  • Variable Scope and Lifetime

  • Function Overloading

  • The Library

  • Recursion

  • Project - Return the Product of Three Parameters

  • Project - Return the Sum of Built-in Array Elements

  • Project - Return the Sum of Array Object Elements

  • Project - Retrieve the Sum of Array Object Elements by Reference

  • Project - Tic-Tac-Toe (ADVANCED)

  • Section Wrap-Up

  • Section 6: Introduction to Classes and Objects

  • Basics of OOP

  • Encapsulation: Data Members and Member Functions

  • Separate Compilation

  • Constructors and Destructors

  • A Rectangle Class

  • A Book Class

  • Project - A Bank Account Class

  • Project - A Pizza Class

  • Project - A Circle Class

  • Section Wrap-Up

  • Section 7: Exceptions and Debugging

  • Exceptions and the Exception Hierarchy

  • Logic Errors

  • Runtime Errors and Throwing Exceptions

  • Rethrowing Exceptions

  • Custom Exceptions

  • Basic Testing and Debugging

  • Project - Throwing and Handling an out of range Exception

  • Project - Creating and Using Your Own Exception

  • Section Wrap-Up

  • Section 8: Pointers

  • Introduction to Pointers

  • Dynamic Memory (Part 1)

  • Dynamic Memory (Part 2)

  • Const Correctness

  • Project - Dynamically Create Rectangles

  • Project - Dynamically Create Circles

  • Section Wrap-Up

  • Section 9: File Input and Output

  • Sequential File Output

  • Sequential File Input

  • More File I/O

  • Project - Read Data and Print Statistics to File

  • Project - Dynamically Create Rectangles from File

  • Project - Shopping Item File

  • Section Wrap-Up

  • Section 10: Inheritance and Polymorphism

  • Inheritance (Part 1)

  • Inheritance (Part 2)

  • Polymorphism and Late Binding

  • Enumerated Types (Side Topic)

  • Project - Derived Cat Class

  • Project - RPG Player Character Creation

  • Section Wrap-Up

  • Section 11: Templates, the STL, and Other Skills

  • Templates

  • The STL (Part 1)

  • The STL (Part 2)

  • Smart Pointers

  • Friend Functions and Friend Classes

  • Operator Overloading

  • Project - Dictionary of Terms

  • Project - Aliens

  • Section Wrap-Up

  • Section 12 (Fundamentals of Data Structures)

  • Data Structures and Abstract Data Types

  • Arrays and Linked Chains

  • The ADT List (Array Lists)

  • The ADT List (Linked Lists)

  • The ADT Stack (Array Stack)

  • The ADT Stack (Linked Stack)

  • The ADT Queue (Circular Array Queue)

  • Project 12-01: Linked Queue

  • Project 12-02: List-based Stack

  • Section Wrap-up

Meet your instructor

Rob Percival's Codestars
Rob Percival's CodestarsInstructor and founder of Codestars
Hi! I'm Rob. I have a degree in Mathematics from Cambridge University and you might call me a bit of coding geek. I've taught over a million students how to code, and I created in order to work with other brilliant instructors on technology and programming courses! I'm passionate about teaching kids to code, and I also run the popular web hosting and design service, Eco Web Hosting which leaves me free to share my secrets with people like you. My course co-instructors include the highly respected Atil Samancıoğlu, the brilliant Dr John Baugh, and many (many) more. I hope you enjoy the courses we've created!  Happy coding.