What about operating systems, architecture, compilers, networking, and the like? I have seen people argue that computer science is the more theoretical side of things, but many university CS programs cover both systems and theory (or sometimes skew to one side).
Yes, my CS program of 40 years ago had 4 parts. Sorted by decreasing abstraction level:
Math, physics, statistics
Theoretical CS, the one in my original comment
OS, compilers, networking, computer vision, transmission codes
Computer languages and having to write actual programs, how transistors work up to logical gates, adders, CPUs and machine language
Of course the separations are not clear cut: we had relational algebra and SQL commands in the same course.