Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Programming Fundamentals using C++
E-Book Overview
Intro to C++ E-Book Overview
Module 1 - Section 1 - Introduction to Programming in C++
Video Introduction (6:09)
What is Programming?
Types of Programming Languages
History of Computers
History of the Internet
Why So Many Programming Languages?
Programming "Hello World" in Different Languages
The History of C++
The Role of Computer Programmers and Software Engineers
Success Tips When You’re Learning To Code
Section 1 - Check your Knowledge
Module 1 - Section 2 - The Programming Process
Introduction to the Programming Process (4:57)
The IPO Model
The Software Development Life Cycle (SDLC)
Pseudocode: Planning Before Coding
Code to Requirements
Coding Standards: Writing Clean and Consistent Code
Section 2 - Check Your Knowledge
Module 1 - Section 3 - The Anatomy of a C++ Program
Our first Look at C++ "Hello World"
Writing Your First C++ Program
Code Walkthrough: Demonstrating Output and New Lines (2:04)
Comments in C++
Section 3 - Check Your Knowledge
Module 1 - Section 4 - Variables and Assignment Statements
Variables
Variable Naming Conventions
Data Types
Data Type Demo (3:33)
Section 4 - Check Your Knowledge
Module 1 - Section 5 - Arithmetic Operators and Operator Precedence
Arithmetic Operators
Order of Precedence
Expressions and Assignment
Increment and Decrement Operators
Demo - Operators (2:54)
Section 5 - Check Your Knowledge
Module 1 - Section 6 - Introduction to Strings
Strings - An Introduction
Declaring and Assigning Strings
String Concatenation
Accessing Characters in a String
String Length
Demo - Strings (2:45)
Section 6 - Check Your Knowledge
Module 1 - Section 7 - The Basics of Output
C++ Output Basics
Escape Sequence
Formatting Output
Demo - Formatting a Sales Receipt (2:39)
Section 7 - Check Your Knowledge
Module 1 - Section 8 - Introduction to User Input
Introduction to User Input
Using cin for User Input
Reading Multiple Types of Input
Reading Full Lines with getline()
Using cin.get() for Character Input
Common Input Errors and How to Fix Them
Demo - Mini Interview Game (2:57)
Section 8 - Check Your Knowledge
Module 1 - Labs
Lab - Academic Profile Generator
Lab - Favorite Things Survey
Lab - Video Gamer Profile
Lab - Travel Journal Entry (Challenge Lab)
Lab - Social Media Bio Card Builder (Challenge Lab)
Module 2 - Section 1 - Type Conversion (Casting)
Bridging the Gap Between Data Types
Implicit Conversion (Automatic)
Explicit Conversion (Manual)
Conversion Between int, double, and char
Avoiding Data Loss During Type Conversion
Examples and Use Cases of Type Conversion
Demo - Type Conversion (2:07)
Section 1 - Check Your Knowledge
Module 2 - Section 2 - Using Predefined Functions
Predefined Functions Overview
Unlocking the Power of Predefined Functions
How to Use Predefined Functions in C++
Including the Correct Headers
Demo - Using Predefined Functions in C++ (2:45)
Section 2 - Check Your Knowledge
Module 2 - Section 3 - Control Structures
Control Structures Overview
The if Statement
The if-else Statement
The else-if Statement
The switch Statement
Nested Decision Structures
Demo - Conditional Statements (4:30)
Section 3 - Check Your Knowledge
Module 2 - Section 4 - More on Control Structures
Making Smarter, More Powerful Decisions
Making Decisions Inside Other Decisions - Nested Conditionals
Combining Conditions with Logical Operators
The Ternary Operator - A Quick Way to Write Simple Decisions
Demo - Advanced Control Structure Concepts (3:18)
Section 4 - Check Your Knowledge
Module 2 - Section 5 - File Input and Output
File Input and Output Overview
Using fstream
Opening Files with ifstream and ofstream
Demo - Reading and Writing Player Stats from a File (3:59)
Section 5 - Check Your Knowledge
Module 2 - Section 6 - Handling Input Errors in C++
Making Your Programs More Reliable
Using cin.fail() and cin.clear()
Clearing the Input Buffer with cin.ignore()
Demo - Handling input Errors (3:00)
Section 6 - Check Your Knowledge
Module 2 -Section Labs
Lab - Character Stats Calculator
Lab - Snack Shack Menu Selector
Lab - Space Mission Launch Readiness
Lab - Farm Readiness Checker
Lab - Galactic Passport Generator
Lab - Student Grade Import and Report Generator
Lab - Adventure Game
Module 3 - Section 1 - Introduction to Looping
Introduction to Looping (4:07)
When and Why to Use Repetition
Loop Control Components
Pretest vs. Posttest Loops
Section 1 - Check Your Knowledge
Module 3 - Section 2 - While Loops
Introduction to the while Loop
Syntax and Flowchart of a while Loop
Example Usage of a While Loop
Tracing a while Loop by Hand
Input Validation Example Using while
Demo: Validating Age Input Using a while Loop (2:31)
Module 3 - Section 2 - Check Your Knowledge
Module 3 - Section 3 - For Loops
Introduction to the For Loop
Syntax and Structure of a for Loop
When to Use a for Loop
Practical for Loop Examples
Tracing a for Loop by Hand
Demo - Calculating Total and Average Test Scores (3:28)
Module 3 - Lesson 3 - Check Your Knowledge
Module 3 - Lesson 4 - Do-While Loops
Introduction to the do while Loop
Syntax and Structure of a do while Loop
Common Use Cases for the do while Loop
Tracing a do while Loop by Hand
Demo - Building a Basic Calculator with a do while Loop (3:29)
Module 3 - Lesson 4 - Check Your Knowledge
Module 3 - Lesson 5 - Nested Loops
Introduction to Nested Loops
Syntax and Flow of Nested Loops
Common Applications of Nested Loops
Tracing Nested Loops by Hand
Demo - Multiplication Table with Nested Loops and Input Validation (3:25)
Module 3 - Lesson 5 - Check Your Knowledge
Module 3 - Lesson 6 - Loop Control Statements
Introduction to Loop Control Statements
Using break in Loops
Using continue in Loops
Demo – Filtering Input with break and continue (2:57)
Module 3 - Lesson 6 - Knowledge Check
Module 3 - Lesson 7 - Common Looping Errors and Pitfalls
Introduction to Common Looping Errors and Pitfalls
Infinite Loops
Off-by-One Errors
What Happens with a Misplaced Semicolon?
Failing to Update Loop Control Variables
Video - Common Looping Errors and Pitfalls (4:05)
Section 3 - Lesson 7 - Check your Knowledge
Module 3 - Lesson 8 - Practical Looping Applications
Demo - Rainfall Tracker with Boolean Flag (3:36)
Demo - Mini Adventure Game Menu with do while Loop (4:19)
Demo - Draw a Rectangle or Square (5:10)
Module 3 - Section Labs
Lab - Simple Savings Account
Lab - Multiples of a Number
Lab - Menu-Based Calculator
Lab - Star Pattern Staircase
Lab - Simple Fast Food Ordering System
Lab - Mini Battle Simulator
Lab - Number Analyzer Tool - Challenge Lab
Lab - Dungeon Crawl Adventure - Challenge Lab
Module 4 - Section 1 - Introduction to Functions
What a Function Is and Why We Use Them
Benefits of Using Functions
Real-World Analogy for Functions
Module 3 - Section 1 - Check Your Knowledge
Module 4 - Section 2 - The Anatomy of a Function
The Three Main Parts of a Function
The Components of a Function
Breakdown of a Simple Function
The Anatomy of a Function (4:44)
Module 4 - Section 2 - Check Your Knowledge
Module 4 - Section 3 - Function Parameters and Arguments
What Are Parameters?
What Are Arguments?
Functions with No Parameters - Code with Me (3:15)
Function with one (or more) parameters (3:43)
Module 4 - Section 3 - Check your Knowledge
Module 4 - Section 4 - Returning Values
Purpose of returning a value
Void Functions vs. Functions That Return Data
Demo - Dice Game (4:01)
Module 4 - Section 4 - Check Your Knowledge
Module 4 - Section 5 - Scope of Variables
Understanding Scope and Local Variables
Global Variables and Why to Be Careful
Why Local Variables Are Usually Best
Variable Lifetime Inside a Function
Module 4 - Section 5 - Check Your Knowledge
Module 4 - Lesson 6 - Function Overloading
Function Overloading – Same Name, Different Parameters
How the Compiler Decides Which Function to Call
Demo - Function Overloading (2:46)
Module 4 - Lesson 6 - Check Your Knowledge
Module 4 - Lesson 7 - Default Arguments
Introduction to Default Arguments
Demo - Default Arguments (2:26)
Module 4 - Lesson 7 - Check your Knowledge
Module 4 - Lesson 8 - Pass by Value vs. Pass by Reference
Introduction to Pass by Value vs by Reference
What Is Pass by Value?
What Is Pass by Reference?
Syntax for Passing by Reference
Demo - Pass by Value vs. Pass by Reference (3:14)
Module 4 - Lesson 8 - Check your Knowledge
Module 4 - Lesson 9 - Modular Program Design
How larger programs benefit from multiple small, focused functions
Best Practices for Writing Functions
Demo - Mini Calculator (2:55)
Module 4 - Lesson 9 - Check Your Knowledge
Module 4 - Lesson 10 - Using Header and Implementation Files for Functions
Why We Separate Code into .h (Header) and .cpp (Implementation) Files
Improved Compilation Efficiency and Dependency Management
How to Separate Code into Header and Implementation Files in Xcode
How to Separate Function Code into Header and Implementation Files in Visual Studio Community
How to Separate Function Code into Header and Implementation Files in CLion
Demo - Header and Implementation File (3:54)
Module 4 - Lesson 10 - Check Your Knowledge
Module 4 - Lesson 11 - Practical Function Applications
Demo - Validating Input (5:03)
Demo - Modular Calculator Example (5:20)
Module 4 - Section Labs
Lab - A Simple Introduction App
Lab - Podcast Host Introduction
Lab - Sam's Coffee Shop
Lab - Student Grade Evaluator
Lab - Character Creator – Using Default Arguments and Function Overloading
Lab - Travel Cost Calculator – Modular Program Design with Header and Implementation Files
Lab - Adventure Shop - Challenge Lab
Module 5 - Section 1 - Introduction to Arrays
Overview of an Array
Declaring and Initializing Arrays
Accessing and Modifying Array Elements
Common Pitfalls with Arrays
Demo - Working with an Array of Ages (2:42)
Module 5 - Section 1 - Check Your Knowledge
Module 5 - Section 2 - Multidimensional Arrays
2D Arrays: Declaration, Initialization, and Traversal
Expanding Beyond 2D: 3D Arrays and More
Demo - Two Dimensional Array - Grade display and Average (2:17)
Module 5 - Section 2 - Check Your Knowledge
Module 5 - Section 3 - Parallel Arrays
Introduction to Parallel Arrays
Declaring and Initializing Parallel Arrays
Accessing and Displaying Parallel Arrays
Modifying Data in Parallel Arrays
Common Mistakes and Limitations of Parallel Arrays
Real-World Examples and Use Cases
Demo - Parallel Arrays – RPG Character Tracker (3:35)
Module 5 - Section 3 - Check Your Knowledge
Module 5 - Section 4 - Using Arrays in Functions
Introduction to Arrays and Functions
Passing Arrays to Functions
Writing Functions that Use Arrays
Array Input and Output Functions
Modifying Array Elements in Functions
Copying Arrays in C++
Demo - Game Stats (4:36)
Module 5 - Section 4 - Check Your Knowledge
Module 5 - Section 5 - Searching Algorithms (Array)
Introduction to Searching Arrays
Linear Search: Simple and Straightforward
Binary Search: Fast Searching for Sorted Arrays
Using find and binary_search (algorithm library)
Why Learn to Code a Search Algorithm When There's a Library?
Demo - Search Showdown – Linear vs Binary vs STL (5:00)
Module 5 - Section 5 - Check Your Knowledge
Module 5 - Section 6 - Sorting Algorithms (Array)
Introduction to Sorting Arrays
Selection Sort: Find and Place
Bubble Sort: The Beginner-Friendly Sort
Introduction to the STL sort: Fast, Reliable, and Ready to Use
Why Learn to Code Sorting Algorithms Manually?
Demo - Leaderboard Sort – Bubble, Selection, and the STL sort (3:59)
Module 5 - Lesson 6 - Check Your Knowledge
Module 5 - Lesson 7 - Practical Examples
Demo - Student Names Array (4:38)
Demo - Game Character Sorter (6:08)
Module 5 - Section Labs
Lab - Podcast Episode Organizer
Lab - High Score Analyzer
Lab - Conference Speaker Selector
Lab - Conference Speaker and Topic Tracker
Lab - Shopping Cart Summary
Lab - Weekly Payroll Calculator
Lab - Game Character Performance Analyzer
Challenge Lab: Campus Resource Finder
Challenge Lab: Team Stat Sorter
Challenge Lab: Music Chart Sorter
Module 6- Section 1 - Vectors
Introduction to Vectors
Declaration and Initialization of Vectors
Dynamic Resizing
Common Vector Operations
Demo - Quiz Scores using a Vector (3:53)
Module 5 - Section 4 - Check You Knowledge
Module 6 - Section 2- Passing and Modifying Vectors in Functions
Passing and Modifying Vectors in Functions
When and Why to Use Each: Practical Examples and Performance Tips
Demo - Playlist Manager (4:49)
Module 6 - Section 2 - Check Your Knowledge
Module 6 - Section 3 - Vector Capacity and Performance Considerations
size() vs. capacity() - What’s the Difference?
Vectors - reserve()
Vectors - shrink_to_fit()
Reallocations and Performance Hits When Vectors Resize
Module 6 - Lesson 3 - Check Your Knowledge
Module 6 - Lesson 4 - Searching and Sorting Vectors
Linear Search with Vectors
Binary Search with Vectors
Using std::find() with Vectors
Sorting Vectors with Loops (Manual Sort)
Sorting Vectors with std::sort()
Demo - High Score Tracker Using sort() and binary_search() (2:17)
Module 6 - Lesson 4 - Check Your Knowledge
Module 6 - Section 5 - Comparing Arrays and Vectors
Memory Management — Static vs. Dynamic Allocation
Flexibility and Safety — Bounds Checking and Ease of Use
Performance Considerations
Module 6 - Section 5 Check Your Knowledge
Module 6 - Section 6 - Introduction to Structures
What are Structures
Structures Instead of Parallel Arrays
Real-World Examples of Structures
Demo: Student Profile Viewer (3:55)
Module 6 - Section 6 - Check Your Knowledge
Module 6 - Section - 7 Using Vectors of Structures
Declaring a Structure
Structures with Arrays
Vectors of Structures
Demo - Student Roster Vector (2:52)
Module 6 - Section 7 - Check Your Knowledge
Module 6 - Section 8 - Using Structures in Functions
Passing Structures by Value and by Reference
Returning Structures from Functions
Passing a Vector of Structures to a Function
Demo - Using Functions and Vectors (3:27)
Module 6 - Section 8 - Check Your Knowledge
Module 6 - Section 9 - Practical Examples
Demo - Inventory Management System (5:44)
Module 6 - Section Labs
Lab - Interactive Name Sorter
Lab - Age Analyzer
Lab - Power-Up Calculator
Lab - Create Your Own Game Character
Lab - Game Character Roster Manager
Lab - Podcast Library Manager (with Header and Implementation Files)
Challenge Lab: Car Lot Inventory Manager
Module 7 - Section 1 - Classes and Objects
Structures vs. Classes
What is Object-Oriented Programming (OOP)?
Advantages of Using Classes and Objects
Module 7 - Section 1 - Check Your Knowledge
Module 7 - Section 2 - Defining a Simple Class
Syntax of a Class
Adding Attributes (Member Variables)
Adding Functions (Member Functions)
The Concept of public and private
Module 7 - Section 2 - Check your Knowledge
Module 7 - Section 3 - Constructors
What Is a Constructor?
Writing a Default Constructor
Writing a Parameterized Constructor
Constructor Overloading
Module 7 - Section 3 - Check your Knowledge
Module 7 - Section 4 - Accessors and Mutators (Getters and Setters)
Why Use Getters and Setters?
How to Write and Use Getters and Setters
Protecting Data Integrity with Encapsulation
Module 7 - Section 4 - Check Your Knowledge
Module 7 - Section 5 - Separating Class Interface and Implementation
Separating Interface and Implementation with Include Guards (#ifndef)
Separating Interface and Implementation with #pragma once
Demo - Car Class (4:41)
Module 7 - Section 5 - Check your Knowledge
Module 7 - Section 6 - Object-Oriented Design Concepts
Encapsulation in Practice
Thinking in Terms of Objects and Responsibilities
Module 7 - Section 6 - Knowledge Check
Module 7 - Section 7 - Practical Example
Demo - Podcast (4:10)
Module 7 - Sections Labs
Lab - Favorite Book Tracker
Lab - Student Profile Manager
Lab - Pet Profile Creator
Lab - Movie Database Entry
Lab - Game Character Builder
Module 8 - Section 1 - Vectors of Objects
Introduction to Vectors of Objects
Declaring a Vector of Objects
Accessing Objects in a Vector
Input and Output with a Vector of Objects
Passing Vectors of Objects to Functions
Modifying Objects in a Vector
Searching in a Vector of Objects
Sorting a Vector of Objects
Lab - Combining Vectors with Menu-Driven Programs
Module 1 - Section 1 - Check Your Knowledge
Module 8 - Section 2 - Namespaces
What Is a Namespace?
The Standard Namespace (std)
Creating Your Own Namespace
Demo - Namespaces in Action
Module 8 - Section 3 - Check Your Knowledge
Lab - Space Mission Control (Exploring Namespaces)
Module 8 - Section 3 - Working with Files and Data Persistence
Intro to Working with Files and Data Persistence
Code Example - Student Record Keeper
Lab - Game Score Tracker
Module 8 - Section 4 - Command line Arguments
What argc and argv Mean
Real-World Use of Command-Line Arguments
Lab - File Word Search via Command Line
Module 8 - Section 5 - Recursion
Introduction to Recursion
Tracing Recursive Calls
Recursion vs. Iteration
Common Recursive Algorithm
Lab - Recursive Digit Counter
What Is a Constructor?
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock