Interest in CS as a Major Drops
Dasein writes "The Computer Research Association says that the popularity of CS as a major among freshman has dropped in the last four years. Why is obvious to anybody working in the field. They conclude by saying 'With a fall in degree production looming, it is difficult to see how CS can match expected future demand for IT workers without raising women's participation at the undergraduate level.'"
All it proves is that number of Freshman interested in studying CS at UCLA is dropping.
Instead of admitting that the quality of their CS courses are dropping, these guys are trying to show a general trend.
This is not news for nerds! This only news for the clueless masses (R)(TM)
Nazi Pope Emblem
The University of Guelph (Southern Ontario, Canada) normally has 200 students entering its Bachelor of Computing (honors) program every year. This year the entrance class had 66 students. My own program at Guelph-Humber (degree/diploma in computing/telecom) has a nominal class size of 60, but we've not had a full class in the 3 years we've been running. According to my prof, the only University in Canada whose compsci department hasn't suffered is Waterloo's.
------- "From bored to fanboy in 3.8 asian girls" ----------
Most of the girls that try our program leave because they just don't like it. They don't like to write code. More power to them, let them find what they want to do. Most of the freshman going in have no idea how much work will be expected of them in their junior and senior years and when they get a taste of that, they quit for easier majors in the liberal arts, social sciences or business school. It's more a problem of laziness than anything else.
Click here or a puppy gets stomped!
They conclude by saying 'With a fall in degree production looming, it is difficult to see how CS can match expected future demand for IT workers without raising women's participation at the undergraduate level.'"
By raising the price, it's basic economics. So this is a good thing for all you CS grads out there.
Give me Classic Slashdot or give me death!
Besides, if there's a an employee shortage, salaries are more likely to stay high.
With the offshoring of certain types of work, I must wonder if the number of IT jobs in the U.S. is actually going to shrink---at least in relative numbers, rather than increase over then next decade. It'll all be interesting, I'm sure.
This is not my sandwich.
A "freshman" CS major is as reliable as a freshman "pre-med" major.
(Although in the first case, the designation is usually picked to land a high-paying internship, where the second designation is picked to get laid.)
Unless you're looking at people enrolled in 3xx and 4xx level courses, this article doesn't mean much.
TFSummary says that a drop in CS students will lead to a shortage of IT workers. Most CS students I know do not want to do IT. They want to code, either academically or commercially, but they do not want to do IT. IT is for IT majors (or Cisco/A+/MCSE certs), not for Computer Scientists
The previous sig has been removed due to
I don't know the stats but I would imagine that majors like Information Systems, MIS, BIS and similar ones to those would be syphoning off some of the computer science majors. Just because you want to work in IT doesn't mean you need Computer Science. Lets face it to work on internal tracking systems you hardly need to know complier design but some businss\IT integration classes may help. Many Universities now offer atleast one Info System type major and one CS type major. Combine the IS majors becoming more common with the perception that tech jobs are a bust now and its easy to see why CS enrollment is dropping.
Something that's been bothering me a lot throughout my career as a computer programmer is the attitude of the "leading luminaries" to the fundamentals of life for programmers (and engineers in general but most intensely for programmers) -- most specifically reproduction. People like to joke a lot about "nerds getting a date" but when you compare what Western society did to the reproductive rates of its engineers, particularly since the advent of the microprocessor, to the reproductive supports provided Asian engineers -- especially Indian engineers -- you can easily see why engineering is being exported to Asia.
A critical exemplar of these of those "leading luminaries" is someone with whose work most digerati are undoubtedly familiar:
George Gilder
What I see as George Gilder's primary failure is his inability to connect his work on "Men and Marriage" (aka "Sexual Suicide") with work regarding the high tech industry. The major result of this failure is his lack of credibility regarding outsourcing and guest worker visas for high technology.
Basically it boils down to this:
During Gilder's watch, what has been the cost of reproduction of a young American engineer vs the cost of reproduction of a young engineer from India?
My experience, working side-by-side with young H-1b visa employees during the latter part of the 1990s was that there is virtually no comparison:
While both a young engineering from India and a young engineer from the US must focus on his studies, career -- living like a virtual monk -- while working in the male-saturated ghettos that surround the engineering profession, only the Indian engineer has a social support network and the social status, frequently called "sexism" in the US (including arranged marriages), that provides him with a wife of similar background (crucial to reproduction in a larger sense) and the security to raise children within a marriage to such a wife.
Something Gilder should have done was figure out what a comparable marriage and family would actually cost a young US engineer.
Indeed, the reproductive costs, as well as resulting fertility rates and mating quality among US engineers are statistics that needs to be studied carefully if we are to come to any sort of understanding of the outsourcing phenomenon.
The strategy of encouraging women to go into programming makes sense from a few angles:
1) Corporations tend to discard programmers as they age. This means a woman, about the time her biological clock is kicking in, can exit to a second career as mother. This fits with lowering the cost of reproduction for programmers. Indeed, many Japanese companies have had a policy for sometime of encouraging young women, rather than young men, to enter software careers precisely because they are open about their "agism" in hiring programmers and saw this "second career as mother" as an honorable way of dealing with their employees who were programmers.
2) Since engineering is a male-saturated profession, it females entering the profession will have a lot less difficult time meeting a viable marriage partner of comparable background than will males entering such a male-ghetto.
3) Although many men "go gay" during stays in prison, and many may be cajoled into doing so during their stays in the male-saturated ghettos of western engineering, it really isn't a good way to run technological civilization to base either your penal system or your technology creation on "turning out" your most problematic _or_ your most valuable members.
4) Universities are increasingly female. Indeed, the University of Illinois, origin of the a lot of the key technologies going into computing, networking, the Internet and the web specifically, has gone from a male-saturated engineering school when I was working there to a much more female environment. Much of this can be attributed to the fact that young men simply are dropping out of society at a much greater rate but whatever the cause the fact
Seastead this.
. . . as a major among incoming freshmen has dropped. . .
Oh thank God. It's about bloody time.
I don't suppose this means that the colleges can once again start teaching computer science to those who are actually interested in the subject and leave the application and HTML "programming" training to the private trade schools where it belongs?
Or would that effect their bottom line?
KFG
That's just off the top of my head in a couple of minutes. I'm sure the reason the Computer Research Association found it "difficult to see" these reasons are that none of them are in the Computer Research Association's financial interest to promote as alternatives.
Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)
http://www.lawrenceperson.com/
There's plenty of work for those of us already (or still) in IT... and plenty of competition as well.
Unlike many who saw the bursting of the ".COM bubble" as the arrival of apocalypse... I saw it as simply a time to separate the wheat from the chaff. Seems to me there were a lot of people who were in IT in 1999-2000 who had no business being there. I can't tell you how many times I heard fresh grads say "You mean I have to actually PROGRAM?!"
Not trying to knock anyone here, but if someone is trying to enter a field simply because they think there's money in it, they won't be there very long. Maybe that's what's going on here now.
Just my $0.02...
The problem with socialism is that they always run out of other people's money. - Margaret Thatcher
Outsourcing. Be available 24/7. When you're 40, get packing. Dealing with PHBs. Yes, it's a wonderful opportunity in a Walmart world.
. . . voila they've discovered something that the Math majors have taken for granted since 1600.
.the others are making a ton of money in the real world.
Except for the fact that they get it wrong. There should be no difference in the comp sci program and the math program for the first two years.
. .
And they're welcome to it, but they should still learn their math. It is the basis of engineering and compute-ers.
No, I'm not ensconced in the ivory tower. I've been out in the real world for decades, banging my head against the wall dealing with all the problems that "engineers" create with their "practical solutions," that ignore even the most basic of mathematical "theory."
KFG
Most people working in IT probably won't benefit from computer science degrees. Moreover, someone really interested in IT, should probably transfer to their university's school of business and, if possible, enroll in whatever their equivalent of an "Information Technology" degree is. Such programs usually have a number of IT classes, e.g. databases & networking (both with a much more applied slant then you would get in a typical CS class on the same topic), but also provide students with enough knowledge of business that they'll be able to more effectively interact with the high ups in the company when it comes to such things as policy making and infrastructure planning. Alternatively, there are also some two year programs that strictly focus on IT skills.
Why? Well any CS program worth its salt doesn't focus on teaching people how to admin Windows Server 2003, or Oracle administration. Rather, it focuses on teaching people about theories computation, algorithms, and, on the more applied side, best practices in software engineering. This kind of training will make some one a better programmer or software engineer, but it wouldn't necessarily be even that the relevant to the individual deciding which routers to buy or even the one installing set routers
<rant> Okay, so maybe I am little bit peeved when people ask me how to do such and such in Microsoft Word or Windows XP, and the looks they give me when I tell them I don't know. It's like they think it's so inexplicable that I don't know since some of the core classes for CS majors *must* be esoteric document formatting in Microsoft Word, and Windows XP - Why sometimes it can't connect to the network printer. </rant>
Comment removed based on user account deletion
Sometimes I feel that majors in the humanities, in communication, literature, critical thinking, psychology, philosophy, linguists, and financial planning are better qualified as developers, because they understand what is most often to be coded these days: interfaces to information, with the ability manipulate, display, and interact with said information. That information has context.
Yeah, right.
While psychology, lingustics and financial planning are serious subjects and teach skills useful to programmers, they don't teach programming.
Communication, literature, "critical thinking", and almost all philosophy courses are pure fluff.
Give me an engineering graduate - civil, mechanical, electrical, chemical; I don't really care - any day. At least they understand maths and have learned that there is such a thing as a wrong answer. The concept of a wrong answer is anathema to most humanities students.
I'm sooo glad my job doesn't involve hiring programmers anymore.
Now maybe the majority of CS majors will actually be people who like and think it's fun instead of people looking for a quick way to cash in. I used to know a ton of people who didn't know a thing about computers and they decided on CS as a major because they thought they could make big bucks. It's good to know this trend might be changing.
And all our yesterdays have lighted fools The way to dusty death. --Will
Too bad that's not going to happen. Why would women want to jump in a field whose skillset is on the export list?
Obviously if the conclusion is people aren't doing CS because there's no money in it (which I do think is a valid conclusion, judging by the falling engineering enrollment from my own former school as well), there's a bigger problem than gender disparity.
Want more women in tech? Quit teaching them as zygotes that math is nerdy and for boys. If you look around it's really all over, in kids shows, in those pre-teen girly detective shows etc. Always the strong female character who is "not good at math, but very good with people". I notice it a lot at least, I'm sure there's more to it.
Unlike liberal arts subjects, math and science build on each other from the very beginning. Start with a weak foundation and you won't build a very tall building.
My first year Intro to CS instructor put it this way:
"Computer Science is to programming as mechanical engineering is to operating a drill press"
Too many people think of a BS in Comp Sci as a degree in programming.
If a job's not worth doing, it's not worth doing right.
Hi there. I graduated with a degree in Comp. Sci. a couple of years ago. Like many other people, I started CS because I liked computers and I was pretty darn good with them. I participated in different computer clubs, learned how to program and do other fun things at an early age. Given that and the fact that IT provided stable and well-paid careers in the past, it was a no brainer! But had IT sucked in terms of pay, I would have never gotten into it to begin with. You heard me correctly. If I had to choose a major in 2002, Comp. Sci. would not be on my list.
See, I was poor all my life. I could not major in Liberal Arts or English because I had to support myself and think of supporting my parents and relatives in the future. I had to choose something that I liked and that paid good. This is a fucking no-brainer and I know that 90% of you would do the same thing. Would you study your ass off to find out that your jobs are moving to India and that you get shit for pay? I highly doubt that.
Comp. Sci. was a perfect major for me. I thought of going to a medical school, but my parents could not afford that. I thought of doing science, but then I saw what most of research specialist brought in terms of income and I said "fuck that." Business and Economics were okay; however, I did not like them as much as I liked Computer Science and that is why I majored in it. After four years of pain, I got out of college with no job, a butt load of loans and no chances to find a good job. It took me a while to find one and I went through a lot of pain to get where I am right now. Not everybody can do that.
Anybody with more than two brain cells saw that IT got fucking smashed and that it was harder to get jobs in the field. With that in mind, who wants to take a risk? How many people would like to study one of the hardest fields and then end up without a job and a load of student loans? It is not pretty; take my word for it. For some people it does not make sense to get into a field if they can't earn good money. This is just a rational thought because there are individuals, believe it or not, who want to be financially secure. Why would I pay to go to college if four years down the road I am going to be unemployed?
Of course, there are people who can afford doing what they like regardless of financial benefits. I know a person who pissed through four years of Ivy League education majoring in some useless crap that can't get a her a job that pays more than $25K/year. She can afford loving what she does for living (whenever she has a job) only because her daddy supports her. In theory, she does not even have to work to be well-off. For me, it was not an option. It was either boom or bust. I had to choose a discipline that satisfied three criteria: a stable career and income while being interesting at the same time. If a career did not fit any of those three parameters, I'd pass. Would not you?
I assume that Comp. Sci. can no longer fit people in my situation; hence we have a drop in enrollment.
I don't think it has as much to do with "communication" skills as it does with empathy, or the ability to appreciate the feelings of others and to respond appropriately. If you can't do that, you'll have a hard time in the dating game no matter how articulate you might be...
The best programmers for any job will be the ones who are experienced both in programming and in the domain. So if somebody is smart enough and willing to work hard enough to double-major, I encourage them to do some other field of interest as well as CS.
The best code is written by CS grads, it's true, but I'm not sure it's because of the CS degree. All of the best programmers I know were top-notch programmers before entering college. College gave them experience, and knowledge, but they had developed their craft from a young age, like any other artist.
Programming really is an art form when done properly, and good programmers rely on an aesthetic sense to avoid "hackish and ugly" code. So if the non-CS people are producing it, it may be because of the reason they avoided CS in the first place. It's the same reason I avoided majoring in art: I'm just not any good at it and didn't expect them to train me well enough to make it worth my time and theirs.
I'd like to see more CS majors at least minor in some other field of interest. There will be those who wish to do CS for its own sake, usually academic: HCI research, automata theory, networking, etc. But for CS majors who want to program computers for a living, and that's a majority of them, I think that they should learn something besides computers. Science, history, business, English: anything that will give them some idea of what it is that the people who are tasking them want.
If necessary, you hire one of those guys to be project lead, and hire cheaper, less experienced programmers to just bang out the code, but I think it all works better if the entire team can both code and develop a real understanding of the requirements, because the spec is never going to quite cut it. A programmer's job isn't to work with computers; otherwise we'd just write a spec-to-software compiler. The programmer's job is to interface between the computer and the client. That works best only when the programmer speaks both languages.
I love posts like the one by the original poster. They act like they were frickin' explorers who discovered the new world, only to be overtaken by all these dag-nabbed settlers and swindlers. Like they discovered IT or something. Sure, there are people in IT for the wrong reasons. For that matter there are people in nursing/law/medicine/politics, etc. etc. etc. for the wrong reasons. Why should IT be any different? Because some of us love the work? Come on. At the end of the day it is just work. You should love your life at home, your family, your hobbies, more than your work.
If you actually love the IT field as it's currently constructed, I would say you are clinically insane. The long hours, the insane demands, the poor management. I love programming, learning new things and generally working with computers. And I'm good at it. I like the work, but I don't like the actual jobs. And at the end of the day it's still a job, plain and simple. We all do it for money on some level.
Anyway posts like that OP always crack me up. Reminds me of that one South Park.
"Ther taking er jobs!"
Those guys are sociopaths. They have the ability to fake empathy, and use it for manipulative purposes. They often become politicians.
The real problem is that an undergraduate CS degree is a fairly useless thing to have on it's own. People need to realize that IT (fixing networks) is not the same as software development. And people also need to realize that being good at CS is not good enough for software development - you sould be good at CS, *AND* good at whatever you're developing hte software for.
Does your software model chemical reactions? Then you should be someone who is good at chemistry who can also write software. Does your software lay out gates? Then you should be an electrical engineer who can also write sfotware. Does your software do people's taxes? Then you should be an accountant who also can write software.
Do you make sure the routers, print servers, and various computers all talk and play togetehr nicely, and that people's computers don't get infected with viruses? Then you're a network tech, and a CS degree was a waste of time. (Or you're a waste of a CS degree.)
The thing is, MOST people don't need a CS degree to be someone who is good at something else AND can write software. Many already know how to write software by the time the get to college, and those that don't would better spend their time becoming an expert in the field they're going to be writig software in than being an expert in software writing.
Might their software not be quite as fast as software written by a CS expert? Maybe not. But it will still probablybe overall better, as the person doing the programming will have a much ebtter understanding of what the program should do.
Anyway, if you're an IT worker (routers, printers, and no viruses) and you saw this article about CS majors and posted something about your job, you should be modded -1 Offtopic. This article isn't about you.
paintball
my CS class at JMU '93 graduated with only 24 (out of over 2000 graduates per year). Being so small we were told of stories of how they used to have over 200 graduates in the CS program back in the 80s (the original micro-computer boom time, when computers were popular).
years later, by '98 (the second computer boom-time thanks to the 'net) the CS classes were back up to over 200 / year.
now, they're dropping again.
i would put it that the reason is that there's no major "popularity" in Computers right now. they're just there, rather than being full of new and interesting things. the two peaks of CS student-hood were at times when there were tons of new things to do and discover. related to that was the idea that if one was into it at the time, one could get a guarenteed high-paying job fresh out of school.
the valley i was in was at a time of staticness. DOS hadn't changed in 5 years, windows was unheard of, "IBM-compatibility" was taking over the world, the mac was too expensive to become a hacker box, and most people getting into CS had never heard of "unix" before (much less VMS or the AS/400s where the real work was still being done). at the time, nothing looked like it would change. many in my class got into CS from other degree programs (physics in my case) because we discovered we were decent programmers first once exposed to real hardware.
today we're in another valley. the 90s saw a ton of good stuff and a ton of junk get made in a very short time, but right now there's little being done that a high school grad could recognize and go "hey, that's something i could be doing in 5 years". yeah, there's lots of stuff in XML -- but would a high school kid really know what it was or how it was useful to them?
its kinda like getting into open-source programming: having an itch to scratch, a peek of curiosity. the peaks of CS student-counts happen at times when there's so much going on that's obvious to anyone outside of the industry, enough to get kids to go "i wonder how they did that?" and get into the degree program to find out.
the valleys like now or like the late 80s to early 90s happen when what is going on in the industry is really only of interest to those within the industry.
we're back into a gadget world (digital cameras, mp3 players), and gadgets are known for being "black boxes" outside the industry. contrast that to the early micro- world where everybody had "BASIC", or the internet world where anybody could hack together a page of html, gifs, and perl scripts. you can't look at an iPod and go "i could make my own" the way you could some trendy web page or early 6502 game.
so really the downtimes comes down to being in a time where you can't see what you would do with a CS degree, compared to other times where it seemed obvious what you could do with one.
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
That's the thing, fresh college grads expect to make the crazy money right out of college, but the market simply cannot support that concept. I'm going to graduate in 2 weeks and I have no expectations about making a job in my field (computer engineering) at the average starting salary for grads ($52k). I expect to enter into a ladder-style career. Yeah, I may get a crap job that I'm overqualified for, but I can get the experience the job gives me, then I can shoot for the moon and get the great job later after I've spent some time in the working world.
On a more grand scale, this phenomena is why the US is outsourcing and it's not even bound to college grads either. Teenagers these days want to make the easy cash or not even try and jobs go unfulfilled. Employers can't afford to pay the kind of money these people want so they find someone who will work for the money, enter foreigners that have a lower cost of living. There's just no honor in the afterschool McDonalds job anymore.
"Too many people think of a BS in Comp Sci as a degree in programming."
At most schools, as I have seen, this is in fact the case. Students partially get this view from the way the school has set up their programs.
For example, software developing classes are advanced CS and graduate courses, for example. So you have to take CS to get into these useful programming classes. The only place you learn serious programming (i.e. practical) is in CS classes. Programming is not well integrated into other courses (generally they focus on specific applications, a real danger IMO), or if it is, it's the 101 tutorial of how to use the base API. In other words, not enough to entice the would-be programmers and near-useless for people who have a specific field they want to focus on (ex. physics, economics, biotech, etc).
This sends the wrong message about computer science and programming in general, but schools pushed this trend and now they need to rethink it.
You must have not been paying attention when he said it's the grad students -- not "22-year-old[s] with a CS degree" that are the ones who are overqualified. If Master's or Doctorate degrees (which typically involve a major project that gives real programming experience) don't qualify you to do more than fix bugs, what does?
As someone with a Master's and someone with friends with Master's from different Universities I can safely say you are wrong. A Master's does not really add much to your qualification outside of the topic you did your research in. As for the project/thesis, it's a lot of work for school but not much compared to a job. Especially since it is generally a solo project. The real value of a job candidate with a Master's is that they have a greater pre-disposition to go research a complicated problem than just start writing code.
Also there are very good reasons to start recent grads doing maintenance. First, they generally have exaggerated opinions of themselves and their code quality is sometimes low ("big" fish in a small pond). Maintenance can help correct that, it can give them a broader perspective, exposure to larger scale projects, introduce them to the local coding and design standards, and possibly most important of all they learn the domain specific knowledge for the job. Once you have worked on a product/project you are better qualified to expand it or work on the next version.
In short, the University does not demonstrate you are qualified to do a job. It demonstrates that you are qualified to learn to do a job, that you are able to complete long and sometimes boring tasks.
In my experience, both with my undergraduate and graduate classmates, and with those I interviewed for programming positions, there are two types of CS grads. The first is the CS grad who got into the field because they have an inherent interest in programming. The second is the CS grad who got into it because they were told it was a good career path. The latter group is not necessarily bad. A lab partner once surprised me with poo poo'ing the idea of getting a MS CS, he said he would rather get an MBA. My naive reaction was oh god, the dark side. Now he went on to start his own software business, not a dot-bomb - a business that developed and sold an actual product, and he did quite well. He didn't need to be the best coder around, but having a decent technical background was invaluable for his business.
Unfortunately my former lab partner is the exception not the rule. When hiring I look for those with an inherent interest in coding. One metric is to ask what they did outside of class assignments. I don't care how goofy or stupid their homebrew project was, and getting them comfortable enough to tell me about it can be challenging, but the fact that they sat down in front of a computer on their own time and coded something that worked merely to satisy their own curiosity or desire is telling. The CS grad who can only tell me about his/her homework assignments goes to the bottom of the pile.
Another way to get off the bottom of the pile is to do some kind of internship or co-op job.
>socialization starts at birth (look at toys and
>types of play offered to infant males vs females
Amusingly enough a recent Scientific American article on gender differences mentioned an experiement dealing with the young and toys. They offered some baby monkeys/baboons their choice of various toys. The male babies preferred things like cars and balls that involved motion. The female babies preferred dolls. So maybe babies are given particular toys because that's what they like, not because that's what is being forced on them.
The article actually had a lot of other good material on the differences between the sexes. Apparently different areas of the brain take up proportionally different amounts of space in the two sexes (they use a ratio since women tend to be smaller). Since different parts are responsible for different functions, it makes sense this would lead to differences.
"While some men apparently would be happy to spend the next 40 years of their lives working on the next version of MS Office, I want to *do* something"
I find what you said really rude and uninformed. There are literaly thousands of different types of jobs in the world of computer science. There are many more if you add electical engineering and information technology. There are computer scientists who "do" something everyday. What about the programmers who wrote the code to work through the human genome? What about the programmers who right code to simulate the effects of drugs to reduce the use of lab animals? What about the code that helps scientists find the cure for cancer? Isn't this doing something?
My resume is an example of moving around in different parts of computer science. In 9 years I have written financial software, device drivers for networking and storage, advertising software, network management software for high performance computing clusters, and now I work on software for radio controlled devices. My friends work in lots of other areas. Open you mind and then maybe your eyes will see what is really out there.
-- soldack