This repository documents my learning journey through the Programming Advices Track by Dr. Mohammed Abu-Hadhoud.
Over the past months, I have completed the first four courses of the program, focusing on building strong fundamentals in programming, algorithms, and C++ development.
The goal of this repository is to showcase my problem-solving practice and coding progress while developing a solid foundation in computer science.
This course introduced the fundamental concepts every programmer must understand before writing code.
Topics covered:
• Basic programming concepts
• Computer hardware components
• How computers represent numbers
• Operating systems basics
• Number systems (Binary, Decimal, etc.)
This course helped build a strong theoretical foundation for the rest of the programming journey.
In this course, the focus was on developing problem-solving skills and learning how to think like a programmer.
Key learning points:
• Understanding algorithms and logic building
• Breaking problems into smaller steps
• Using flowcharts to design solutions
• Improving analytical thinking
During this course I solved 50 algorithmic problems that strengthened my logical thinking.
This course focused on translating algorithmic thinking into actual C++ code.
Main topics:
• C++ syntax and fundamentals
• Variables and data types
• Conditional statements
• Loops
• Functions
• Input and output operations
This stage marked the transition from algorithm design to real programming.
This course focused on implementing algorithms using clean and structured C++ code.
Highlights:
• Solved 50 programming problems
• Applied the Divide and Conquer problem-solving strategy
• Wrote organized code using functions and procedures only
• Practiced competitive programming using Codeforces
The main goal of this course was to build strong programming logic and clean coding habits.
This repository contains solutions for 50 programming problems, covering topics such as:
• Input / Output
• Conditional statements
• Loops
• Mathematical calculations
• Basic algorithms
• Logic building
Each problem is implemented using clean and simple C++ code.
• C++
• Algorithms & Problem Solving
• Flowcharts
• Basic Software Development Practices
Through this journey I developed:
• Strong problem-solving skills
• Structured thinking
• Clean coding practices
• Better understanding of algorithms
• Confidence in writing C++ programs
Learning programming is not always easy.
There were moments when problems seemed difficult, but persistence and breaking problems into smaller steps made them manageable.