Phase 1: Programming Foundations
Learn the Basics of C++ Programming
This phase introduces you to the fundamental concepts of programming with C++. You’ll transition from visual block coding to text-based programming while building a solid foundation in:
- Program Structure: Understanding how C++ programs are organized
- Input & Output: Getting data from users and displaying results
- Variables & Data Types: Storing and working with different kinds of information
- Mathematical Operations: Performing calculations and working with numbers
- Text Processing: Manipulating strings and handling text data
Learning Journey
By the end of Phase 1, you’ll be able to create interactive programs that:
- Get input from users
- Perform calculations and data processing
- Display formatted, meaningful output
- Handle different types of data (numbers, text, true/false values)
Time Commitment
- 5 Sessions Total
- 6.5 hours of guided learning
- Mix of 1-hour weekday and 1.5-hour weekend sessions
Prerequisites
- Basic computer literacy
- Some experience with visual block coding (Scratch, etc.)
- Willingness to experiment and learn from mistakes!
Ready to start? Begin with Session 1: What is Programming? and take your first steps into the world of C++ programming!
Session 1: What is Programming?
Session 1: What is Programming?
Learn what programming really is, set up your development environment, and write your first C++ program.
🎯 Key Skills You'll Learn:
- Basic program structure
- cout for output
- Compiling and running programs
🚀 Session Project:
ASCII Art Name Generator
Learning Objectives
- Understand what programming is and how it relates to block coding
- Learn the basic structure of a C++ program
- Write and run your first C++ program
Warm-up (10 minutes)
Think about your experience with block coding:
Session 2: Getting Input from Users
Session 2: Getting Input from Users
Make your programs interactive by learning to get input from users. Understand the difference between input and output operations.
🎯 Key Skills You'll Learn:
- cin for input
- string variables
- User interaction
🚀 Session Project:
Mad Libs Generator
Learning Objectives
- Learn to get input from users
- Understand the difference between input and output
- Create interactive programs
Warm-up (5 minutes)
Run your ASCII art program from last session. Does it work? If not, what error messages do you see?
Session 3: Variables and Data Types
Session 3: Variables and Data Types
Understand how computers store different types of information and learn to work with numbers, text, and true/false values.
🎯 Key Skills You'll Learn:
- int, double, char, bool, string
- Variable naming conventions
- Variable declaration and initialization
🚀 Session Project:
Personal Profile Generator
Learning Objectives
- Understand what variables are and why we need them
- Learn different data types in C++
- Practice declaring and using variables
Warm-up (5 minutes)
In your mad libs program, you used variables like string adjective. Why do you think we need to tell the computer it’s a “string”?
Session 4: Working with Numbers and Math
Session 4: Working with Numbers and Math
Master arithmetic operations, understand operator precedence, and work with different number types to create calculation programs.
🎯 Key Skills You'll Learn:
- Arithmetic operators
- Math functions
- Assignment shortcuts
- Integer vs decimal division
🚀 Session Project:
Compound Interest Calculator
Learning Objectives
- Master arithmetic operations in C++
- Understand operator precedence
- Work with different number types
- Create calculation programs
Warm-up (10 minutes)
Quick Review Exercise: Create a program that asks for two numbers and displays them. Make one an integer and one a decimal number.
Session 5: Working with Text and Strings
Session 5: Working with Text and Strings
Learn to work with text data, handle multi-word input, and manipulate strings to create sophisticated text-based programs.
🎯 Key Skills You'll Learn:
- String operations
- getline() for full text input
- Text processing
- String methods
🚀 Session Project:
Initials Extractor
Learning Objectives
- Understand string operations in C++
- Learn basic string manipulation
- Handle multi-word input
- Practice string concatenation
Warm-up (5 minutes)
Try this: ask a user for their full name using cin >> name. What happens if they enter “John Smith”? Why do you think only “John” gets stored?