Welcome to the Programming Advices Training Program, a comprehensive, step-by-step learning path designed to transform you into a proficient software developer. Whether you're starting with the basics or diving into advanced topics, this program provides a structured curriculum focused on C, C++, and C#, along with essential computer science concepts, algorithms, data structures, databases, and API development.
This README documents the contents of two repositories that host the first 25 courses of this training program. Each repository serves different phases of the learning path, taking you from foundational knowledge to advanced projects and full-stack development.
This repository covers the foundational courses focusing on C and C++ programming, object-oriented principles, and introductory algorithms.
This repository extends the learning path to more advanced topics, including C#, databases, full projects, and API development.
The following roadmap outlines the structure of the training program, which consists of foundational programming, advanced algorithms, and data structures in C and C++.
The Programming Advices Training Program is divided into two phases, each with multiple courses. Above is the detailed roadmap to guide your journey.
The roadmap above shows the complete learning path, including the courses covered in this repository. The program progresses from foundational programming to advanced algorithms and data structures, eventually branching into specialized topics such as C# and Databases.
This phase focuses on the fundamental concepts of programming, problem-solving, and object-oriented programming using C and C++.
- Foundations Level 1 (C): Basic programming concepts, loops, conditionals, and functions.
- Algorithms Level 1 (C): Sorting and searching algorithms.
- C++ Level 1: Introduction to Object-Oriented Programming (OOP) in C++.
- Advanced Solutions for Algorithms Level 1 (C++): Optimized problem-solving techniques.
- Algorithms Level 2 (C++): Dynamic programming and greedy algorithms.
- C++ Level 2: Advanced OOP concepts like polymorphism and inheritance.
- Algorithms Level 3 (C++): Recursion, backtracking, and combinatorial problems.
- Algorithms Level 4 (C++): Graph theory algorithms (DFS, BFS).
- Foundations Level 2 (C++): Best coding practices, code optimization.
- OOP Level 1 (C++): Deep dive into OOP with real-world examples.
- OOP Level 2 (C++): Advanced OOP patterns and software architecture.
- Data Structures Level 1 (C++): Arrays, linked lists, stacks, and queues.
- Algorithms Level 5 (C++): Complex algorithmic challenges for competitive programming.
This phase covers more advanced topics, focusing on C#, databases, and full project development, leading up to API development.
- C# Level 1: Basics of C#, object-oriented structures, and syntax.
- Database Level 1 - SQL: Introduction to SQL, CRUD operations, and relational databases.
- OOP in C#: Interfaces, generics, exception handling in C#.
- Database Project: Real-world database design, multi-table queries, and relationships.
- C# & Database: Integrating databases with C# applications.
- Full Project in C#: Building a complete C# desktop application with a database backend.
- C# Level 2: Advanced topics in C# like LINQ, async programming, and lambdas.
- Database Level 2 - T-SQL: Advanced SQL queries, stored procedures, and optimization.
- Data Structures Level 2 (C++): Advanced data structures (trees, graphs, hash maps).
- Algorithms Level 6 (C++): Real-world computational problems and graph algorithms.
- Windows Services (C#): Developing and deploying Windows services using C#.
- API Development (C#, ASP.NET): Building RESTful APIs with C#, handling HTTP requests and responses.
By completing the Programming Advices Training Program, you will gain expertise in the following areas:
- Programming Languages: C, C++, C#
- Object-Oriented Programming (OOP): Classes, inheritance, polymorphism, encapsulation, design patterns
- Algorithms: Sorting, searching, recursion, dynamic programming, graph algorithms
- Data Structures: Arrays, linked lists, stacks, queues, trees, graphs, hash maps
- Databases: SQL, T-SQL, relational databases, query optimization
- API Development: RESTful API design, C# with ASP.NET, security, and authentication
For any questions or further information, feel free to reach out: π§ ahmad.hirzallah.pro@gmail.com
This repository is licensed under the MIT License. See the LICENSE file for more details.