The author seems to concentrate on the link between computer science and software/development, but I do think that CS helps in a couple non-tech areas as well. The ones I can think off the top of my head are being able to break large problems down to their component processes, being able to foresee the effects manipulating those processes can have, and being able to effectively communicate with others (both technical and non-technical) about your work. Those characteristics and thought models aren't unique to CS, but play a key role in the science and engineering fields in general. A field that requires the application of mathematics and logic will tend to produce or attract people that value rational and procedural thought.
> The ones I can think off the top of my head are being able to break large problems down to their component processes, being able to foresee the effects manipulating those processes can have, and being able to effectively communicate with others (both technical and non-technical) about your work.
I have an education in CS, but I haven't actively developed software myself for quite a while. However, I've found that this particular point is very true. I find myself working with people, quite smart people, from very different educational backgrounds quite often. The ability to break a problem down the way that C.S. teaches is something that seems like magic to them. In at least two cases, I've been able to make some nice consulting fees simply walking people through this process which seems completely obvious to me.
On a higher level, I wonder how many regular old life problems, like deciding which car to purchase, or allocating employee resources, ones that seen absurdly obvious to people with a similar education/training background, completely stymie folks who haven't had this education. Experience with some of my friends who seem to habitually make absolutely terrible life decisions and one my few advisory consulting gigs tells me it's actually a bigger problem than most people thing.
Reducing a new problem to a special case of another, already solved problem is a wonderful skill. Not to mention that the analysis of algorithms can help you discern, at least conceptually, between best-case, average-case and worst-case outcomes to problems that aren't necessarily algorithmic, and react or plan appropriately.
Scanned until I stumbled upon this unsubstantiated tid-bit
For example the theory that learning Latin helps learn English turns out to be pretty much a myth.
I can only imagine that study was conducted by people who never learned even a little Latin, or were able to completely suppress their own experience for the sake of science.
EDIT: That is to say from my own experience, and pretty much all experiences I have discussed with others or read about, learning any other language really improves your technical grasp of your native language. Latin has its own peculiarities which make it a gateway to technical natural language understanding.
It was certainly my experience that learning Latin in high school helped me learn English better for all of the above reasons, plus so much of English is from French, a Romance language. Heck, just knowing a word is probably Anglo-Saxon in derivation because it's not Latinate has been useful.
While I think there are tons of areas computer science applies to, I think this article is a little ridiculous. It's main point is that people who study computer science know how to us Google for answers to computer problems.
This XKCD flowchart sums up a lot of what the article says are advantages to a computer science education.
Granted, CS students get really good at using Google and reading manuals and things because of the virtually endless supply of new libraries/plugins/APIs and other tools that are used.
I think it does, but only on a certain level - that is providing you with the basics on understanding and becoming more passionate with it.
Becoming proficient with computers, whether it is a hobby or a professional career is another thing which in all honesty, is not taught in the classrooms but learned in the real world.