Skip to content

This repository serves as a comprehensive learning portfolio documenting my systematic progression through C++ programming concepts

Notifications You must be signed in to change notification settings

iftekharalamfahim/CppCodeForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

C++ Code Forge

A systematic approach to mastering C++ programming through structured learning, hands-on coding, and practical projects. This repository documents my complete journey from fundamentals to advanced concepts over 8 weeks.

About the Repository

This repository serves as a comprehensive learning portfolio documenting my systematic progression through C++ programming concepts. It's designed to provide:

  • Structured Learning Path: Each topic builds upon previous knowledge with clear progression
  • Practical Implementations: Every concept is reinforced through hands-on coding exercises
  • Comprehensive Documentation: Detailed notes and reflections on each learning milestone
  • Project Portfolio: Real-world applications showcasing acquired skills
  • Transparent Progress: Open documentation of learning journey and achievements

Whether you're a fellow learner, mentor, or potential collaborator, this repository demonstrates my commitment to mastering C++ through deliberate practice and continuous improvement.

Goals and Motivation

Learning Objectives

  • Master C++ Fundamentals: Build solid foundation in syntax, data structures, and control flow
  • Object-Oriented Expertise: Develop proficiency in classes, inheritance, and polymorphism
  • Modern C++ Proficiency: Learn contemporary features like smart pointers, STL, and lambda expressions
  • Problem-Solving Skills: Apply C++ knowledge to solve real-world programming challenges
  • Industry Readiness: Adopt best practices and coding standards used in professional development

Personal Motivation

My goal is to become a proficient C++ developer capable of building efficient, maintainable software systems. This structured 8-week approach ensures comprehensive coverage of essential concepts while building a portfolio that demonstrates practical application of learned skills.

Success Metrics

  • Complete all 19-20 core topics with practical implementations
  • Build 4+ meaningful projects demonstrating concept integration
  • Develop clean, well-documented code following industry standards
  • Create a learning resource that benefits the programming community

Overview

Duration: 8 weeks intensive study

Start Date: 2025-09-16

Goal: Build comprehensive C++ programming expertise

Approach: Topic-based learning with practical implementation

C++ Coding

Repository Structure

CppLearningJourney/
├── docs/
│   ├── notes/              # Learning notes and summaries
│   └── resources/          # Reference materials and guides
├── src/                    # Source code by topics
│   ├── 01-GettingStarted/
│   ├── 02-StructureOfCppProgram/
│   ├── 03-VariablesAndConstants/
│   ├── 04-ArraysAndVectors/
│   ├── 05-StatementsAndOperators/
│   ├── 06-ControllingProgramFlow/
│   ├── 07-CharactersAndStrings/
│   ├── 08-Functions/
│   ├── 09-PointersAndReferences/
│   ├── 10-OOPClassesAndObjects/
│   ├── 11-OperatorOverloading/
│   ├── 12-Inheritance/
│   ├── 13-Polymorphism/
│   ├── 14-SmartPointers/
│   ├── 15-ExceptionHandling/
│   ├── 16-IoAndStreams/
│   ├── 17-STL/
│   ├── 18-LambdaExpressions/
│   └── 19-Enumerations/
├── projects/               # Practical implementation projects
└── README.md
  • docs/notes/: Contains markdown files with summaries of concepts learned each day.
  • docs/resources/: Stores links to tutorials, articles, or cheatsheets I find helpful.
  • src/: Organized by topic, containing C++ code files (e.g., 01-GettingStarted.cpp).
  • projects/: Dedicated to larger, multi-file projects built to apply my skills.

Progress Dashboard

📅 Days Active: 18/60          🎯 Current Phase: Functions
💻 Code Examples: 21           🏆 Projects Completed: 0
📚 Concepts Mastered: 7/19    ⏱️ Current Week: 3

Progress Tracking

Topic Status Code Notes Completed
01 - Getting Started ✔️ code Notes 2025-09-16
02 - Structure of C++ Program ✔️ code Notes 2025-09-18
03 - Variables and Constants ✔️ code Notes 2025-09-21
04 - Arrays and Vectors ✔️ code Notes 2025-09-24
05 - Statements and Operators ✔️ code Notes 2025-09-27
06 - Controlling Program Flow ✔️ code Notes 2025-11-24
07 - Characters and Strings code Notes 2025-12-03
08 - Functions -- -- --
09 - Pointers and References -- -- --
10 - OOP - Classes and Objects -- -- --
11 - Operator Overloading -- -- --
12 - Inheritance -- -- --
13 - Polymorphism -- -- --
14 - Smart Pointers -- -- --
15 - Exception Handling -- -- --
16 - I/O and Streams -- -- --
17 - Standard Template Library -- -- --
18 - Lambda Expressions -- -- --
19 - Enumerations -- -- --
*the notes have been written with the help of AI

Weekly Learning Plan

Week Topics Covered Goals Deliverable
Week 1 01-03: Getting Started, Program Structure, Variables Set up environment, understand compilation, master basic syntax First working C++ programs
Week 2 04-06: Arrays, Operators, Control Flow Implement loops and conditionals, work with data structures Control flow demonstration programs
Week 3 07-08: Strings, Functions Master string manipulation and function design Text processing utility
Week 4 09: Pointers and References Understand memory management and pointer operations Dynamic data structure
Week 5 10-11: Classes, Operator Overloading Design custom classes with proper encapsulation Class-based project
Week 6 12-13: Inheritance, Polymorphism Implement inheritance hierarchies and virtual functions Object-oriented system
Week 7 14-15: Smart Pointers, Exceptions, I/O Modern memory management and error handling Production-ready application
Week 8 20-23: STL, Lambda, Enumerations Master advanced C++ features and best practices Comprehensive final project

Projects

Project Topics Applied Status Repository
-- -- -- --

Development Setup

Requirements:

  • C++ Compiler (GCC 9.0+ or Visual Studio 2019+)
  • CMake 3.16+
  • Code Editor (VS Code, CLion or Visual Studio)

Quick Start:

  1. Clone the repository:
git clone https://github.com/yourusername/CppLearningJourney.git
  1. Navigate to the project directory:
cd CppLearningJourney/src/01-GettingStarted
  1. Compile the code:
g++ -std=c++17 main.cpp -o GettingStarted
./program

How to Contribute

While this is primarily a personal learning project, I welcome feedback and suggestions! If you have ideas for improvement:

  • Open an Issue: For bugs, suggestions, or discussions
  • Submit Pull Requests: For code improvements or corrections
  • Be Constructive: Provide specific, actionable feedback
  • Stay Learning-Focused: Keep contributions aligned with educational goals
  • Learning Resources: Recommend additional books, tutorials, or practice problems
  • Reach out via GitHub Discussions or connect with me on X or LinkedIn.

GitHub commit activity Days Active Cpp

Thank you for visiting my C++ Learning Journey!

Feel free to explore, provide feedback, or follow my progress.

Developer Working CppCodeForge Banner

Last updated: 2025, December 03
Maintained by brainsect

About

This repository serves as a comprehensive learning portfolio documenting my systematic progression through C++ programming concepts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published