
Learn how C++ powers games, office apps, and Arduino projects, and fluently read and write C++ programs. Explore fundamentals, syntax, and practical practice with visuals and problems.
Download the IDE and follow the installation guide, using the link in the description for Mac users. We'll write our first program in chapter one.
Explore how programs store information with variables and data types, focusing on integers and decimals (int, double), and learn declaration, initialization, assignment, and input/output with cin/cout (extraction/insertion).
Explore the boolean data type and learn how true and false are represented in code. Apply relational operators, understand logic gates, and evaluate complex boolean expressions in your IDE.
Identify compile time errors, including syntax and semantic errors, and learn debugging to fix bugs in your c++ programs, including logical errors and the role of type casting.
Explore beginner C++ concepts through quiz solutions: booleans, data types (int, double, string, char, bool), operators, increment/decrement, assignment, and comment syntax, with step-by-step walkthroughs.
Learn how conditional statements control program flow in C++, using if, else if, and else with boolean expressions to execute code based on conditions, with optional braces for single statements.
Learn how loops in c++ execute code repeatedly with for, while, and do while, using initialization, condition, and update to print numbers 1 to 5 and trace iterations.
Input three numbers and determine the greatest using if, else if, and else. Compare X, Y, and Z to identify the greatest and cover the all-equal case with sample outputs.
Input a letter grade and use a switch statement to display performance; A is excellent, B very good, C passing, D or F not good, default for invalid grades.
Build a simple C++ program using a for loop to read five numbers, add negative inputs to a running sum, break on a positive input, and display the sum.
Trace and solve a series of c++ quiz problems, covering infinite loops, do-while semicolons, break statements, and nested loops. Learn switch limitations with strings and common syntax errors.
Store temperature values with a one dimensional array of doubles instead of ten variables. Learn fixed size, zero-based indexing, and compiler-deduced size when initialized.
Explore two dimensional arrays to model rows and columns, initialize them without size parameters, access elements by row and column indices, and print values with nested loops.
Create a C++ program that stores five user-entered numbers in an integer array and prints them in reverse order using a for loop with a decreasing index.
Trace a for loop over an array of four elements, printing x[0] and x[2], then attempting x[4], which triggers a runtime error from out-of-bounds access.
Create a two-dimensional array to store user-entered integers, determine rows and columns, and use nested loops to input and display the values in a matrix format.
Explore C++ array basics with practical quiz solutions: index access, valid 1D and 2D declarations, initialization rules, bounds, and common runtime errors from out-of-range indexing.
Explore how functional programming in C++ uses functions to organize code, improving readability and reusability compared with procedural programming centered on a main function.
Explore a simple C++ sum function: declare above main, define below, pass two inputs as x and y, return an int, and output the result.
Explore predefined functions embedded in C++ libraries, such as cmath's square root and iostream utilities, and learn how to include headers and access common built-in functions.
Demonstrate call by value and call by reference by swapping two variables, showing how ampersands enable modifications to arguments, and explain when to use each.
Practice problem 2 guides students through implementing a search function that scans a three-element array for a target value, reporting found or not found, with size passed as an argument.
Learn how selection sort sorts an array by finding the next smallest value and swapping it into place, using input, sort, and swap functions to produce a sorted array.
Navigate through a quiz solution that clarifies function headers, declarations, definitions, and parameter passing in C++, including arrays, by value and by reference, default arguments, and global versus local variables.
read numbers from a file using a while loop that doubles as the input operation and loop condition. understand how a stream can be passed to a function by reference.
Compare the C++ extraction operator with the get and put functions. Get reads every character, including blanks and newlines, while put outputs characters one by one.
Explain default arguments in c++, showing how missing arguments take default values and defaults must be at the end. Use istream and ostream parameters for in, out, and inout cases.
Learn to read an entire file by inputting characters from the input stream until end of file, using the file method for processing text and CSI type library functions.
Explore how string variables behave as objects within a class, and use the string class's member functions via the dot operator, with examples from the string library.
Explore the most important member functions of the string class in C++, presented in a summary table.
Learn how a string object behaves like an array, access characters by index (zero-based), and change the third character to X using provided methods.
Compare string objects using ASCII-based lexicographic ordering by evaluating corresponding character codes from left to right, and determine equality by same length and identical characters in the same positions.
Explore how to display the ASCII table by using arithmetic on char variables to output all printable characters from 32 to 126.
Check palindromes by trimming punctuation and whitespace, lowercasing, and comparing mirrored characters. Implement with C++ using getline, a three-trial input loop, and a palindrome check function that reverses a string.
Learn how fixed-size arrays waste memory and how pointers create dynamic arrays, enabling memory-efficient data storage in RAM using bits, bytes, and ASCII representations in C++.
Explore what a pointer is in C++, a special variable that stores another variable’s address. Learn about pointer types, addresses, dereferencing with the asterisk, and printing values.
Explore creating dynamic variables via pointers, accessing and assigning values from the pointer address, and managing memory in the free store with the delete operator.
Explore how arrays are stored contiguously in memory and how a pointer targets the first element, illustrating array-by-reference behavior and basic pointer arithmetic to traverse indices.
Construct a 3 by 4 2d dynamic array of integers in c++ using a pointer to a pointer, allocate a row pointer array and row's integers, then delete the array.
Learn to declare and use a dynamic array in C++, input size and values. Search for a target with a for loop and display the address and found flag.
Explains pointers, dereferencing, and address operations; explores dynamic arrays with new and delete, and builds multidimensional dynamic arrays using arrays of pointers, contrasting static vs dynamic memory.
This is the first programming course offered in university. I remember spending that one winter break reading a C++ book and being excited when I wrote my first ever program. I have thoroughly read the book and solved many practice problems, which is why I ended up getting an A without attending the lectures. If you want to learn programming, or anything for that matter, find the best resources and invest your time and money into it.
Prerequisites
None
Recommended Book
Problem Solving with C++ 10th Edition by Walter Savitch
About this Course
You will learn the basics of programming. In particular, we focus on procedural and functional programming.
FAQ
Are there quiz multiple choice questions?
There are 100+ Questions that rigorously test your understanding.
__________________________________________________________________________________________________________________
Are there practice problems?
There are 15+ Practice Problems (with Solution) similar to the problems in the recommended book.
__________________________________________________________________________________________________________________
Where can I ask you questions?
You can leave a comment under the "Q and A" tab in the lecture related to your question.
__________________________________________________________________________________________________________________
What is the best way to learn from this course?
You can adjust the video playback speed according to your preference. I would advise you to keep it at x1 for normal lectures and at x1.5 for the quiz solutions and practice problems. Also, try to challenge yourself by solving the practice problems alone, then compare your code with the solution.
__________________________________________________________________________________________________________________
Does this course cover data structures?
No. Data structures is a course by itself, which universities usually offer after completing an object oriented programming course.
__________________________________________________________________________________________________________________
What's next?
You can expect a more advanced programming course, which focuses on object oriented programming (OOP). This programming style or model is widely used in the software world in fields such as game development, web development, mobile app development, and much more.