A comprehensive and structured repository for mastering C and C++ programming and algorithmic problem-solving from scratch.
This repository serves as a personal, structured learning project designed to help individuals master C and C++ programming, along with essential algorithms and problem-solving techniques. It's organized into progressive levels, offering a clear path from fundamental concepts to more advanced topics. Whether you're a beginner taking your first steps in C/C++ or looking to solidify your understanding of algorithms, this collection of practical code examples and exercises provides a hands-on learning experience.
This project is structured into several key learning areas to guide you through different aspects of C and C++ programming:
- C++ Programming - Level 1: Dive into the fundamentals of C++ programming, covering basic syntax, data types, control structures, functions, and introductory object-oriented concepts.
- C++ Programming - Level 2: Advance your C++ skills with topics such as advanced OOP, pointers, memory management, templates, Standard Template Library (STL), and error handling.
- Algorithms & Problem-Solving - Level 1: Build a strong foundation in algorithms, exploring basic data structures, sorting algorithms, searching techniques, and introductory problem-solving strategies.
- Algorithms & Problem-Solving - Level 2: Tackle more complex algorithms and data structures, including graph algorithms, dynamic programming, advanced tree structures, and efficient problem-solving patterns.
- Help: Supplementary resources, tips, and additional materials to assist your learning journey.
This project focuses on core programming languages and does not rely on external frameworks or libraries.
To explore and run the code examples in this repository, you'll need a C/C++ compiler.
- A C/C++ compiler (e.g., GCC, Clang, Microsoft Visual C++).
- Recommended for Linux/macOS: GCC or Clang (often pre-installed or easily installable via package managers like
apt,brew). - Recommended for Windows: MinGW (for GCC) or Visual Studio with C++ workload.
- Recommended for Linux/macOS: GCC or Clang (often pre-installed or easily installable via package managers like
- Clone the repository
git clone https://github.com/Choubi-Mohammed/ProgrammingAdvicesPFT.git cd ProgrammingAdvicesPFT
Each code file (.c for C, .cpp for C++) is a standalone example or exercise. You can compile and run them using your C/C++ compiler.
-
Navigate to a specific lesson directory:
cd "Programming Using C++ - Level 1" # or cd "Algorithms & Problem-Solving Level 2"
-
Compile a C++ file (e.g.,
example.cpp):g++ example.cpp -o example
- For C++11/14/17/20 features, you might need to specify the standard:
g++ -std=c++17 example.cpp -o example
- For C++11/14/17/20 features, you might need to specify the standard:
-
Compile a C file (e.g.,
example.c):gcc example.c -o example
-
Run the compiled executable:
./example
ProgrammingAdvicesPFT/
├── Algorithms & Problem-Solving Level 1/ # Foundational algorithms and problem-solving
├── Algorithms & Problem-Solving Level 2/ # Advanced algorithms and problem-solving
├── Help/ # Supplementary learning materials and resources
├── Programming Using C++ - Level 1/ # Introductory C++ programming concepts
├── Programming Using C++ - Level 2/ # Advanced C++ programming concepts
└── README.md # Project overview and documentation
Contributions are welcome! If you have suggestions for new examples, improvements to existing code, or additional learning materials, feel free to open an issue or submit a pull request.
Please ensure your contributions adhere to the existing code style and structure within the relevant directories.
To contribute, simply clone the repository and ensure you have a C/C++ compiler installed. Each code file can be developed and tested independently.
This project is licensed under an unspecified license. Please add a LICENSE file for details.
- This project is inspired by the journey of learning C and C++ programming.
- Credit to various online resources and tutorials that inform programming best practices.
- 🐛 Issues: GitHub Issues
- 📧 For direct inquiries: Choubi-Mohammed
⭐ Star this repo if you find it helpful for your learning journey!
Made with ❤️ by Choubi-Mohammed