Algorithm proofs around complexity, efficiency, etc..
At least an introduction to the design of languages, parsers, and grammars
Algorithms and concepts in the design of different database designs (not how to use specific databases)
Fundamentals of operating systems and systems programming
Some crossover with computer systems engineering courses. You must know at a basic level how logic gates are implemented, how an ALU is built, and how these blocks are built up to construct a CPU
These are the actual fundamentals of CS and they change at glacial pace compared to languages and design patterns.