More Students Prefer Interdisciplinary to CS
prostoalex writes "With increased offshore outsourcing and continuing simplification of such tasks as writing a trivial application, Computer Science degrees are not as attractive for college students anymore, NYT finds. Students prefer interdisciplinary majors, where the programming skills are combined with solid scientific backgrounds in biotech, chemistry or business." From the article: "For students like Ms. Burge, expanding their expertise beyond computer programming is crucial to future job security as advances in the Internet and low-cost computers make it easier to shift some technology jobs to nations with well-educated engineers and lower wages, like India and China."
We are not alone in this. The problem is not so much that they are indian or chinese (although that does bring a whole host of issues of racism/reverse racism etc), but it is impossible to manage them remotely without spending so much effort on it that you might as well bring them over on an H1-B.
Combine that with the fact that it is impossible for a US corporation to enforce intellectual property rights in China and to a lesser degree India, and its hardly susprising that US corporations are favouring English speaking developers once again.
Comment removed based on user account deletion
CS isn't computer programming. CS is computer science.
When will people understand that Computer Science is not related to programming as the article says. In fact, I know a couple of great CompSci graduates who couldn't write a complex program even if their lives depended on it.
"It's so not programming," Ms. Burge said. "If I had to sit down and code all day, I never would have continued. This is not traditional computer science."
She's talking about code-monkeys, or Software Engineering at most. Computer science is related to research, finding new and more efficient ways of doing different tasks (new algorithms, data structures), and understanding the underlying concepts behind a computer program (programming paradigms, logic) and tools that can be applied (verification, simulation).
However I am more concernd (a reason that I am an ex-CS major too) that the university doesnt offer a single course in PERL, Python, Ruby, PHP, or any of the currently popular languages except Java, and some C as a side benefit from some classes. Don't give me BS about the basic concepts being all the preperation you need from any language.
Actually, this I subscribe to. Further, you can't cover all the languages in any depth that would be helpful. So you take a few languages that are widely used and have a good breadth of skills and you teach students the methods primarily, and how to learn a language secondary.
What I have a problem with is the single minded focus on mere software development concepts. With no head for how it interacts with the hardware, you get people creating buffer overflows without even realizing it. Teach a student how to learn and the basic concepts, then go over how a compiler works and how modern x86 machines process instructions.
They had compiler theory, but it wasn't a bachlor level course. I want that shit in the second year. Students need to know how their work affects the system.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
My friend couldn't find any job with CIS (Computer Information Systems) degree, so became a plumber. Pulls above $50,000. Gets splashed with shit and fecies every once in a while, but if you ever resurrected a broken database or went to a corporate strategy meeting, feels about the same.
I remember having a conversation with my father years ago about CS grads. He was a software engineer/programmer at a tech company in Cambridge, MA, and had gotten to the point in his career where he was responsible for lots of hiring decisions. Being in Cambridge, they basically had their pick of the Ph.Ds coming out of the CS program at MIT. Once I asked him what they did with newly-minted Ph.D.s in CS. He said, "Retrain them."
I was surprised by this, and so I asked him if he thought all those years of CS education were essentially useless. "Oh, no," he said. "They're worth their weight in gold. They'd spent years working through extremely abstruse problems, and they'd learned how to absorb massive amounts of information quickly. Basically, they knew how to learn anything. Those guys would know nothing about building actual, production-level software for delivery to a customer. But they'd learn that quickly, because the foundation was strong."
Now that I am a professor (of English, not CS), I find myself taking a similar view of university education. It's not the content, per se (though certainly, the content is important), but the habit of mind one acquires by being confronted with difficult problems and issues over and over. If you want to learn VB or SQL, buy a book. If you want to think differently--more deeply and with fewer jerks of the knee--about the world, about engineering, about literature, about art, go to a university and let it change you.
Of course, I am one of those who did pursue an interdisciplinary degree of sorts (I use computers to study literature, and I teach software design in an English department). But that is another story . . .