This is a myth. Computer science absolutely is about programming. The science that makes computers work is called physics.
There are theoretical parts of computer science, but it is fundamentally a practical subject. All of it is in service to programming. Type systems are about typing programs. Algorithms are implemented using programs. Data structures are for use in programs.
The very worst computer science lecturers are those that forget it is a practical subject and try to teach it like abstract mathematics, because they believe (whether they realise they believe it or not) that it is more prestigious to teach abstract concepts than practical concrete things.
It is the same in mathematics, where unfortunately there has developed a tradition since Bourbaki of trying to teach abstract notions as fundamental while concrete problem solving is left to the engineers. The result is that many engineers are much stronger mathematicians than many mathematically-trained students, and those students have to relearn the practical foundations of the subject before they can make progress at the graduate level. If they don't, they get stuck doing what looks like maths, but is actually just abstract roleplaying.
This might be just a semantic argument, but if you mean "programming" as in "configuring a machine to implement one or more algorithms" (which I would assert most people do when they use the term), computer science is emphatically not about programming, although programming is taught for much the same reason that artists learn how to use a pencil. Computing, as a discipline, predates the machine (although the machine justified the existence of a whole discipline for studying it because the force multiplier it represented made it worthwhile to dive deeply on the subject of algorithm development and execution, the nature of algorithms, the nature of computability, formal logics, etc... Before the machine, it was just a subset of mathematics).
This was a point repeatedly driven home in my undergraduate curriculum, and in fact, they made a point of having multiple classes where a computer was completely uninvolved.
Yeah, I'm more in this camp too. We did a lot of practical modules, things like OS development, databases and so on. So yeah, learning programming was the first couple months, then programming becomes the tool to express progress in knowledge depth.
It's probably fair to say that although we learned some history, we had the privilege of learning at a time the field was exploding. That history you learned, I lived and worked through that. It's somewhat surreal to realize that my career is your history class.
As mentioned above though, it'll vary a lot from one school to another.
There are theoretical parts of computer science, but it is fundamentally a practical subject. All of it is in service to programming. Type systems are about typing programs. Algorithms are implemented using programs. Data structures are for use in programs.
The very worst computer science lecturers are those that forget it is a practical subject and try to teach it like abstract mathematics, because they believe (whether they realise they believe it or not) that it is more prestigious to teach abstract concepts than practical concrete things.
It is the same in mathematics, where unfortunately there has developed a tradition since Bourbaki of trying to teach abstract notions as fundamental while concrete problem solving is left to the engineers. The result is that many engineers are much stronger mathematicians than many mathematically-trained students, and those students have to relearn the practical foundations of the subject before they can make progress at the graduate level. If they don't, they get stuck doing what looks like maths, but is actually just abstract roleplaying.