This document provides a detailed explanation of the repository's structure and organization.
Advanced-Programming/
├── assignments/ # Course assignments
│ ├── assignment-1/ # Fundamental C++ Concepts
│ ├── assignment-2/ # Recursion Implementation
│ ├── assignment-3/ # RSDL Library Development
│ ├── assignment-4/ # Restaurant Ordering Service
│ ├── assignment-5/ # C++ Operators
│ ├── assignment-6/ # Process Scheduling
│ ├── assignment-7/ # Taxi Service
│ └── assignment-8/ # Python Stack Implementation
│
├── exercises/ # Practice exercises
│ └── learncpp/ # LearnC++ exercises
│ ├── chapter_0/ # Introduction
│ ├── chapter_1/ # Basic Concepts
│ └── ... # Additional chapters
│
├── docs/ # Documentation
│ ├── templates/ # JSON templates
│ ├── resources/ # Learning resources
│ ├── SETUP.md # Setup guide
│ ├── CODING_STANDARDS.md # Coding standards
│ └── PROJECT_STRUCTURE.md # This file
│
├── tools/ # Development tools
│ └── vscode/ # VSCode configuration
│
├── .gitignore # Git ignore rules
├── LICENSE # MIT License
├── README.md # Main documentation
├── CONTRIBUTING.md # Contribution guidelines
└── CHANGELOG.md # Version history
Each assignment directory follows this structure:
assignment-X/
├── src/ # Source files
├── include/ # Header files
├── tests/ # Test files
├── docs/ # Assignment-specific documentation
├── Makefile # Build configuration
└── README.md # Assignment description
Each LearnC++ chapter follows this structure:
chapter_X/
├── exercises/ # Practice exercises
├── solutions/ # Exercise solutions
└── README.md # Chapter overview
The docs/ directory contains:
templates/: JSON templates and other template filesresources/: Additional learning resourcesSETUP.md: Detailed setup instructionsCODING_STANDARDS.md: Coding standards and best practicesPROJECT_STRUCTURE.md: This file
The tools/ directory contains:
vscode/: VSCode configuration filessettings.json: Editor settingslaunch.json: Debug configurationstasks.json: Build tasks
The repository uses Git for version control with the following conventions:
mainbranch: Stable, production-ready code- Feature branches: For new features and improvements
- Tags: For version releases
- C++ projects use Make for building
- Python projects use standard Python packaging
- Each assignment includes its own build configuration
- C++ tests use a testing framework (specified in each assignment)
- Python tests use pytest
- Test files are located in the
tests/directory of each project