DEV Community

Cover image for c++
dolphine
dolphine

Posted on

c++

Days 1–7/∞:Learning C++: A Grounded Beginning
The first seven days weren’t about speed or volume.
They were about orientation.

Instead of rushing into advanced syntax or projects, this week focused on building a mental map: how C++ works, where it comes from, and how its fundamentals connect.

Here’s what the first week actually looked like.
Day 1 — Orientation
Day 1 began with a realization: everyone learns differently.
Rather than copying someone else’s roadmap, I committed to learning deliberately, documenting what I understand, what I don’t, and how concepts connect over time.
This wasn’t about finishing fast.
It was about starting honestly.

Day 2 — Active Recall & First Code
Day 2 centered on active recall — revisiting concepts without notes and letting the gaps reveal themselves.
I wrote my first C++ program and, more importantly, broke it down line by line:
Headers
Namespaces
main()
Streams
Return values
I also tested my understanding and scored 64% on a C++ introduction quiz — not perfect, but real. A baseline.

Day 3 — Compilation & Curiosity
Day 3 moved from writing code to running it properly.
I compiled C++ programs using g++, named executables manually, and ran them from the terminal. That alone changed how I think about programs.

Curiosity kicked in:
Preprocessors

include

iostream vs stdio
Macros
What actually happens before main() runs
This was the day I stopped copying code and started asking why.

Day 4 — Data Types & Memory Awareness
Day 4 focused on data types.
Instead of memorizing syntax, I explored how types are categorized:
Fundamental
Derived
User-defined
This introduced memory, representation, and constraints earlier than expected. Some of it didn’t fully land — and that was fine.
Not everything needs to be understood immediately.

Day 5 — Functions, endl, and void
Day 5 started with identifiers and ended somewhere else entirely.
A simple question — what is endl? — opened up:
Output buffering
Performance differences between endl and \n
Functions as actions
The purpose of void
Void functions
Void pointers
Intentional unused variables
Curiosity didn’t derail learning — it deepened it.

Day 6 — Context & Revision
Day 6 was revision, but with clarity.
Revisiting:
The history of programming
Early C++
Streams (cin / cout)
Preprocessors
Compilation
Executables
Saylor Academy’s structured material reduced rabbit holes and made learning feel more cohesive. Familiar ideas finally aligned.

Day 7 — Variables & Data Types (Starting with C)
Day 7 intentionally stepped back into C.
Starting with C definitions and rules stripped away abstractions and forced a deeper understanding of:
Variables as memory locations
Naming rules
Explicit data types
Precision and constraints
Only after grounding these ideas in C did the transition to C++ feel meaningful.

Week 1 Reflection
The first seven days weren’t flashy.
There were no frameworks, no shortcuts, no hacks.
What they built instead was:

  1. Context
  2. Discipline
  3. Curiosity
  4. Respect for fundamentals

This week wasn’t about writing impressive code.
It was about learning how to think in systems.
And that’s a foundation worth building on.
Days 1–7 complete.

GitHub repo
medium

Top comments (0)