Simple play icon Course

C++ Fundamentals Including C++ 17

by Kate Gregory

If C++ scares you, or you've heard that it's a difficult language, this course will show you how easy Modern C++ can be. It's a powerful language that works on a huge variety of platforms and has useful features that other languages don't have.

What you'll learn

C++ is a general purpose programming language that is used by millions of developers. It has a reputation for being hard to learn and use, but with the changes in the language over the last few decades, this reputation is no longer deserved. C++ offers a powerful combination of performance and abstraction that other languages don’t have.

In this course, C++ Fundamentals Including C++ 17, you'll learn how to write simple console applications and be ready to move on to writing platform-specific code.

First, you’ll learn the basics of language syntax:

  • Declaring variables
  • Classes
  • Building expressions using operators and functions
  • Templates, indirection, and polymorphism
You'll explore the syntax additions from C++ 11, C++ 14, and C++17, using any modern compiler to run the examples.

You'll also see the principles of Modern C++ in action, relying on the Standard Library and using idioms like Resource Acquisition is Initialization to reduce the effort involved in memory management.

By the end of this course, you’ll be comfortable reading and writing Modern C++, including features added in C++17.

Table of contents

Course Overview

Course FAQ

What exactly is C++?

C++ is a general purpose programming language that offers a powerful combination of performance and abstraction that isn't found in other languages.

Is C++ a good first language to learn?

C++ is a good choice for a first programming language. It has a reputation for being difficult to learn, but C++ is very transparent and doesn't hide anything and its syntax is similar to many other programming languages.

What is C++ used for?

C++ is mainly used for systems programming and embedded systems. It is also used in application development, game development, animation, web browser development, developing database software, developing operating systems, and much more.

What will I learn in this course?

You will learn:

  • Basics of C++ language syntax
  • Declaring variables
  • Classes
  • Expressions, operators, and functions
  • Templates
  • Indirection
  • Memory Management
  • Polymorphisms
  • Syntax additions from C++ 11, C++ 14, and C++ 17
  • And more
Is C++ difficult to learn?

C++ has a reputation for being a difficult programming language to learn, but in this course you will see how modern C++ is easier and more enjoyable to learn than past versions.

Are there any prerequisites?

There is no strict prerequisite to this course, but some exposure to another programming language (any programming language, not just C) will help solidify some concepts. Knowing the general "what" or "how" of calling functions or creating variables, etc. If you have no programming experience at all, try this Learn How to Program With C++ course instead!

What software or tools will I need for this course?

You'll need a compiler and a linker - tools that transform source code into something that can actually be executed on whatever platform you end up deploying your application to. GCC and Clang are popular compile/link tools. You will also need an editor for source code, such as Brackets, and you will need a debugger such as Google Dev Tools.

Who is this course for?

This course is for everyone who wants to learn how to program with C++! It is geared towards beginners, although it assumes some understanding of general programming basics.

About the author

Kate Gregory is in her fifth decade of being paid to program. Her firm, Gregory Consulting Limited, is based in rural Ontario and helps clients adopt new technologies and adjust to the changing business environment. Mentoring, technical writing, and technical speaking are her preferred ways of sharing wisdom with large groups of people. Kate is the author of over a dozen books and speaks at conferences around the world, with keynotes on 5 continents. Kate is a C++ MVP, develops courses (primaril... more

Ready to upskill? Get started