Now that I'm learning computer science on my own I realize I enjoy it and have a knack for it. But when I was in school I was intimidated by it. Computer science was presented to me like something that required tons of complex math to do even the simplest thing. It also had a reputation as the smart people thing to do which scares off a lot of people, especially when they are young, not so confident and easy to scare off.
Even the article presents this sort of idea when it suggests that maybe the average student doesn't really have the aptitude for CS. Really? Do you really need to be smarter than average to code or even to code well? I think not.
Now most people here are smarter than average and most know how to code. It does seem like tech attracts smart people, but you don't have to be smart to know how to code. I think we can all admit that learning code doesn't require tons of intelligence. IT just takes a bit of patience and determination. Kinda like learning a language, or learning to dance you don't need a really high IQ to do it, just gotta apply yourself and be patient.
Maybe it does take alot of intelligence to program well. But really most projects don't really require you to write magnificent, perfect and complex code. A lot of it is not that hard.
I think tech just seems to attract smart people because of the stereotype that only smart people can do it. It's a bit of a feedback loop.
Computer Science was never presented for what it is, which is basically a skill you can learn just like carpentry or metal working or the many other skills which require you to apply a set of gained knowledge.
I also wish people would highlight the symbolic logic, and learning processes and steps aspect of programming, because that would get philosophy major types and also hands on trades types more interested in it.
At the same time, I think if I had gone into CS through traditional schooling, I probably would have been terrible at it and probably would have hated it. Learning it on my own by doing means I learn only what I need and get to apply it to projects I want to do and see a purpose in. That is very different from the classroom style learning. Also computer science is very procedural and steps oriented, it's the kind of thing you learn best by doing and not through lectures.
A classroom setting seems like the worst and most difficult way to learn programming, kinda like trying to learn how to dance by sitting in a room listening to someone lecture you about dance steps. The fact that anyone learns it this way is just a testament to how hard some of these students work.
So maybe the issue is that computer science is mislabeled as a science and put along-side career paths like maths, sciences, engineering, when really it would fit much better as a skilled trade and put alongside other trades like plumbing, or heavy equipment repair. Because really it's the same sort of thinking and skills that are being utilized. Computer science is nothing like science or math, it's more like a skilled trade. You learn to plug in code in a specific way in the right steps to create a result. That's like what a plumber does not what a scientist or a mathematician does.
I think you are failing to differentiate between computer science and programming. In my mind computer science is to programming as fluid dynamics is to plumbing. I know next to nothing about computer science, I don't think I've ever opened a computer science textbook or read a paper on computer science but I can program fairly well (at least I think so), in fact, almost all of the neat tricks I know seem to have something to do with statistics... not computer science. In the same way, I know absolutely nothing about fluid dynamics except that it is probably the study of how fluids behave but I can fix my shower and operate a hose and set up an drip line for irrigating crops.
From this point of view you might ask the reverse of the articles question. Why are so many people enrolled in computer science when it seems to be such a specialized subject that might not even be useful to the average programmer?
>I think you are failing to differentiate between computer science and programming. In my mind computer science is to programming as fluid dynamics is to plumbing.
Maybe but Im just following the articles lead in conflating the two - from the article:
>There’s ostensibly more demand for programmers than ever, yet CS degrees haven’t even recovered from their 2004 high.
The article seems to make the assumption (and I think the right one) that lots of people get computer science degrees to become programmers.
That's a good point. My mother never studied computer science or even went to university, but she learned to write basic programs (I'm guessing in uh, BASIC) in high school, and it carried over into her office work, which definitely wasn't theory heavy. She's totally lost with modern PCs and languages, but there's probably still a place for theory-agnostic "pipe-laying" roles like the one she had.
Even the article presents this sort of idea when it suggests that maybe the average student doesn't really have the aptitude for CS. Really? Do you really need to be smarter than average to code or even to code well? I think not.
Now most people here are smarter than average and most know how to code. It does seem like tech attracts smart people, but you don't have to be smart to know how to code. I think we can all admit that learning code doesn't require tons of intelligence. IT just takes a bit of patience and determination. Kinda like learning a language, or learning to dance you don't need a really high IQ to do it, just gotta apply yourself and be patient.
Maybe it does take alot of intelligence to program well. But really most projects don't really require you to write magnificent, perfect and complex code. A lot of it is not that hard.
I think tech just seems to attract smart people because of the stereotype that only smart people can do it. It's a bit of a feedback loop.
Computer Science was never presented for what it is, which is basically a skill you can learn just like carpentry or metal working or the many other skills which require you to apply a set of gained knowledge.
I also wish people would highlight the symbolic logic, and learning processes and steps aspect of programming, because that would get philosophy major types and also hands on trades types more interested in it.
At the same time, I think if I had gone into CS through traditional schooling, I probably would have been terrible at it and probably would have hated it. Learning it on my own by doing means I learn only what I need and get to apply it to projects I want to do and see a purpose in. That is very different from the classroom style learning. Also computer science is very procedural and steps oriented, it's the kind of thing you learn best by doing and not through lectures.
A classroom setting seems like the worst and most difficult way to learn programming, kinda like trying to learn how to dance by sitting in a room listening to someone lecture you about dance steps. The fact that anyone learns it this way is just a testament to how hard some of these students work.
So maybe the issue is that computer science is mislabeled as a science and put along-side career paths like maths, sciences, engineering, when really it would fit much better as a skilled trade and put alongside other trades like plumbing, or heavy equipment repair. Because really it's the same sort of thinking and skills that are being utilized. Computer science is nothing like science or math, it's more like a skilled trade. You learn to plug in code in a specific way in the right steps to create a result. That's like what a plumber does not what a scientist or a mathematician does.