It's not something you first learn on university it's something you develop way before that.
It's not something you first learn on university it's something you develop way before that.
I can pin-point some places where I did learn various aspects of abstract thinking. I learned it by reading. Books like "Gödel, Escher, Bach", books like "Structure and Interpretation of Computer Programs", or the Sequences by HN's 'Eliezer. I learned it by thinking about what I read, and also by starting hobby projects and thinking hard when doing them.
The universities, and maybe even bootcamps, may help a bit - but there's no learning of abstract thinking unless you yourself care.
As an example of its utility, I really like its description of formal systems which are a somewhat simplified version of context free grammars. There are many other concepts described in that book that give similar but more intuitive explanations of CS concepts that helped me understand them as part of "the bigger picture."
CODE: The Hidden Language of Computer Hardware and Software, which is mentioned on here a lot, was helpful for similar reasons.