Which programming language is often seen as a badge of honor among software developers? C++
Which programming language can you learn that when added to your resume, will often get you a job interview? C++
Which programming language is routinely ranked in the top 5 programming languages by popularity, and been consistently in the top 10 for close to 20 years? C++
Why you should learn C++
Much, if not most of the software written today is still written in C++ and this has been the case for many, many years.
Not only is C++ popular, but it is also a very relevant language. If you go to GitHub you will see that there are a huge number of active C++ repositories and C++ is also extremely active on stack overflow.
There are many, many leading software titles written entirely or partly in C++. These include the Windows, Linux, and Mac OSX operating systems!
Many of the Adobe products such as Photoshop and Illustrator, the MySQL and MongoDB database engines, and many many more are written in C++.
Leading tech companies use C++ for many of their products and internal research and development. These include Amazon, Apple, Microsoft, PayPal, Google, Facebook, Oracle, and many more.
Can you see how learning C++ will open up more career opportunities for you?
If more professional companies are using C++, it stands to reason that there is going to be more of a demand for C++ programmers.
But the main reason programmers should probably learn C++ is because it is so powerful!
What do I mean by powerful?
C++ is super fast and is a general-purpose programming language that supports both procedure and object-oriented programming making it very flexible.
It can scale easily. And it can be portable as well.
C++ can do many things that other languages just can’t.
That’s why nearly every major language has a way to interface with code written in C++.
Since C++ has influenced so many languages, if you know C++ you’ll likely see elements from C++ in new languages you learn.
How can a beginner learn C++?
Find a good course, taught by an instructor with many years of experience in C++ is critical, as is the need for the instructor to have the necessary skills to be able to teach you the language.
Frank Mitropolous, the instructor in this course has been using C++ for over 2 decades and has taught students in both university courses and industry training courses. He even worked on a C++ compiler development project while he was in the industry.
So not only will you be learning C++ from an expert C++ programmer, but you’ll also be taught by an instructor who has successfully taught at university level for many years.
As a result, you can take this course with confidence, knowing that you will learn C++ the right way, and in the shortest possible timeframe.
Which version of C++ should I learn?
C++ has had many version releases and updates over the years. It’s a sad fact that most C++ courses do not teach Modern C++, but focus on old, obsolete versions of C++.
Frank teaches you Modern C++ (specifically C++ 14 and C++17).
Learn C++ the right way, with Modern C++, as taught by Frank in this course.
What about C++20? Don’t I need to learn about that as well?
This course currently covers C++14 and C++17 but is still valid if you ultimately want to learn C++20.
C++20 is new and the reality is that C++20 compilers and tools are not yet ready for prime time and the industry is using mainly C++14. So it’s not really of any benefit for you to learn C++20 right now when the industry is not using it.
It’s going to take many, many years for the industry to migrate to C++20 and that means jobs for C++20 are not going to be around for quite some time.
What is available right now, are tons of jobs for Modern C++ developers, and you will obtain those skills in this course.
It’s our sincere advice to focus on learning Modern C++ and not get too hung up on the latest and greatest versions of C++.
And even if you really do want to learn C++20, the new features in C++20 are mostly advanced features that require understanding the foundations of Modern C++.
If you don’t learn the basics, you won’t master any version of C++.
Learning the foundations of Modern C++ should be your priority, which you will learn in this course!
Is C++ difficult to learn?
With all the power and flexibility of C++ comes complexity.
There is no question that C++ is one of the most complex programming languages out there.
But with the right instructor and the right training, you really can get up to speed with C++ quickly, and that’s what this course is all about.
What will I learn in this course?
The course assumes no previous experience with C++ (or even programming in general), and you will end up with the skills to create your own programs in C++.
Key topics covered include.
* Looping with while, do/while for, range-based for statements and recursion
* Performing calculations and displaying results
* Functions
* Pointers
* Using existing classes and creating objects
* Creating your own classes
* Using Basic Standard Template Library classes such as Vector
* Constructors and Destructors
* Copy and Move semantics including Copy constructors, Move constructors, and copy and move assignment
* How to overload operators
* Using inheritance and class hierarchies
* Using Polymorphic functions and dynamic binding
* Using smart pointers
* Using stream I/O
* An introduction to the C++ STL
* An introduction to Exception Handling
* And much more.
How is this C++ course different from other courses?
You will learn Modern C++, for one. Many, perhaps most other courses on Udemy teach you old, obsolete versions of C++. If you are going to learn C++, it’s imperative that you learn the Modern version to maximize your career opportunities and to ensure your skills are up to date.
The course format includes theory and concepts which are then reinforced with live code examples. Often the C++ debugger is used to step through code and analyze variables to better understand the behavior of C++. The instructor also uses a pen tablet to write on the screen and provide even more visual explanations.
You won’t find better C++ training anywhere, and you will struggle to find someone with as much industry and training experience as your instructor Frank has.
What do I get out of learning C++?
More career options for one! C++ is one of the most popular programming languages used in games development. It’s also heavily used in embedded applications. Your investment in time in learning C++ will reward you time and time again with more pay, and more opportunities, and frankly, more fun!
Are you ready to get started?
If you are ready to get that first paid programming job or to move up to a more senior programming position, then this course is for you!
Your new job or consulting opportunity awaits!
Why not get started today?
Click the Signup button to sign up for the course!
Installation and Setup
-
1About the Course
In this video we provide an introduction to the course and instructor.
-
2Why Learn C++?
In this video we look at why it is so valuable to learn C++.
-
3Modern C++ and the C++ Standard
In this video we look at Modern C++ and the C++ Standard
-
4How does all this work?
In this video we take a conceptual look at the steps necessary to create and execute a C++ program.
-
5FAQ -- Please Read!
Please read the provided Frequently Asked Questions document for this course.
Curriculum Overview
-
6Installation and Setup Overview
In this video we go over the various installation option in this section
-
7Installing the C++ Compiler on Windows
In this video we install the MinGW C++ compiler on Windows
-
8Installing CodeLite on Windows
In this video we install the CodeLite IDE on Windows
-
9Configuring CodeLite on Windows
In this video we configure the CodeLite IDE on Windows
-
10Installing the C++ Compiler on Mac OSX
In this video we install the C++ compiler on Mac OSX
-
11Installing CodeLite on Mac OSX
In this video we install the CodeLite IDE on Mac OSX
-
12Configuring CodeLite on Mac OSX
In this video we configure the CodeLite IDE on Mac OSX
-
13Using the Command-Line interface
In this video we discuss using the command-line interface to compile and run C++ programs.
-
14Installing CodeLite on Ubuntu Linux
In this video we install the CodeLite IDE on Ubuntu Linux
-
15Configuring CodeLite on Ubuntu Linux
In this video we configure the CodeLite IDE on Ununtu Linux
-
16Creating a Default CodeLite Project Template (All Versions)
In this video we create a default CodeLite Project Template so we can use it for new projects
-
17Using the Command-Line Interface on Windows
In this video we describe how to use a simple text editor and the command-line to compile and run C++ programs on Windows.
-
18Using the Command-Line Interface on Mac OSX
In this video we describe how to use a simple text editor and the command-line to compile and run C++ programs on Mac OSX.
-
19Using the Command-Line Interface on Linux (Ubuntu)
In this video we describe how to use a simple text editor and the command-line to compile and run C++ programs on Ubuntu Linux.
-
20Using a Web-based C++ Compiler
In this video we look at using a web-based C++ compiler.
-
21Using the Included Source Code Course Resources
In this video we go over what is provided in the course resources and how to use the source code in your own projects.
Getting Started
-
22Curriculum Overview
In this video we will go over the course curriculum so that you know exactly what this course covers and at what level.
-
23Overview of the Section Challenge Exercises
In this video we will go over the section challenge exercises and their purpose.
-
24Overview of the Section Quizzes
In this video we'll discuss the section quizzes and their role in the course.
Structure of a C++ Program
-
25Section Overview
In this video we provide an overview of this section.
-
26An Overview of the CodeLite Interface
In this video we look at the CodeLite IDE Interface.
-
27Writing our first program
In this video we will will write our first program using CodeLite IDE.
-
28Building our first program
In this video we will compile and build our first program using CodeLite IDE.
-
29What are Compiler Errors?
-
30What are Compiler Warnings?
In this video will discuss what compiler warnings are and what they mean to the programmer.
-
31What are Linker Errors?
In this video we discuss linker errors and what causes them.
-
32What are Runtime Errors?
In this video we discuss run-time errors and give examples of some
-
33What are Logic Errors?
In this video we discuss logic errors and give a simple example.
-
34Section Challenge
-
35Section Challenge - Solution
-
36Section 4 Quiz
Section 4 Quiz - Getting Started
Variables and Constants
-
37Section Overview
In this video we provide an overview of this section.
-
38Overview of the Structure of a C++ Program
In this video we will look at the basic structure of a simple C++ program.
-
39#include Preprocessor Directive
In this video we will look at the #include pre-processor directive.
-
40Comments
In this video we will look at the 2 types of C++ comments and discuss how to comment code.
-
41The main() function
In this video we will discuss the main function.
-
42Namespaces
In this video we will discuss the basics of namespaces and what they mean to a program.
-
43Basic Input and Output (I/O) using cin and cout
In this video we will learn more about console input and output using cin and cout.
-
44Using cout and the insertion operator to say Hi to Frank
-
45Using cout and the insertion operator
-
46Using cin and the extraction operator
-
47Section 5 Quiz
Section 5 Quiz - Structure of a C++ Program
Arrays and Vectors
-
48Section Overview
In this video we provide an overview of this section.
-
49What is a variable?
In this video we discuss what variables are and why they are used.
-
50Declaring and Initializing Variables
In this video we show how to declare and initialize variables.
-
51Declaring and Initializing Variables
-
52Global Variables
In this video we describe global variables and their advantages and disadvantages.
-
53C++ Built-in Primitive Types
In this video we discuss compiler errors and introduce some errors into out first program to see how to correct them.
-
54What is the Size of a Variable (sizeof)
In this video we see how we can use the sizeof operator to determine the size of a variable.
-
55What is a Constant?
In this video we discuss what constants are and why they are used.
-
56Declaring and Using Constants
In this video we will write a program using literal constants then refactor it to use declared constants.
-
57Section Challenge
-
58Section Challenge - Solution
-
59Section 06 Quiz
Section 06 Quiz - Variables and Constants
Statements and Operators
-
60Section Overview
In this video we provide an overview of this section.
-
61What is an Array?
In this video we discuss what an array is in C++.
-
62Declaring and Initializing Arrays
In this video we learn how to declare and initialize C++ arrays.
-
63Accessing and Modifying Array Elements
In this video we learn how to access individual array elements.
-
64Declaring, Initializing and Accessing an Array
-
65Multidimensional Arrays
In this video we create multi-dimensional arrays and learn how to access their elements.
-
66Declaring and Initializing Vectors
In this video will learn about vectors and see how to declare and initialize them.
-
67Accessing and Modifying Vector Elements
In this video we learn how to access individual vector elements.
-
68Declaring, Initializing and Accessing Vectors
-
69Section Challenge
-
70Section Challenge - Solution
-
71Section 07 Quiz
Section 07 Quiz - Arrays and Vectors
Controlling Program Flow
-
72Section Overview
In this video we provide an overview of this section.
-
73Expressions and Statements
In this video we learn what expressions and statements are in C++.
-
74Using Operators
In this video we discuss the C++ operators.
-
75The Assignment Operator
In this video we learn about the assignment operator.
-
76Arithmetic Operators
In this video we see how we can use the basic math operators +,-,*,/, and %
-
77Using the Assignment Operator
-
78Using the Arithmetic Operators
-
79Increment and Decrement Operators
In this video we learn how to use the C++ increment (++) and decrement (--) operators.
-
80Mixed Expressions and Conversions
In this video we learn how C++ handles expression when the operands of are different types.
-
81Testing for Equality
In this video we learn how to compare C++ elements in C++ using the == operator.
-
82Relational Operators
In this video we learn how to use the C++ relational operators (<, <=, >, >=, and !)
-
83Logical Operators
In this video we learn how to use the C++ logical operators (&&, !!, and !)
-
84Compound Assignment Operators
In this video we learn how to use the C++ compound assignment operators (op=).
-
85Operator Precedence
In this video we'll learn all about operator precedence in C++ which allows us control the order how expressions are evaluated.
-
86Logical Operators and Operator Precedence - Can you work?
-
87Section Challenge
-
88Section Challenge - Solution
-
89Section 08 Quiz
Section 08 Quiz - Statements and Operators