Skip to content

Lesson plans I'm coming up with for my homeschooled children to learn CS fundamentals and C++

Notifications You must be signed in to change notification settings

rbledsaw3/CppforKids

Repository files navigation

C++ for Kids

Overview

This repo is where I'm dumping my lesson plans as I go through teaching my children (ages 8 - 11) C++ over the next year. Some lessons are already complete, many are yet to be done and are subject to change.

Completed Lessons

Lesson 1 - Binary

Lesson 2 - Basic Data Types

Lesson 3 - Introduction to C++

Lesson 4 - Understanding Variables

Lesson 5 - The Power of Constants

Lesson 6 - Simple Arithmetic in C++

Lesson 7 - Introduction to Input and Output


Todo:

Lesson 8 - Making Decisions with If-Else

Lesson 9 - Repeating Actions with Loops

Lesson 10 - Breaking Down Loops: The for Loop

Lesson 11 - While & Do-While Loops Explained

Lesson 12 - Nested Control Structures

Lesson 13 - Introduction to Arrays

Lesson 14 - Working with Strings

Lesson 15 - Exploring Functions

Lesson 16 - Function Overloading

Lesson 17 - Deep Dive: The Stack and The Heap

Lesson 18 - Introduction to Pointers

Lesson 19 - Using Pointers Effectively

Lesson 20 - Dynamic Memory Allocation

Lesson 21 - Introduction to References

Lesson 22 - The Basics of Recursion

Lesson 23 - C++ Structures and Classes

Lesson 24 - Object-Oriented Programming: Constructors

Lesson 25 - Destructors and Memory Management

Lesson 26 - Operator Overloading

Lesson 27 - Inheritance in C++

Lesson 28 - Polymorphism and Dynamic Binding

Lesson 29 - Working with Files and Streams

Lesson 30 - Exception Handling Basics

Lesson 31 - Advanced Exception Techniques

Lesson 32 - Templates in C++

Lesson 33 - Introduction to Standard Template Library (STL)

Lesson 34 - Understanding STL: Vectors

Lesson 35 - Delving into STL: Lists and Deques

Lesson 36 - STL: Sets and Multisets

Lesson 37 - STL: Maps and Multimaps

Lesson 38 - STL Algorithms

Lesson 39 - Lambda Expressions in C++

Lesson 40 - Exploring C++ Threads

Lesson 41 - Introduction to Smart Pointers

Lesson 42 - The Beauty of Move Semantics

Lesson 43 - C++ Standard Library: Chrono

Lesson 44 - Advanced C++: Attributes

Lesson 45 - Exploring the C++ Preprocessor

Lesson 46 - Deep Dive: Namespaces

Lesson 47 - Introduction to Design Patterns

Lesson 48 - Design Patterns: Singleton and Factory

Lesson 49 - Design Patterns: Observer and Strategy

Lesson 50 - Mid-Journey Review & Project Introduction

Lesson 51 - Basic Game Development in C++

Lesson 52 - Creating a Simple Calculator

Lesson 53 - Building a Text-based Adventure Game

Lesson 54 - Advanced Game Mechanics

Lesson 55 - Graphics in C++ with SFML

Lesson 56 - Advanced Graphics: Animation & Sound

Lesson 57 - Basic Networking with C++

Lesson 58 - Developing a Chat Application

Lesson 59 - Data Serialization and Deserialization

Lesson 60 - Exploring Databases with C++

Lesson 61 - Real-World Application: Building a Contact Book

Lesson 62 - Deep Dive: Binary Trees

Lesson 63 - Advanced Data Structures: Graphs

Lesson 64 - Sorting Algorithms: From Bubble to QuickSort

Lesson 65 - Search Algorithms: Binary Search & Beyond

Lesson 66 - Advanced OOP: Mixins and Traits

Lesson 67 - Metaprogramming in C++

Lesson 68 - Multithreading: Advanced Concepts

Lesson 69 - Secure Coding in C++

Lesson 70 - Exploring Libraries: Boost in C++

Lesson 71 - Cross-platform Development Considerations

Lesson 72 - GUI Programming with Qt

Lesson 73 - Advanced GUI: Custom Widgets & Styling

Lesson 74 - System Programming with C++

Lesson 75 - Exploring Compiler Optimizations

Lesson 76 - Best Practices in C++ Development

Lesson 77 - The Journey to Modern C++ (C++20 & Beyond)

Lesson 78 - Exploring Concurrency & Parallelism

Lesson 79 - Building Web Applications with C++

Lesson 80 - Real-time Systems & Embedded C++

Lesson 81 - Robotics Programming in C++

Lesson 82 - Interfacing C++ with Other Languages

Lesson 83 - Unit Testing and Mocking in C++

Lesson 84 - Version Control with Git

Lesson 85 - Continuous Integration and Deployment (CI/CD)

Lesson 86 - Advanced Debugging Techniques

Lesson 87 - Performance Profiling and Analysis

Lesson 88 - Real-World C++ Project Walkthrough

Lesson 89 - C++ in Research and Scientific Computing

Lesson 90 - Graphics Programming: OpenGL with C++

Lesson 91 - Game Development: Advanced Techniques

Lesson 92 - AI and Machine Learning Basics in C++

Lesson 93 - C++ in the Enterprise: Scalability & Maintenance

Lesson 94 - Beyond C++: Exploring Other Languages

Lesson 95 - Career Paths & Opportunities with C++

Lesson 96 - Effective Collaboration & Team Dynamics

Lesson 97 - Review and Final Project Presentation

Lesson 98 - Exploring the Future of C++ & Computing

Lesson 99 - Celebration and Learning Reflections

Lesson 100 - Next Steps: Lifelong Learning & Exploration

About

Lesson plans I'm coming up with for my homeschooled children to learn CS fundamentals and C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published