Activity | Points | Item Type |
---|---|---|
C++ Basics | ||
1.1 Input, Output, and Program Structure | Lesson | |
1.1.1 Input, Output, and Program Structure | 5 | Notes |
1.1.2 Hello World | 5 | Example |
1.1.3 Input and Output | 5 | Example |
1.1.4 getline and cin | 5 | Example |
1.1.5 Program Structure | 5 | Example |
1.1.6 Quiz: Input, Output, and Program Structure | 4 | Quiz |
1.1.7 Create a Haiku | 5 | Exercise |
1.1.8 Favorites | 5 | Exercise |
1.1.9 Put the Code in Order | 5 | Exercise |
1.2 Basic Data Types | Lesson | |
1.2.1 Basic Data Types | 5 | Notes |
1.2.2 Strings and Characters | 5 | Example |
1.2.3 Numbers | 5 | Example |
1.2.4 Booleans | 5 | Example |
1.2.5 Quiz: Basic Data Types | 4 | Quiz |
1.2.6 Hole in One | 5 | Exercise |
1.2.7 Loose Change | 5 | Exercise |
1.2.8 Fast Food | 5 | Exercise |
1.3 Conditional Statements | Lesson | |
1.3.1 Conditional Statements | 5 | Notes |
1.3.2 Basic If/Else Statements | 5 | Example |
1.3.3 Comparing Strings | 5 | Example |
1.3.4 Logical Operators | 5 | Example |
1.3.5 Quiz: Conditional Statements | 3 | Quiz |
1.3.6 Paper Supplier | 5 | Exercise |
1.3.7 Choose your own adventure | 5 | Exercise |
1.4 Loops | Lesson | |
1.4.1 Loops | 5 | Notes |
1.4.2 For Loops | 5 | Example |
1.4.3 While Loops | 5 | Example |
1.4.4 Searching a String | 5 | Example |
1.4.5 Quiz: Loops | 3 | Quiz |
1.4.6 Summing a Number's Digits | 5 | Exercise |
1.4.7 Hacker Speak | 5 | Exercise |
1.4.8 The Necklace Problem | 5 | Exercise |
1.5 Functions in C++ | Lesson | |
1.5.1 Functions in C++ | 5 | Notes |
1.5.2 Defining and Calling Functions | 5 | Example |
1.5.3 Passing by Reference vs Value | 5 | Example |
1.5.4 Function Prototypes | 5 | Example |
1.5.5 Quiz: Functions in C++ | 5 | Quiz |
1.5.6 Drawing a Triangle | 5 | Exercise |
1.5.7 Easier Input | 5 | Exercise |
1.5.8 Encryption | 5 | Exercise |
1.6 Project: Code Verification | Lesson | |
1.6.1 Code Verification | 5 | Exercise |
1.7 End of Unit Quiz | Lesson | |
1.7.1 Quiz: C++ Basics | 15 | Quiz |
Going Beyond The Basics | ||
2.1 Vector Basics | Lesson | |
2.1.1 Vector Basics | 5 | Notes |
2.1.2 Creating and Accessing Vectors | 5 | Example |
2.1.3 Inserting into a Vector | 5 | Example |
2.1.4 Looping Through a Vector | 5 | Example |
2.1.5 Quiz: Vector Basics | 5 | Quiz |
2.1.6 Splitting a Vector | 5 | Exercise |
2.1.7 A Sorted Addition | 5 | Exercise |
2.1.8 Final Grade Calculator | 5 | Exercise |
2.2 Function Default Values | Lesson | |
2.2.1 Function Default Values | 5 | Notes |
2.2.2 Default Values | 5 | Example |
2.2.3 Default Values with a Prototype | 5 | Example |
2.2.4 Example: Splitting a String | 5 | Example |
2.2.5 Quiz: Function Default Values | 4 | Quiz |
2.2.6 Burrito Bowl | 5 | Exercise |
2.2.7 Better Number Inputs | 5 | Exercise |
2.2.8 Appointment Follow Up | 5 | Exercise |
2.3 Structs | Lesson | |
2.3.1 Structs | 5 | Notes |
2.3.2 Defining and Accessing Structs | 5 | Example |
2.3.3 Using Structs: Line Length | 5 | Example |
2.3.4 Quiz: Structs | 4 | Quiz |
2.3.5 Songs | 5 | Exercise |
2.3.6 Movies - Part 1 | 5 | Exercise |
2.4 File Input/Output | Lesson | |
2.4.1 File Input/Output | 5 | Notes |
2.4.2 Reading In a File | 5 | Example |
2.4.3 Processing a File | 5 | Example |
2.4.4 Writing To a File | 5 | Example |
2.4.5 Quiz: File Input/Output | 4 | Quiz |
2.4.6 Sum From A File | 5 | Exercise |
2.4.7 Movies - Part 2 | 5 | Exercise |
2.5 Error Handling | Lesson | |
2.5.1 Error Handling | 5 | Notes |
2.5.2 Validating a Number | 5 | Example |
2.5.3 Validating a Vector Index | 5 | Example |
2.5.4 Throwing Other Values | 5 | Example |
2.5.5 Quiz: Error Handling | 4 | Quiz |
2.5.6 Next Birthday | 5 | Exercise |
2.5.7 Movies - Part 3 | 5 | Exercise |
2.6 Project: Karel Internship | Lesson | |
2.6.1 Part 1 - Karel Internship | 5 | Exercise |
2.6.2 Part 2 - Karel Internship | 5 | Exercise |
2.7 End of Unit Quiz | Lesson | |
2.7.1 Quiz: Going Beyond The Basics | 15 | Quiz |
Libraries | ||
3.1 Header Files | Lesson | |
3.1.1 Header Files | 5 | Notes |
3.1.2 Header File | 5 | Example |
3.1.3 Header and Implementation File | 5 | Example |
3.1.4 Safer Header | 5 | Example |
3.1.5 Quiz: Header Files | 3 | Quiz |
3.1.6 Convert to Uppercase | 5 | Exercise |
3.1.7 Basic Math Library | 5 | Exercise |
3.2 Using Libraries | Lesson | |
3.2.1 Using Libraries | 5 | Notes |
3.2.2 The Util Library | 5 | Example |
3.2.3 Built in Util Library | 5 | Example |
3.2.4 Quiz: Using Libraries | 3 | Quiz |
3.2.5 Number Guessing Game | 5 | Exercise |
3.2.6 Patient Records | 5 | Exercise |
3.3 Project: The Game of Pig | Lesson | |
3.3.1 The Game of Pig | 5 | Free Response |
3.3.2 Build the Basic Program | 5 | Exercise |
3.3.3 Adding a Computer Opponent | 5 | Exercise |
3.4 End of Unit Quiz | Lesson | |
3.4.1 Quiz: Libraries | 10 | Quiz |
2D Vectors, Stacks, and Queues | ||
4.1 2D Vectors | Lesson | |
4.1.1 2D Vectors | 5 | Notes |
4.1.2 The 2D Vector | 5 | Example |
4.1.3 Creating a 2D Vector | 5 | Example |
4.1.4 Quiz: 2D Vectors | 3 | Quiz |
4.1.5 Magic Square Tester | 5 | Exercise |
4.1.6 Gradient | 5 | Exercise |
4.2 Project: The Game of Life | Lesson | |
4.2.1 Creating the Board | 5 | Exercise |
4.2.2 Adding the Simulator | 5 | Exercise |
4.3 Stacks | Lesson | |
4.3.1 Stacks | 5 | Notes |
4.3.2 Basic Stack | 5 | Example |
4.3.3 Stack Example: Reverse a String | 5 | Example |
4.3.4 Quiz: Stacks | 3 | Quiz |
4.3.5 Browser History | 5 | Exercise |
4.3.6 Error Checking | 5 | Exercise |
4.4 Project: RPN Calculator | Lesson | |
4.4.1 What is an RPN Calculator? | 5 | Demo |
4.4.2 Building the Calculator | 5 | Exercise |
4.5 Queues | Lesson | |
4.5.1 Queues | 5 | Notes |
4.5.2 Basic Queue | 5 | Example |
4.5.3 Queue Example: Next in Line | 5 | Example |
4.5.4 Quiz: Queues | 3 | Quiz |
4.5.5 Line Simulator - Single Queue | 5 | Exercise |
4.5.6 Line Simulator - Three Queues | 5 | Exercise |
4.6 Project: Karaoke Night | Lesson | |
4.6.1 Project: Karaoke Night | 5 | Exercise |
4.7 End of Unit Quiz | Lesson | |
4.7.1 Quiz: 2D Vectors, Stacks, and Queues | 15 | Quiz |
Sets and Maps | ||
5.1 Pairs and Iterators | Lesson | |
5.1.1 Pairs and Iterators | 5 | Notes |
5.1.2 Pairs | 5 | Example |
5.1.3 Iterators | 5 | Example |
5.1.4 Quiz: Pairs and Iterators | 5 | Quiz |
5.1.5 Deck of Cards | 5 | Exercise |
5.1.6 Comparing ways to Loop Through a Vector | 5 | Free Response |
5.2 Sets | Lesson | |
5.2.1 Sets | 5 | Notes |
5.2.2 Basic Sets | 5 | Example |
5.2.3 Iterating Through a Set | 5 | Example |
5.2.4 Sets of Struct Values | 5 | Example |
5.2.5 Quiz: Sets | 5 | Quiz |
5.2.6 Visiting All the Teams | 5 | Exercise |
5.2.7 Movies - Part 4 | 5 | Exercise |
5.3 Project: Bingo | Lesson | |
5.3.1 Bingo - Demo | 5 | Demo |
5.3.2 Part 1 - Game Setup | 5 | Exercise |
5.3.3 Part 2 - Playing a Turn | 5 | Exercise |
5.3.4 Part 3 - Finding a Winner | 5 | Exercise |
5.4 Maps | Lesson | |
5.4.1 Maps | 5 | Notes |
5.4.2 Map Basics | 5 | Example |
5.4.3 Iterating Through a Map | 5 | Example |
5.4.4 Updating Maps | 5 | Example |
5.4.5 Quiz: Maps | 5 | Quiz |
5.4.6 Word Count | 5 | Exercise |
5.4.7 Car Registration | 5 | Exercise |
5.5 Project: FRC Scoring System | Lesson | |
5.5.1 FRC Scoring - Planning | 5 | Free Response |
5.5.2 FRC Scoring - Build | 5 | Exercise |
5.6 End of Unit Quiz | Lesson | |
5.6.1 Quiz: Sets and Maps | 15 | Quiz |
Recursion | ||
6.1 Functional Recursion | Lesson | |
6.1.1 Functional Recursion | 5 | Notes |
6.1.2 Basic Recursive Problem: Exponential | 5 | Example |
6.1.3 Recursion Example: Reverse String | 5 | Example |
6.1.4 Recursion Example: Make Sum | 5 | Example |
6.1.5 Quiz: Functional Recursion | 4 | Quiz |
6.1.6 Sum Digits | 5 | Exercise |
6.1.7 Remove a Letter | 5 | Exercise |
6.1.8 Valid DNA Sequences | 5 | Exercise |
6.1.9 Subsequence | 5 | Exercise |
6.2 Procedural Recursion | Lesson | |
6.2.1 Procedural Recursion | 5 | Notes |
6.2.2 Print Binary | 5 | Example |
6.2.3 Recursion Example: Print Permutations | 5 | Example |
6.2.4 Depth versus Breadth Search | 5 | Example |
6.2.5 Quiz: Procedural Recursion | 4 | Quiz |
6.2.6 Print All Binary Permutations | 5 | Exercise |
6.2.7 Pascal's Triangle | 5 | Exercise |
6.2.8 Phone Words | 5 | Exercise |
6.3 Recursive Backtracking | Lesson | |
6.3.1 Recursive Backtracking | 5 | Notes |
6.3.2 Basic Backtracking | 5 | Example |
6.3.3 Eight Queens | 5 | Example |
6.3.4 Quiz: Recursive Backtracking | 4 | Quiz |
6.3.5 Dice Sum | 5 | Exercise |
6.3.6 Airfreight | 5 | Exercise |
6.3.7 Cell Phone Towers | 5 | Exercise |
6.4 Project: Sudoku Solver | Lesson | |
6.4.1 Set Up | 5 | Exercise |
6.4.2 isValid | 5 | Exercise |
6.4.3 nextEmpty | 5 | Exercise |
6.4.4 Final Build | 5 | Exercise |
6.5 End of Unit Quiz | Lesson | |
6.5.1 Quiz: Recursion | 15 | Quiz |
Pointers, Linked Lists, and Graphs | ||
7.1 Pointers | Lesson | |
7.1.1 Pointers | 5 | Notes |
7.1.2 Assigning and Updating Pointers | 5 | Example |
7.1.3 Pointers and Functions | 5 | Example |
7.1.4 Pointers and Data Structures | 5 | Example |
7.1.5 Quiz: Pointers | 5 | Quiz |
7.1.6 Print Stats | 5 | Exercise |
7.1.7 Stocks - Part 1 | 5 | Exercise |
7.1.8 Stocks - Part 2 | 5 | Exercise |
7.2 Project: Team Roster | Lesson | |
7.2.1 Project Demo | 5 | Demo |
7.2.2 Team Roster | 5 | Exercise |
7.3 Linked Lists | Lesson | |
7.3.1 Linked Lists | 5 | Notes |
7.3.2 Basic Linked List | 5 | Example |
7.3.3 Linked List and Recursion | 5 | Example |
7.3.4 Example: Sorted Phone Book | 5 | Example |
7.3.5 Quiz: Linked List | 4 | Quiz |
7.3.6 Remove From the Phone Book | 5 | Exercise |
7.3.7 Really Long Division | 5 | Exercise |
7.3.8 Doubly Linked List | 5 | Example |
7.3.9 Playlist | 5 | Exercise |
7.4 Project: Mail Forwarding | Lesson | |
7.4.1 Part 1: Creating the Structure | 5 | Exercise |
7.4.2 Part 2: Adding Utilities | 5 | Exercise |
7.4.3 Adding the User Interface | 5 | Exercise |
7.5 Graphs | Lesson | |
7.5.1 Graphs | 5 | Notes |
7.5.2 Basic Example: Breadth First Search | 5 | Example |
7.5.3 Application: Connecting Cities | 5 | Example |
7.5.4 Quiz: Graphs | 4 | Quiz |
7.5.5 Extending Connecting Cities | 5 | Exercise |
7.5.6 LinkedOut: A High School Social Network | 5 | Exercise |
7.6 End of Unit Quiz | Lesson | |
7.6.1 Quiz: Pointers, Linked Lists, and Graphs | 15 | Quiz |
Final Project | ||
8.1 Virtual Lines | Lesson | |
8.1.1 Final Project Demo | 5 | Demo |
8.1.2 Part 1 - Creating the Basic Queue | 5 | Exercise |
8.1.3 Part 2 - Adding Basic Functionality | 5 | Exercise |
8.1.4 Part 3 - Adding the User Interface | 5 | Exercise |
8.1.5 Part 4 - Only One Queue per Person | 5 | Exercise |
Sign up for a free teacher account to get access to curriculum, teacher tools and teacher resources.
Teacher SignupSign up as a student if you are in a school and have a class code given to you by your teacher.
Student Signup