Perhaps the C course is supposed to fill this role, but I'd vote for including a course in assembler/assembly. Not because many students would use it, but because it teaches how a CPU actually functions without abstraction. I've used it only once, and even for that, I was mainly transcribing from a textbook. But understanding assembly was key for me to solve many computing problems over my career.
In other programming activities, understanding computing at the assembly level enabled me to realize that the bug I was chasing was actually in a library or, god forbid, the compiler.