outside of assembly, but as much as I love it, its usefulness is dropping every day...
I don't think that it's an accident so many good programmers got started in BASIC then graduated to 6502 assembly. There's something powerful in that combination. We can go it one better with Python, followed by assembly on an emulated simple processor. Follow that with writing a simple compiler targeting the same processor. (In Python, perhaps.)
C is nice, but I've seen too many C programmers who really just think of the compiler as magic and have no idea what is happening there. To produce top-notch CS people, you should get as close to the machine as assembly.