65 advanced C++ problems building a complete Date & Time library from scratch — plus two real-world projects. Scale, endurance, and system-level thinking.
This is Course 8 in the Programming Foundations Roadmap by Dr. Mohammed Abu-Hadhoud.
Level 3 covered matrices, strings, and file handling.
Level 4 goes deeper — but with a focused twist.
All 65 problems are centered around a single domain:
Date & Time.
Not because dates are simple.
Because building a complete, reliable date system from scratch — function by function — is one of the most effective ways to train precision, edge-case thinking, and system design at scale.
At this level, experience is no longer optional — it defines you.
Core date logic built from the ground up: converting numbers to text, detecting leap years (including a one-line solution), calculating days/hours/minutes/seconds in a year or month, generating day names, month calendars, year calendars, finding days elapsed from the start of a year, deriving a date from a day order, adding days to a date, comparing dates, and calculating differences in days and age in days.
A dedicated group focused entirely on date incrementation — covering all edge cases across days, months, and years, including month boundaries, year rollovers, and leap year transitions.
Mirror of the increment group — decrementing dates correctly across all boundaries, with the same edge-case discipline applied in reverse.
Mixed date operations: combining increment, decrement, and comparison logic in more complex scenarios.
Higher-level operations: calculating vacation days, computing vacation return dates, checking if Date1 is after Date2, a unified date comparison function, detecting overlapping periods, calculating period length in days, checking if a date falls within a period, counting overlap days between two periods, validating dates, reading and printing date strings, and formatting dates.
The bank system from Projects 3 and 3.1 — extended with a full user management layer.
New Features:
- Role-based user permissions
- Login and access control
- User management screen
- Permission-based menu visibility
Each feature added without modifying the original system's core.
👉 (Separate repository — see Bank project series)
A standalone ATM simulation — a different system, built from scratch using the same clean architecture principles.
Features:
- Card-based login
- Balance inquiry
- Deposit and withdrawal
- PIN management
- Transaction handling
👉 (Separate repository)
- A complete, professional-grade Date & Time library built step by step
- Precision thinking for edge cases (month boundaries, leap years, year rollovers)
- Endurance across a 65-problem set without losing code quality
- Period and overlap logic used in real scheduling systems
- System-level project thinking applied to two different domains
- The habit of solving → reviewing → extracting patterns
| Language | C++ |
| IDE | Visual Studio |
| Paradigm | Structured Programming — Divide & Conquer |
| STL Used | vector, string, iomanip |
- ✅ 65 problems solved — all within the Date & Time domain
- ✅ 2 complete real-world projects built and deployed
- ✅ Part of Course 8 — Algorithms & Problem Solving – Level 4
- ✅ Roadmap progress: 8 of 13 courses in Stage One complete
Thank you to:
- Programming Advices Platform
- Dr. Mohammed Abu-Hadhoud
[ https://programmingadvices.com ]
For designing a course where 65 problems are not scattered exercises —
but a single, deliberate build toward something real.
Course 9 — Foundations Level 2
Networks, Internet, APIs, and how real software systems communicate.
The foundation keeps growing.