Introduction to Programming Concepts and C++ Fundamentals
From the Π curriculum
Introduction to Programming Concepts and C++ Fundamentals
TL;DR
Programming is about telling a computer what to do, step-by-step, using a specific language. C++ is a powerful, widely used language for building all sorts of applications. You'll learn fundamental concepts like variables, data types, and how to make your programs perform actions.
1. The Mental Model
Think of programming like writing a recipe. You give precise instructions for a task, and the computer (the chef) follows them exactly. C++ is one of many languages you can use to write these recipes.
2. The Core Material
What is Programming?

Photo by Myburgh Roux on Pexels
Programming is essentially giving instructions to a computer. Computers don't understand human languages directly, so we use programming languages like C++ to translate our ideas into something they can execute. These instructions are called code, and a collection of code that performs a task is a program.
Basic Structure of a C++ Program

Photo by Daniil Komov on Pexels
Every C++ program has a basic structure. Let's look at a super simple one:
#include <iostream> // This line "includes" a library for input/output operations
int main() { // This is the main function, where your program starts executing
std::cout << "Hello, World!" << std::endl; // This line prints text to the screen
return 0; // This tells the operating system the program finished successfully
}
#include <iostream>: This line is a preprocessor directive. It tells the compiler to include theiostreamlibrary, which contains tools for input and output, like printing text.int main() { ... }: This defines themainfunction. Every C++ program must have amainfunction. It's the entry point – where your program begins running. Theintmeans it will return an integer (usually 0 for success).std::cout << "Hello, World!" << std::endl;: This is your first statement.std::coutis used to print output to the console.<<is the "insertion operator" – it sends what's on its right tostd::cout."Hello, World!"is a string literal – text enclosed in double quotes.std::endlis a special character that inserts a new line and "flushes" the output buffer.- Every statement in C++ ends with a semicolon
;.
return 0;: This indicates that the program finished successfully.
Variables and Data Types

Photo by Markus Spiske on Pexels
Variables are like named containers where you can store data. Before you can use a variable, you need to declare it, which involves giving it a data type and a name. The data type tells the computer what kind of information the variable will hold (e.g., a whole number, text, a decimal number).
Here are some fundamental data types in C++:
int: Stores whole numbers (integers), like 5, -100, 0.double: Stores floating-point numbers (numbers with decimal points), like 3.14, -0.5, 2.0.char: Stores a single character, like 'A', 'b', '7'. Notice the single quotes.bool: Stores a Boolean value, which can only betrueorfalse.std::string: Stores a sequence of characters (text), like "Hello", "C++ is fun". You need#include <string>for this.
#include <iostream>
#include <string> // Don't forget this for std::string!
int main() {
int age = 30; // Declare an integer variable named 'age' and initialize it to 30
double price = 19.99; // Declare a double variable named 'price'
char initial = 'J'; // Declare a char variable
bool isLoggedIn = true; // Declare a boolean variable
std::string name = "Alice"; // Declare a string variable
std::cout << "Name: " << name << std::endl;
std::cout << "Age: " << age << std::endl;
std::cout << "Price: " << price << std::endl;
std::cout << "Initial: " << initial << std::endl;
std::cout << "Is logged in: " << isLoggedIn << std::endl; // true often prints as 1, false as 0
// You can also change variable values
age = 31;
std::cout << "New Age: " << age << std::endl;
return 0;
}
Flow of Execution

Photo by Vlada Karpovich on Pexels
A program generally executes instructions sequentially, from top to bottom, inside the main function (and other functions you'll learn about). However, you can alter this flow using control structures like if statements (for decisions) and for/while loops (for repetition), which we'll cover later.
Here's how a C++ program usually flows:
graph TD
A["Start Program (main function)"] --> B["Include Libraries"]
B --> C{"Is there more code?"}
C -- Yes --> D["Execute Statement 1"]
D --> E["Execute Statement 2"]
E --> F["... (Execute more statements)"]
F --> C
C -- No --> G["Return 0 (End Program)"]
3. Worked Example
Let's combine some of these concepts to create a program that asks for your name and age, then greets you.
#include <iostream> // For std::cout and std::cin
#include <string> // For std::string
int main() {
// 1. Declare variables to store the name and age
std::string userName;
int userAge;
// 2. Ask the user for their name
std::cout << "What is your name? ";
std::cin >> userName; // Read the user's input and store it in userName
// 3. Ask the user for their age
std::cout << "How old are you? ";
std::cin >> userAge; // Read the user's input and store it in userAge
// 4. Print a personalized greeting
std::cout << "Hello, " << userName << "! You are " << userAge << " years old." << std::endl;
return 0; // Indicate successful execution
}
When you run this program, it will first print "What is your name? ". You'll type your name (e.g., "Charlie") and press Enter. Then it will print "How old are you? ". You'll type your age (e.g., "25") and press Enter. Finally, it will output "Hello, Charlie! You are 25 years old.".
4. Key Takeaways
- Programming uses specific languages like C++ to give computers instructions.
- Every C++ program starts execution in the
main()function. #includedirectives bring in external libraries, likeiostreamfor input/output.- Variables are named containers that store data, and they must have a specific data type (e.g.,
int,double,char,bool,std::string). std::coutprints information to the console, andstd::cinreads information from the console.- Each instruction in C++ usually ends with a semicolon
;. - Programs generally execute line by line, from top to bottom.
Common Mistakes to Avoid:
- Forgetting a semicolon at the end of a statement.
- Mismatched quotes (e.g., using single quotes for a string: 'Hello').
- Not declaring a variable before trying to use it.
- Spelling variable names inconsistently (C++ is case-sensitive: myVariable is different from MyVariable).
5. Now Try It
Write a C++ program that declares two double variables, num1 and num2. Assign them any decimal values you like. Then, print their sum, difference, and product to the console, each on a new line, clearly labeled. For example: "Sum: 15.5".
Success looks like: Your program compiles and runs, correctly calculates and displays the sum, difference, and product of your two chosen decimal numbers, each with a clear label.
Frequently asked about Introduction to Programming Concepts and C++ Fundamentals
Get the full Π curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Create Free Account