US College Students Still Aren't All That Interested In Computer Science
itwbennett (1594911) writes "Despite the hot job market and competitive salaries, the share of Computer Science degrees as a percentage of BA degrees has remained essentially unchanged since 1981, according to data from the National Center for Educational Statistics' Digest of Educational Statistics. If history is any indication, it will take a cultural phenomenon to shift the percentage higher: Blogger Phil Johnson point out that there were 'two distinct peaks, one in 1985 (4.4% of U.S. college degrees) and one in 2002 (4.42%). These would represent big increases for the classes entering school in 1981 and 1998 respectively. The former year corresponds to the beginning of computers coming into the home and the release of things like MS-DOS 1.0, all of which may have increased interest in programming. The latter year was during the dot com bubble, which, no doubt, also boosted interest.'"
Computer Science is not IT and at some time / schools not even coding, web site work and more.
I have tried to teach a handful of people how to program. Generally it either takes or it doesn't. Some people would lose their minds at how hard it can be to get some new library to compile and I think they could see that coming. The whole concept that a single wrong letter could mean the difference between success and 200 error messages just made them ask, "You do this all day?"
I don't think that it is that these people can't learn but it is simply something that is completely not part of their brain's make-up. Many people like things like writing reports where you are making a generalize persuasive argument which will be backed up with meeting and maybe even some time on a golf course; things that generally drive most programmers insane.
Let's be honest here, CS is not the easiest kind of degree you can get. And you also need to understand the crap you learn, sponge learning (soak up the crap, squeeze it out for the test, rinse with alcohol afterwards to get rid of the residue) doesn't cut it, this ain't law or business administration.
And since it ain't law or BA, it's also not the prestige and/or money that could possibly make it attractive. What's left is these people who study it because they WANT to. It's not where you go when you don't know what to study but your parents want you to go to the university, and neither is it what you study when money is your only reason why you want a degree. CS is what you study when you want to study CS.
And the number of people who're interested in computers, who have the mindset AND who have the required brains to make it doesn't change. Why should it?
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Well, given that CS degrees lately consist of having students reimplement all the sorting methods learned since the 1970s, I can certainly understand why CS degrees are less desirable. I know many college kids who took up CS classes, who thought they were going to learn to code, learn awesome things, and it turned out to have much less to do with computers, and much more to do with general math/logic.
my kid works like a dog. Christ, she works harder than I do. And her classmates are working even harder. 4 to 6 hours of homework a night isn't unheard of. It's fsckin' nuts.
But you're right about them not being dumb. Just about everyone in IT except a few rock stars at google is here on an H1-B. Why in God's good name would anyone go into computer science?
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Computer Science is not IT and at some time / schools not even coding, web site work and more.
Upon reading this comment, I suddenly understood why my university required me to take all those painful semesters of writing courses.
So learning abstract calculus for 3 semesters, linear algebra, analysis / topology is not going to give you coding ability.
I don't normally respond to ACs, but you have it so wrong, I couldn't resist.
Linear algebra quite possibly counts as the single most useful pure-math course I took as part of my CS degree - With statistics as a close second. And of course, I don't even mention boolean algebra because it counts as just too obvious (protip: fully parenthesize everything, because no, that line doesn't do what you meant, and I have to fix it after they can your ass).
No, HR doesn't understand that. HR doesn't understand a single goddamned word on your resume, so don't bother - Just make sure your cover letter mentions every buzzword in the job listing, and HR will pass you along to the actual hiring manager.
And he will appreciate the difference between someone who did a static webpage as their capstone project vs someone who can chat about the meaning of the various ways to measure the average of a set of values (free hint: mean/median/mode ain't even a weak start to that conversation).
Math isn't CS. But CS is math.
There is just no way to compete with 3rd world wages. If a job can't be offshored, it will be filled by a visa worker - unless the job requires a top secret clearance.
I am doing contract work for IBM. There are barely any Americans left. And IBM is doing everything they can to eliminate what few US jobs still exist.
I am amazed any Americans want to study CS.
All the big computer-related firms in the US (Microsoft, Apple, Google, Facebook, etc) are working VERY hard to end the limits on importing high-tech workers from abroad and several of them are currently involved in a court battle that includes the tactics they were using to suppress the wages and benefits of all the computer-related workers in the US (As the "big guys" in the industry, THEY set the "industry standards" for wages and benefits, so their collusion to rip-off thier own workers actually hurt ALL computer people in the US).
The Democrat party is full-on in support of the "immigration reform" these big businesses want (the Democrats currently control the White House and the Senate) and the so-called "Establishment" Republicans (the party bosses in D.C., many of their wealthy funders, the "money is EVERYTHING" people from the north-eastern region, and most of the long-time office holders) are also on-board for these "reforms" and are promising/threatening to do them late this year (the Republicans currently control the House) so, without regard to what the American people may or may not want, the "fix" is pretty-much in; sooner or later the wages of high-tech workers are going to plunge further downward. Government clearly DOES NOT WANT AMERICANS DOING HIGH-TECH WORK. This is a fact, no matter what they SAY. Government TAXES and REGULATES the things it wants to reduce. Government SUBSIDIZES and DE-REGULATES (removing limits is a form of de-regulation) the things it wants to increase.
Any young American who wants a career it's impossible to be fired from, with a good salary and benefits, and with an absurdly unrealistic retirement package that will never be reduced, should major in some nebulous "public policy" field and get a job in the federal government regulating all the people who were stupid enough to try to be productive citizens. You don't have to KNOW anything or have any experience doing anything productive to be well-paid stopping other people from being productive... AND you'll be swimming WITH the currents (doing what government wants)
And I find that a lack of understanding of mathematics and logic (this is college level mathematics for CS we're talking about, so rather basic in the grand scheme of things) quite heavily correlates with an inability to structure code in a logical and mathematically sound way. Funny how that works, right?
It's not that CS is less desirable and especially not less prestigious, it's that we had grossly inflated head counts in CS for a long time because degrees like software engineering didn't exist. Now that they do, the people who want to program and engineer code can go there, and they'll find that what they do is much more in line with what they expected to be doing. CS is reserved for a much more theoretical perspective, and I don't see that as making it the lesser discipline, quite the contrary in fact. It does however mean that a CS degree won't automatically net you a job at a big software company, since the skills learned in CS are at best parallel to what they require.
A good CS student will however be able to adapt quite easily and can even outperform a comparable SE student because of their better theoretical knowledge.
Try telling that to HR departments around the world. All too often I've seen jobs posted looking for LAN technicians saying they want you to have a Computer Science or related degree; a few of them pass on my resume when they see my degree is in Network Systems Administration (I'm not entirely sure if a person is doing it, because in these cases I get an email saying I don't meet the minimum requirement even though I meet ALL of their requirements listed, including their bonus/preferred requirements, just I don't have a CS degree, nor am I interested in getting one.)
Please don't take this as an argument against you, it's meant to argue against this chronic message that we see every month or so that everyone in the US needs to be a programmer. I agree that it takes a certain mindset to be a programmer, just like it takes a certain mindset to be a Fireman, or Soldier, or Doctor, or Plumber, etc... I'm not a programmer for a living for the same reason I'm not a graphics designer. Doing either of those things for a living requires the ability to remain in abstract thought for long periods of time, very much like an artist.
Honestly though, I don't see the big deal. If everyone in the US was a programmer we'd be naked and starve to death in short order. Our houses would burn down and our country would be invaded and taken over. The Allegory of the Artisan is very fitting here, and as with most things Socrates explains this dilemma very well.
A secondary issue is that the a large portion of the population does not want to work any more than necessary to survive. It's not laziness for most, this is a normal and rational way of thinking. I have food on the table and a roof is over my head, life is good. It's takes exceptions to move beyond that, thankfully we have always had those types of people to spare.
I agree with your points, and am more disagreeing with this latest "everyone needs to be a programmer" message. Society needs all kinds of people thinking all kinds of ways in order to function. I'm just fine with that.
If society really wanted to change things then there would be incentives to do so. Who does society compensate better, a Lawyer or a Lead Developer? Lead Graphic Artist or Politician? Technical writer or Paralegal? I could go on and on with that one all day, so will get to the point. People that are above average tend to try and get the most compensation for their abilities. If being a Lawyer has better compensation than being a Lead Developer, guess where most people will gravitate? Society does not want change, or at least executives in companies don't. If they did, they would be paying programmers with 6 years experience more money than their latest marketing "Rock Start" who just got his MBA. They don't! If you want to make the big bucks you go into the business side of the house, period.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
People SAY that CS is this big thing - but is it the real computer SCIENCE part - or do they mean code monkeys? CS was always meant to be much more theoretical than practical. About solving really hard problems in operating systems, efficient new kinds of hardware resource management, compilers, programming languages - not just writing the next web app.
I think computing is undergoing just as big a change now as it did when the .com era came for the first time in the last 90's. Programming is actually getting EASIER and more accessible to everyone. Heck, we've got game makers almost exclusively using engines off the shelf to make massively successful games - and most of them are barely programmers at all. They're script monkeys in Unity. Web companies are making online applications solely from java/ruby and other high-level script and database languages. None of these things require nor touch the difficult problem computer science traditionally focuses on. They're technology jobs - not science.
If I had to predict, the more traditional need of CS degrees are going to shrink and shrink as advances no longer require the bit-twiddling madness of the early years of computing. Hardware will easily have advanced so-as even the most inefficient algorithms for daily tasks will be just fine. No special knowledge needed. The small blobs of very high-perf code that will be needed will be done by small, very skilled CS majors (drivers, OS's, database cores, distributed memory systems, etc), but the majority of code/apps will be simply scripted/assembled together on top of these high-perf, highly-accessible API's. We already see it with abstractions like PhoneGap, Unity, etc.
I'm disinclined to have to disagree with whoever denies that you aren't incorrect.
There is a more obvious way of writing the above sentence, and it should be employed. Even though none of the words are terribly complicated, the whole cannot be understood at a glance.
The same goes for simpler things like operator precedence rules. Code should be understandable upon scanning it, unless it's black magic, heavily optimized code.
Network System Administration is a trade. Computer Science is an academic discipline. Those aren't related degrees or at least shouldn't be. A computer science undergrad degree I'd expect the person to be familiar with ideas from history / philosophy of science about the limits of positivism. I'd expect them to have taken theoretical math courses. I'd expect many of their programming courses to be in languages which teach them about computer languages not in practical computer languages. Languages like Oz are good for Computer Science while Network System Administration I'd want C, Java... In short I'd expect them to be prepped to go to grad school. On the other hand I'd have no expectations that they have any particular skills to a meaningful extent. Network System Administration I'd expect skills but not necessarily an education suited for academic work. Narrowly focused and more practical.
Now. Don't get me wrong 95% of employers want the Network System Administration degree not the computer science degree. But in the abstract they aren't equivalent at all.