Base CS from zero
Abstraction: free-recall review
Retrieval beats re-reading. For each prompt, say or write a full answer from memory before you open the model answer — the effort of recall is what makes the unit stick.
Reconstruct the unit’s spine from memory — interface vs implementation, what a method bundle and encapsulation give you, what a module boundary enforces, why namespacing matters, and why every non-trivial abstraction leaks — without looking back at the lessons.
- 01What is abstraction, and what are its two sides?
- 02What is a method, and what does encapsulation give you?
- 03What is a module, and what does its boundary actually enforce?
- 04What is namespacing, and why does a large program need it?
- 05What is a leaky abstraction, and why do all non-trivial abstractions leak?
- 06If abstractions leak, why is the practical lesson NOT to stop using them or stop learning the lower layers?
If you could reconstruct each answer from memory, you hold the unit’s spine: an abstraction is a fixed interface over a hidden, replaceable implementation; a method bundle plus encapsulation applies that to data and its operations; a module enforces a boundary so private state is untouchable and gives names a home through namespacing; and stacking layers manages complexity at the price of the leak — which is why you use the interface and still learn the layer underneath.