Operating systems and computer networking. There aren't that many fundamental problems in CS, and these two areas capture the problems as well as graceful and battle-tested solutions to them. 

Algorithms too but that one's a no-brainer.