This is the simulator edition of the skill: every lab runs a cache you build yourself and grades counts of hits and misses, never wall-clock time, so the answers are exact and repeatable. Each lecture teaches one idea with small code examples and their output, then a graded lab extends the same simulator. You learn to predict the misses of an access pattern before you run it, to choose a data layout for a tick table, and to prove with numbers that a change removed misses.
Comfort with Python functions, lists and dictionaries is enough; no C or C++ is needed, because the machine is a simulator you write.