Find a university to explore its courses and reviews.
Systems-level programming in C covering memory management, pointers, file I/O, process management, and debugging techniques.
Mechanics of Programming is the class that separates the kids from the adults in CS. You learn C, makefiles, memory management, pointers, all the stuff that actually matters in systems. Its hard but Professor Kaminski is excellent and genuinely cares. This class prepared me more for my co-op than any other.
Tips for success
Learn to use gdb and valgrind. Read the man pages. Seriously read them.
Challenging but students rate it highly.