Skip to content

Repository files navigation

🚀 Learning C++ & Computer Science

A structured learning journey in C++, Modern C++ Standards, Algorithms, and Data Structures — unifying the curricula of MIT 6.096, Stanford CS106B, Stanford CS106X, and Stanford CS106L.

C++17 Compiler Platform Progress


⚡ Quick Start & Repository Navigation

  • 📜 Complete 75-Lesson Syllabus: SYLLABUS.md — Step-by-step lesson breakdown (L01 to L75).
  • 🌐 Academic Guide & PDF Catalog: files/Master_Academic_Guide.md — MIT & Stanford lecture slides, assignments, and textbooks.
  • 📖 Theory Notes: Located inside each module's theory/ directory (e.g., 01_GettingStarted/theory/).
  • 💻 Executable Code Labs: Located inside each module's code/ directory with automated makefile compilation.

📊 Modules Map & Progress

# Module Name Lessons Academic Source Key Core Topics Module Hub Status
01 Getting Started L01 – L05 MIT L1 / CS106L L1 Anatomy, GCC compilation, formatting, cin & cout 🚀 01_GettingStarted/
02 Basic Syntax L06 – L22 MIT L2 / CS106L L2–3 Types, Uniform Init {}, IEEE float $\epsilon$, loops 🚀 02_BasicSyntax/
03 Subroutines L23 – L26 MIT L3 / CS106L L3–4 Functions, pass-by-ref (&, const &), header files 🚀 03_Subroutines/
04 Arrays & Strings L27 – L30 MIT L4 / CS106L L4–5 1D/2D arrays, array decay, C-strings, stringstream 🚀 04_ArraysStrings/
05 Recursion & Algorithms L31 – L38 CS106B / CS106X Recursion, Big-O, MergeSort, QuickSort, Backtracking 🚀 05_RecursionAlgorithms/
06 Pointers L39 – L46 MIT L5 / CS106L L3,11 Pointers, arithmetic, references, Const-Correctness 🚀 06_Pointers/
07 Classes L47 – L52 MIT L6 / CS106L L2,10 Structs vs Classes, encapsulation, Operator Overloading 🚀 07_Classes/
08 OOP & Polymorphism L53 – L58 MIT L7 / CS106L L10 Inheritance, dynamic dispatch, virtual, destructors 🚀 08_OOP/
09 Memory Management L59 – L63 MIT L8 / CS106L L13-15 Stack vs Heap, new/delete, RAII, Rule of 0/3/5, Move 🚀 09_MemoryManagement/
10 Data Structures L64 – L68 CS106B / CS106L Linked Lists, BST Trees, Custom Iterators, HashMaps 🚀 10_DataStructures/
11 File I/O & Streams L69 – L72 MIT L10 / CS106L L4 Stream states, Text (.txt) and Binary (.bin) Files 🚀 11_FileIO/
12 Advanced C++ & STL L73 – L75 MIT L9-10 / CS106L L5-9 Templates, STL Containers, Lambdas, Huffman & WikiRacer 🚀 12_AdvancedCPP/

📁 Repository Organization

LearningCpp/
├── 01_GettingStarted/          # L01–L05  (README.md, theory/, code/, exercise/)
├── 02_BasicSyntax/             # L06–L22  (README.md, theory/, code/, exercise/)
├── 03_Subroutines/              # L23–L26  (README.md, theory/, code/, exercise/)
├── 04_ArraysStrings/            # L27–L30  (README.md, theory/, code/, exercise/)
├── 05_RecursionAlgorithms/      # L31–L38  (README.md, theory/, code/, exercise/)
├── 06_Pointers/ ... 12_AdvancedCPP/
│
├── files/                       # Academic materials, lecture PDFs & course guides
│   ├── Master_Academic_Guide.md # 🌐 Complete course comparison & academic guide
│   ├── mit6096/                 # MIT 6.096 original materials (lectures, assignments)
│   ├── cs106b/                  # Stanford CS106B textbook, assignments & libraries
│   ├── cs106x/                  # Stanford CS106X handouts & capstone projects
│   └── cs106l/                  # Stanford CS106L modern C++ lecture PDFs & projects
│
├── SYLLABUS.md                   # Full 75-lesson syllabus map
├── RESOURCES.md                 # Academic handout catalog
└── makefile                     # Root build script

🛠️ How to Build & Run Code

Each module contains an independent makefile in its code/ subdirectory:

# 1. Navigate to the desired module's code directory
cd 01_GettingStarted/code

# 2. Compile all lessons in the module
make

# 3. Run the compiled executable
.\L01_HelloWorld.exe

📚 Essential Links & Resources


Maintained by MiniLux0 · 2026

About

A structured C++17 learning journey combining MIT 6.096 and Stanford CS106B/X/L. Covers fundamentals, algorithms, data structures, OOP, and modern C++ through 75 lessons with theory, code labs, and academic resources.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages