> I think in many ways this is the exception not the rule. Many students certainly go through their CS degree without thinking this way, and some of these students go on to get phenomenal jobs because they spent a lot of time programming.
Huh? Even if you didn't want to learn to think abstractly, you would still be enrolled in courses like "Data Structures" that force you to. Did you get a CS degree?
You're also making the assertion that you can code successfully without learning abstract thought. That's like saying you can paint a picture without knowing how to use a brush. Quite literally, you can't program without keeping an abstract model in your head of one form or another. Things like OOP helps make these abstractions tangible, but it is nevertheless, just your own vision of how 1s & 0s gotta fly around.
I think it's bad form to assert most students who complete a 4 year degree don't ever think at an abstract level. It's rather ridiculous from my vantage point (again, it's 4 years), but maybe your experience is different.
I'm confident you can get through an Algorithms and Data Structures course (which is the most difficult aka "weeder" course at most institutions) by memorizing a handful of sorting and search methods. You probably won't impress the Professor, but I'm sure you can pass.
OOP and other design patterns are also susceptible to memorization. I suspect that you're bringing this up because we have vastly different views of what difficult abstract thought is.
Here are two problems that I suspect are difficult to solve on programming experience alone.
1. How does Google display instant results (and recommendations) when you type into the search bar?
2. How would you build a Siri competitor, and what would be the biggest bottlenecks?
A problem that someone with minimal programming experience could probably solve would be.
1. How would you build me an inventory system which has an app, automated deploy, and unit tests?
2. Imagine you have only ever built Android apps with a NodeJS and Mongodb backend. How would you build an iOS app with a Python and MySQL backend?
Ok, you'll pass but how will you get through the advanced courses? I don't really understand the point you're making. If I combined these two statements together, I get "it's the exception to the rule because most grads just memorize enough to pass"
No, we don't have varying views of what abstract thought is (let's drop the "difficult" cause it's irrelevant). Your view is simply wrong because even your "how would you build an inventory system" takes a tangible (inventory system) and asks you to come up with a programming (abstraction layer above 1s & 0s) solution.
Some examples of not abstract thinking:
* Memorizing (good one you nailed it; bad that you insinuate most engineers coast through 4 years only learning to do this)
* Observation
* Memory-recall
Some examples of abstract thinking:
* Math
* Imagining something
* Philosophizing something
What you're referring to is abstract problem solving, which involves two things specifically for engineers: math & imagination.
You didn't answer the question. Do you have a CS degree? I don't think you know what you speak of, and I would not go around telling people "most CS grads just coast thru never abstract thinking." Your fictional split of programming VS abstract thinking I already proved is false with my painting analogy.
So again -- do you have a CS degree? What was your experience like? And if you don't, well, maybe you shouldn't be talking.
Huh? Even if you didn't want to learn to think abstractly, you would still be enrolled in courses like "Data Structures" that force you to. Did you get a CS degree?
You're also making the assertion that you can code successfully without learning abstract thought. That's like saying you can paint a picture without knowing how to use a brush. Quite literally, you can't program without keeping an abstract model in your head of one form or another. Things like OOP helps make these abstractions tangible, but it is nevertheless, just your own vision of how 1s & 0s gotta fly around.
I think it's bad form to assert most students who complete a 4 year degree don't ever think at an abstract level. It's rather ridiculous from my vantage point (again, it's 4 years), but maybe your experience is different.