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.
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