-
Day 1
What C is — and why it still matters
C is not just another language. It is the language that built Unix, Linux, Python, and the V8 engine that runs JavaScript. Understanding C means understanding what every other language is doing underneath.
-
Day 2
Types, variables, and memory — C is explicit about everything
In JavaScript you never think about memory. In C you must. Every variable has a fixed size in bytes, and you declare its type before using it. This is not a limitation — it is power.
-
Day 3
Operators, control flow, and the for loop
C's control flow looks almost identical to JavaScript — because JavaScript borrowed C's syntax. Once you know C control flow, you know the shape of a dozen languages.
-
Day 4
Functions — declarations, return types, and the call stack
C functions are strict: you declare the return type, every parameter's type, and there is no optional chaining or default arguments (until C23). What you get in return is clarity about what data flows where.
-
Day 5
Pointers — addresses, not values
Pointers are the feature that makes C unique among the languages in this course. Every other modern language hides memory addresses from you. C hands you the address and lets you do arithmetic on it. This is where real understanding begins.
-
Day 6
Arrays, strings, and pointer arithmetic
In C, an array name is a pointer to its first element. Strings are just arrays of characters ending with a null byte. This unification is elegant and powerful — and is the source of C's most famous security bugs.
-
Day 7
Structs — grouping data into named shapes
A struct is C's way of grouping related data into a single named type. It is the predecessor of objects in C++, Python classes, and JavaScript objects. Understanding structs is understanding where OOP came from.
-
Day 8
Dynamic memory — malloc, free, and the heap
Stack memory is automatic and fast but limited. The heap is where you allocate memory at runtime — as much as the OS will give you. malloc gives it; free gives it back. Forgetting to free is a memory leak. This is the tradeoff every garbage-collected language resolves automatically.
-
Day 9
File I/O, the C standard library, and where to go next
C's file I/O is the model that Python's open() and many other languages copy. On Day 9 you close the loop: you have now seen the machine from the metal up — types, memory, pointers, structs, the heap. Everything else in programming is built on this foundation.