- About the Course
- Why Learn C++?
- Modern C++ and the C++ Standard
- How does all this work?
- FAQ -- Please Read!
Beginning C++ Programming - From Beginner to Beyond
Quick Facts
particular | details | |||
---|---|---|---|---|
Medium of instructions
English
|
Mode of learning
Self study
|
Mode of Delivery
Video and Text Based
|
Course overview
Beginning C++ Programming - From Beginner to Beyond course is an online comprehensive programme on C++ created by Tim Buchalka's Learn Programming Academy and Dr. Frank Mitropoulos, an Experienced Computer Scientist and Educator. The curriculum will cover both the beginner level and expert level content of C++ and will explore modern C++ Object-Oriented Programming (OOP), C++14, C++17, Operator Overloading, and so on.
Offered by Udemy, Beginning C++ Programming - From Beginner to Beyond online course will help the students to understand programming and coding using the programming language of C++ and coding with the aid of assignments, quizzes and coding exercises. Beginning C++ Programming - From Beginner to Beyond certification also provides the learners with the certificate of completion by Udemy, one of the largest online learning platforms. Plus, the learners will be given a 30-day money-back guarantee and lifetime access to the learning materials. The interested candidates can enrol in the programme by making the payment of Rs 3,499 as a fee.
The highlights
- Online course
- Full lifetime access
- Access on mobile and TV
- Certificate of completion
- English videos with multi-language subtitles
- 30-Day Money-Back Guarantee
Program offerings
- 46 hours on-demand video
- 2 articles
- 50 downloadable resources
- 37 coding exercises
- Full lifetime access
- Access on mobile and tv
- Assignments certificate of completion
Course and certificate fees
Fees information
certificate availability
Yes
certificate providing authority
Udemy
Who it is for
What you will learn
Modern C++, Object-Oriented Programming (OOP) , Variables & Constants, Arrays & Vectors, Statements & Operators, Controlling Programme Flow, Characters & Strings, Functions, Pointers & References, Operator overloading, Inheritance
By the end of the Beginning C++ Programming - From Beginner to Beyond online certification, the students will make a detailed understanding of the C++ programming language from the very beginning. Plus, the learners will develop the capacity to do coding and programming skillfully using one of the popular programming languages C++.
The syllabus
Introduction
Installation and Setup
- Installation and Setup Overview
- Installing the C++ Compiler on Windows
- Installing CodeLite on Windows
- Configuring CodeLite on Windows
- Installing the C++ Compiler on Mac OSX
- Installing CodeLite on Mac OSX
- Configuring CodeLite on Mac OSX
- Using the Command-Line interface
- Installing CodeLite on Ubuntu Linux
- Configuring CodeLite on Ubuntu Linux
- Creating a Default CodeLite Project Template (All Versions)
- Using the Command-Line Interface on Windows
- Using the Command-Line Interface on Mac OSX
- Using the Command-Line Interface on Linux (Ubuntu)
- Using a Web-based C++ Compiler
- Using the Included Source Code Course Resources
Curriculum Overview
- Curriculum Overview
- Overview of the Section Challenge Exercises
- Overview of the Section Quizzes
Getting Started
- Section Overview
- An Overview of the CodeLite Interface
- Writing our first program
- Building our first Program
- What are Compiler Errors?
- What are Compiler Warnings?
- What are Linker Errors?
- What are Runtime Errors?
- What are Logic Errors?
- Section Challenge
- Section Challenge - Solution
- Section 4 Quiz
Structure of a C++ Program
- Section Overview
- Overview of the Structure of a C++ Program
- #include Preprocessor Directive
- Comments
- The main() function
- Namespaces
- Basic Input and Output (I/O) using cin and cout
- Using cout and the insertion operator to say Hi to Frank
- Using cout and the insertion operator
- Using cin and the extraction operator
- Section 5 Quiz
Variables and Constants
- Section Overview
- What is a variable?
- Declaring and Initializing Variables
- Declaring and Initializing Variables
- Global Variables
- C++ Built-in Primitive Types
- What is the Size of a Variable (sizeof)
- What is a Constant?
- Declaring and Using Constants
- Section Challenge
- Section Challenge - Solution
- Section 06 Quiz
Arrays and Vectors
- Section Overview
- What is an Array?
- Declaring and Initializing Arrays
- Accessing and Modifying Array Elements
- Declaring, Initializing and Accessing an array
- Multidimensional Arrays
- Declaring and Initializing Vectors
- Accessing and Modifying Vector Elements
- Declaring, Initializing and Accessing Vectors
- Section Challenge
- Section Challenge - Solution
- Section 07 Quiz
Statements and Operators
- Section Overview
- Expressions and Statements
- Using Operators
- The Assignment Operator
- Arithmetic Operators
- Using the Assignment Operator
- Using the Arithmetic Operators
- Increment and Decrement Operators
- Mixed Expressions and Conversions
- Testing for Equality
- Relational Operators
- Logical Operators
- Compound Assignment Operators
- Operator Precedence
- Logical Operators and Operator Precedence - Can you work?
- Section Challenge
- Section Challenge - Solution
- Section 08 Quiz
Controlling Program Flow
- Section Overview
- if Statement
- If Statement - Can you Drive?
- if else Statement
- If-Else Statement - Can you Drive?
- Nested if Statements
- Nested If Statements - Can you Drive?
- switch-case Statement
- Switch Statement - Day of the Week
- Conditional Operator
- Looping
- for Loop
- For loop - Sum of Odd integers
- range-based for Loop
- Using the range-based for loop
- while Loop
- While loop exercise
- do while Loop
- Continue and Break
- Infinite Loops
- Nested Loops
- Nested Loops - Sum of the Product of all Pairs of Vector
- Section Challenge
- Section Challenge - Solution Part 1
- Section Challenge - Solution Part 2
- Section 09 Quiz
Characters and Strings
- Section Overview
- Character Functions
- C-Style Strings
- Working with C-Strings
- Using C-style Strings
- C++ Strings
- Working with C++ Strings
- Using C++ Strings - Exercise 1
- Using C++ Strings - Exercise 2
- Section Challenge
- Section Challenge - Solution
- Section 10 Quiz
- Challenge Assignment - Letter Pyramid
Functions
- Section Overview
- What is a Function?
- Using Functions from the cmath Library
- Function Definition
- Function Prototypes
- Function Parameters and the return Statement
- Functions and Prototypes - Converting Temperatures
- Default Argument Values
- Using Default Argument Values - Grocery List
- Overloading Functions
- Overloading Functions - Calculating Area
- Passing Arrays to Functions
- Passing Arrays to Functions - Print a Guest List
- Pass by Reference
- Using Pass by Reference - Print a Guest List
- Scope Rules
- How do Function Calls Work?
- inline Functions
- Recursive Functions
- Implementing a Recursive Function - Save a Penny
- Section Challenge
- Section Challenge-Solution
- Section 11 Quiz
Pointers and References
- Section Overview
- What is a Pointer?
- Declaring Pointers
- Accessing the Pointer Address and Storing Address in a Pointer
- Dereferencing a Pointer
- Dynamic Memory Allocation
- The Relationship Between Arrays and Pointers
- Pointer Arithmetic
- Const and Pointers
- Passing Pointers to Functions
- Returning a Pointer from a Function
- Potential Pointer Pitfalls
- What is a Reference?
- L-values and R-values
- Using the CodeLite IDE Debugger
- Section Recap
- Section Challenge
- Section Challenge - Solution
- Section 12 Quiz
OOP - Classes and Objects
- Section Overview
- What is Object-Oriented Programming?
- What are Classes and Objects?
- Declaring a Class and Creating Objects
- Accessing Class Members
- Creating and Accessing Objects
- public and private
- Implementing Member Methods
- Adding public methods that access private class attributes
- Add more public methods to an existing class
- Constructors and Destructors
- The Default Constructor
- Add a Default Constructor to an Existing Class
- Overloading Constructors
- Add an Overloaded Constructor to an Existing Class
- Constructor Initialization lists
- Delegating Constructors
- Constructor Parameters and Default Values
- Copy Constructor
- Add a Copy Constructor to an Existing Class
- Shallow Copying with the Copy Constructor
- Deep Copying with the Copy Constructor
- Move Constructors
- The 'this' Pointer
- Using const with Classes
- Static Class Members
- Structs vs Classes
- Friends of a class
- Section Challenge
- Section Challenge - Solution
- Section 13 Quiz
Operator Overloading
- Section Overview
- What is Operator Overloading?
- Overloading the Assignment Operator (copy)
- Overloading the Assignment Operator (move)
- Overloading Operators as Member Functions
- Operator Overloading as Member Functions
- Overloading Operators as Global Functions
- Operator Overloading as Non-member Functions
- Overloading the Stream Insertion and Extraction Operators
- Operator Overloading the Stream Insertion Operator
- Section Challenge
- Section Challenge - Solution 1
- Section Challenge - Solution 2
- Section 14 Quiz
Inheritance
- Section Overview
- What is Inheritance?
- Terminology and Notation
- Inheritance vs. Composition
- Deriving Classes from Existing Classes
- Protected Members and Class Access
- Constructors and Destructors
- Passing Arguments to Base Class Constructors
- Copy/Move Constructors and Operator = with Derived Classes
- Redefining Base Class Methods
- Multiple Inheritance
- The Updated Accounts Example
- Section Challenge
- Section Challenge - Solution
- Section 15 Quiz
Polymorphism
- Section Overview
- What is Polymorphism?
- Using a Base Class Pointer
- Virtual Functions
- Virtual Destructors
- Using the Override Specifier
- Using the Final Specifier
- Using Base Class References
- Pure Virtual Functions and Abstract Classes
- Abstract Classes as Interfaces
- Section Challenge
- Section Challenge - Solution Part 1
- Section Challenge - Solution Part 2
- Section Challenge - Final Solution
- Section 16 Quiz
Smart Pointers
- Section Overview
- Some Issues with Raw Pointers
- What is a Smart Pointer? Ownership and RAII
- Unique Pointers
- Shared Pointers
- Weak Pointers
- Custom Deleters
- Section Challenge 1
- Section Challenge 1 - Solution
- Section 17 Quiz
Exception Handling
- Section Overview
- Basic Concepts and a Simple Example: Dividing by Zero
- Throwing an Exception from a Function
- Handling Multiple Exceptions
- Stack Unwinding and How it Works
- Creating User-Defined Exception Classes
- Class Level Exceptions
- The C++ std::exception Class Hierarchy
- Section Challenge
- Section Challenge - Solution
- Section 18 Quiz
I/O and Streams
- Section Overview
- Files, Streams and I/O
- Stream Manipulators
- Stream Manipulators - boolean
- Stream Manipulators - integers
- Stream Manipulators - floating point
- Stream Manipulators - align and fill
- Section Challenge 1
- Section Challenge 1 - Solution
- Reading from a Text File
- Reading from a Text File - Live Demo - Part 1
- Reading from a Text File - Live Demo - Part 2
- Reading a text file
- Section Challenge 2
- Section Challenge 2 - Solution
- Section Challenge 3
- Section Challenge 3 - Solution
- Writing to a Text File
- Writing to a Text File - Live Demo
- Section Challenge 4
- Section Challenge 4 - Solution
- Using String Streams
- File locations with some Popular IDEs
- Section 19 Quiz
Standard Template Library - STL
- Section Overview
- What is the STL?
- Generic Programming with Macros
- Generic Programming with Function Templates
- Generic Programming with Class Templates
- Creating a Generic Array Template Class
- Introduction to STL Containers
- Introduction to STL Iterators
- Introduction to Iterators - Demo
- Introduction to STL Algorithms
- Introduction to Algorithms - Demo
- Sequence Container - Array
- Sequence Containers - Vector
- Sequence Containers - Deque
- Section Challenge 1
- Section Challenge 1 - Solution
- Sequence Containers - List and Forward List
- Section Challenge 2
- Section Challenge 2 - Solution
- Associative Containers - Sets
- Associative Containers - Maps
- Section Challenge 3
- Section Challenge 3 - Solution
- Container Adaptors - Stack
- Container Adaptors - Queue
- Section Challenge 4
- Section Challenge 4 - Solution
- Container Adaptors - Priority Queue
- Section 20 Quiz
Lambda Expressions
- Section Overview
- Motivation
- Structure of a Lambda Expression
- Stateless Lambda Expressions
- Stateless Lambda Expressions Demo - Part 1
- Stateless Lambda Expressions Demo - Part 2
- Stateful Lambda Expressions
- Stateful Lambda Expressions Demo - Part1
- Stateful Lambda Expressions Demo - Part2
- Lambdas and the STL
Bonus Section - Using Visual Studio Code
Section Overview
- Installing VSCode on Windows
- Building and Running C++ Programs with VSCode on Windows
- Debugging C++ Programs with VSCode on Windows
- Using the Course Source Code with VSCode on Windows
- Installing VSCode on Mac OSX
- Building and Running C++ Programs with VSCode on Mac OSX
- Debugging C++ Programs with VSCode on Mac
- Using the Course Source Code with VSCode on Mac
- Installing VSCode on Linux
- Building and Running C++ Programs with VSCode on Linux
- Debugging C++ Programs with VSCode on Linux
- Using the Course Source Code with VSCode on Linux
Bonus Section - Enumeration
- Section Overview
- Motivation
- The Structure of an Enumeration
- Unscoped Enumerations
- Scoped Enumerations
ARCHIVED - OLD INSTALLATION VIDEOS
- Installation and Setup Overview
- Installing the C++ Compiler on Windows
- Installing CodeLite on Windows
- Configuring CodeLite on Windows
- Installing the C++ Compiler on Mac OSX
- Installing CodeLite on Mac OSX
- Configuring CodeLite on Mac OSX
- Installing CodeLite on Ubuntu Linux
- Configuring CodeLite on Ubuntu Linux
- Creating a Default CodeLite Project Template (All Versions)
- Using the Included Source Code Course Resources
Extra Information - Source code, and other stuff
- Source Code for all Sections
Bonus Section - including Slides
- Bonus - Course Slides and Free Programming EBook