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
There's still the entire population of India ready to take the jobs of western IT workers...
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.
I don't think that just because CS Degrees are in decline that it means there will be any less programmers on the field. Programming is context-oriented, and sure a CS degree can help a lot of people in programming, but at what cost?
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.
The closer a programmer is to context, the more likely they'll get it right the first time.
Not to say a CS degree isn't useful -- it is, obviously for the more hardcore programming and understanding of the bigger picture.
d. Taylor Singletary,
reality technician techra.el
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.
Seriously. We bemoan the state of education, but I'd have to say, having the foresight to NOT choose IT is pretty insightful and intelligent. Of course, I say that as someone who's in IT. I love the work, the actual act of maintaining systems, working on networks, servers or programming. I've been doing it for 8 years now, after studying English in college and I've always loved the work. But to be frankly honest, I haven't liked many of the actual jobs. The hours are often absurd. The demands on your time, especially your free time, are very high. And you are often put into riduculously high pressure situations by ineffectual and incompetent leadership. So it's sad, in a way. I love the work. I love working with other developers and learning and growing as a professional. But sometimes I honestly hate the actual jobs and the companies I work for. That's a hard thing to find out, so if college students are figuring that out before they find themselves 40lbs. or more overweight, with blood pressure, etc. then bully to them.
What I find surprising is the spike in Biological Science. Since that includes medical professions, is everyone attempting to capitalize on the aging baby boomer population?
I'm a big tall mofo.
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/
I switched from CS to joint CS/Maths (and I might just end up doing applied maths) because CS was becoming less and less computer science and more and more software engineering.
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
I think young people are afraid of the marked flux. They saw the internet buble burst when they were in their high-school age. Allot of IT people had no jobs. Perhaps they choose job security.
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
"...it is difficult to see how CS can match expected future demand for IT workers without raising women's participation at the undergraduate level."
Um, wouldn't it work to just get male enrollment levels back up to where they used to be? What logic is there in saying "Less men are signing up, so the solution is to get more women interested." WTF? I mean, it's not like they're soldiers and they're dying and once they're gone they need to be replaced with women.
And no points for making easy jokes like "But getting more women into CS will attract men to the field! LOLOMGBBQ!!!11"
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
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
Proper project structure, data structures, access methods, commenting, documentation, security mindedness, and release planning aren't something that just happen. They get screwed up enough by people trained to think that way. The only way I can describe most code I've seen from non-CS people is hackish and ugly. Sure, it may result in something that works properly the first time written, but asking for a single small change may well result in reimplementing the better chunk of it.
In my opinion, it's best to get a project lead that has sufficient skills to wrangle proper specifications out of the people who need the application. Then they can hand out portions to programmers who are good at writing clean code, and everybody wins.
If not now, when?
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.
I work as a BOFH at a university's CS department. We too are suffering from the overall decline in interest in the subject.
The problem is that the whole concept of CS is becoming increasing irrelevent as IT is such a diverse field. If you study chemistry, you graduate as a chemist, a mathematics graduate is also entitled to call himself a mathematician. But what about computer science? How many job ads have you seen that are calling for computer scientists? A degree that specialises in programming, networking etc would be far more valuable as the student would not be labelled a 'jack of all trades' which is exactly what we are turning out now.
Personally even though I don't have a degree I'm in a far better position with regards to my employment prospects than most of our graduates. My experience, together with a CCNA and MCSE (don't laugh, an MCSE backed up with experience is still valuable), puts me in greater stead than someone who has only studied a wide range of concepts and quite frankly, has mastered none of them.
All the employers we liase with talk about is a candidate's experience and not what pieces of paper they may possess. The job advertisements I now see reflect this too, very few seem to call for CS degrees and the ones that do only see it as a benefit, rather than a requirement of employment.
For all intensive porpoises your a bunch of rediculous loosers
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...
I've gone to four seperate colleges and found all of thier classes lacking. I first went to CCA, a commuity college in Aurora, CO, and then moved to Metro State College of Denver, CU in Boulder, and finilly Colorado School of Mines. Each school's CS department was not very apealling in terms of what I wished to learn. I am predominatley self educated in the first place I felt that it was unfiar that I couldn't just skip certian classes in which I already knew the critera. I finaly gave up college and just put together a decent resume and got my foot in the door working for one of the local defence contractors in InfoSec. I'm getting paid $20,000 more for my skillset than my freinds who have graduated and earned a degree (I'm getting $70,000). I feel that I'm underpaid for my skillset but I know that if I went to college and only learned what they were teaching that I would not be where I am today through self education. Honestly I would rather not goto college. I feel that college cannot teach me what I need to know. Until the day that they get better classes where I feel that I can be properly challenged then I have no intentions of returning.
KNEEL BEFORE ZOD!!
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.
> 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:
Yes, they may well better understand what is to BE coded, but most that I've seen are damn sure not qualified to actually DO the coding. Which is one reason we have all the crap software out there we have today.
Before you design for reuse, make sure to design it for use.
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
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.
Comp Sci is a diverse discipline. While it may be true that math plays a huge role in your specific type of work, it's a mistake to force that model on everyone. Large scale software engineering projects have very little to do with mathematics.
The tight collusion between math and CS only pertains to a limited domain of theoretical work. One can learn the math needs in just a few courses.
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.
Here at Penn State, we've got some other programs that are taking some of the students away from CS.
The biggest would be the up-and-coming Information Sciences and Technology program. IST is kind of a combination of the basics of CS with the basics of business. You can then branch into one of three options. The most CS-like option is Design & Development, where the focus is more on the software development process, and not so much on coding. There are also some classes that aim at more specific subjects, like network security and client-server applications.
Another popular program is the Management Information Systems program in the College of Business. It's a bit like the IST program, and even cross lists some of its classes in the IST department. I don't know a whole lot of the specifics about MIS, though. I'm in IST if you couldn't tell.
The problem was that CS people came out of school having tech skills, but that was about it. A software company would have CS people programming, but if executives or a client wanted to know exactly what they were doing, nobody was able to tell them. Management didn't know and the programmers weren't able to explain without going over everyone's head. Most companies now are looking for someone with tech skills they can use, but also with communications and business backgrounds to better fit in the enterprise.
With all the new graphic engines you can see in games such as Doom 3 and Half Life 2, no wonder freshmen are losing interest in old school Counterstrike ...
"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.
It's problem solving plain and simple. It makes you think. You learn a set of tools (equations, formulas, etc) and then given problems that you have to solve with these tools.
Any CS program I've seen also teaches the math that is directly related to CS. I at times thought the math sucked but I stuck with it, opened my mind and tried really hard and really learned a lot. Much of the calculus has helped in courses such as computer graphics.
My program has you take some elective math as well but they recently took one course out of it so now you are forced to take software engineering, which I think is a good trade off.
Also, since CS is either a science degree or engineering degree, it is often required by the university that you take a particular math and physics sequence.
In the end I had 33 credits of math and physics. That's a lot to be sure but I think it has helped me as a pure problem solver and analytical thinker. Maybe they just brain washed me though.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
You are an awful, awful man, indicative of the Patriarchy!
Your female-slave should divorce you, take your children away, slap you with some child and spousal support, and then return to college to get a degree in Women's Studies.
Calculus? If it weren't for calculus, people might have spent extra time looking for a better-than (n log n) general purpose sorting algorithm solely because it wasn't easy to show that (log (n!)) grows equally as (n log n) grows. And that is absurdly trivial using calculus.
Calculus? What if you need to make an application that keeps track of chess-style ratings? You'll have a much better understanding of what you're doing if you've learned calculus.
I'm reminded of kids in algebra I, asking "How are we going to use this?"
If you couldn't tolerate the math, you were in the wrong major anyway.
[i]"Computer Science is to programming as mechanical engineering is to operating a drill press"[/i]
;)
I've also heard this stated as, "Computers are to computer science what telescopes are to astronomy".
[i]Too many people think of a BS in Comp Sci as a degree in programming.[/i]
Too many colleges think they can throw a bunch of programming classes together and call it Computer Science.
Xerox PARC is gone. DEC SRL and DEC WRL are gone. HP Labs is dead. Interval Research is gone. Bell Labs is a shadow of what it once was. Sarnoff Labs doesn't do much. IBM Almaden is being dismantled. SGI is in tatters. Apple R&D is very limited. And DARPA is going to stop funding CS research.
Who's doing advanced work? Google and Microsoft seem to have the only big remaining CS research labs in the US.
Well part of the reason is CS graduates are telling kids not to go for the major. That's pure crap to be telling people that the number of jobs in the IT industry are going to keep going up. Yeah, they're going up and they're going overseas. I can't in good faith tell some kid to waste the next 4 years of his life in a major and when he gets out there will be either no job for him or a crappy one. I've been out of work over a year now. Mid-30's, 15 years of experience and *I* can't find work? What hope is for them coming out with NO experience? That's why there are fewer CS majors.
WTF does that mean? I don't care what field you're in, you start at the bottom doing mind-numbing work. Whether you go on to something creative or stay doing the same thing over nonstop is completely up to your talent, vision and persperation. If you can't see a way a CS grad could break out of anything beyond doing MS Office maintenance, that's a limitation on your vision -- not the field, not the industry.
Well, part of it really is the teaching, I have met many women in the past.
My last girlfriend definitely was strong at math, and math definitely was one of the technical subjects with a higher women percentage than other technical fields (although I would consider math more to be a philosophical field than technical).
But there are others who shy away. If the percentage of woman who cannot cope with math is really higher I dont know. But one thing I know for sure, women in their teens are much more influencable by media stereotypes than the average teen guy is. So if the media tells them math is hip they will enroll into math, and if they tell them eating shit is hip a high percentage of teen women will do it as well. That is the principle the whole fashion and music industry is built upon. Dont get me wrong, teenage men fall for stuff like that too, but not as easily as teenage girls.
So if we constantly have shows how unhip science is and you only become cool by being a total idiot, you dont have to wonder that the current situation is miserable.
But that does not have anything to do with CS student numbers going down generally. That is pretty normal if you constantly hammer into the people, that your job, you have to invest years for, and you have to open a students loan for, is moved to the third world if you are unwilling to work for third world wages (which you cannot due to your university credit, and the higher living costs). CS people were treated like shit by many CEOs in the past and as replacable dog food, so now they have the backslash of not getting enough CS people anymore in the near future and the 90s cyle will repeat again. (over here in german speaking countries we call that the Swine cycle, every tech field has to go through constantly)
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.
If you ask most people what "Computer Science is to programming as mechanical engineering is to operating a drill press" means, they might say "Well, it means that Computer Science doesn't teach you to be a masterful Programmer".
What it ACTUALLY means (or what it should mean, if most nascent Computer Scientists didn't misunderstand it) is:
All Computer Scientists are (trivially) Programmers, but not all Programmers are Computer Scientists.
Really, do you expect that anyone who claims to be anything more than a token Mechanical Engineer couldn't easily master the drill press, if he put his or her mind to it?
Or, perhaps more interestingly, if someone was incapable of mastering the drill press, could they really claim to call themselves a Mechanical Engineer? Really? The congnitive skills required to easily comprehend the forces acting upon and within mechanical structures apply directly to deftly and precisely handling a simple device such as a drill press. Long-term incompetence with such a device indicates that the individual should (probably) not call themselves a "Mechanical Engineer"...
An incapacity to deftly manipulate complex logic in the form of a program would (or should) make false any claim of Computer Scientist...
-- -pjk Perry Kundert perry@kundert.ca http://kundert.2y.net
It's not surprising. It's a repeating cycle in the computer professions. We are now near the end of the doom and gloom phase. CS enrollments drop, less new IT professionals enter the field. Salaries stabilize. IT spending goes up, shortage of IT workers drives salaries up. Freshmen read about high salaries in IT and flock to CS. HR depertments hire any warm body to fill IT positions, then wonder if being dead might be OK if the mortition did a good enough job.
The party phase lasts a year or two. With salaries about as high as they will get, companies resort to other benefits to get enough IT workers. Suit and tie required becomes just try to make sure the holes in your shorts don't show the naughty bits and wash your flip-flops occasionally. Have a manicure and a massage!
Then the bubble bursts again. Queue massive layoffs. The corpses and warm bodies wash out of the field again. The swollen ranks of CS majors graduate at just about the worst possable time. Freshmen hear about the out of work graduates and choose nearly any other major.
>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.
It is completely natural that far fewer people are studying computer science. The corporate jobs have gone overseas, and what they haven't offshored they've hired H1-Bs and L-1s for. An entire sector of employment has evaporated here in the U.S, just as it did with the steel industry, the garment industry, the automotive industry... And the kids can read the writing on the wall. Good for them! I hope they find something they can be successful in.
I remember when the mechanical engineering field collapsed, back in the nineties. Auto manufacturing had gone overseas and thanks to NAFTA, to Mexico and Canada, so there weren't many jobs available. On top of that, the defense industry in California dried up, putting hundreds of thousands of experienced engineers out on the street. At that time, Mech.E was being called "the new liberal art".
Computer science is going through that right now. The computer science major is now just like an art or physics major -- no prospects. The only people who'll study computer science nowadays are people who LIKE it, career notwithstanding.
Think about art majors, for example. They know they're not going to get a corporate job or make a lot of money. They know they're pretty much in for the whole "starving artist" thing, that they'll end up working some joe job to pay for their materials, and that the likelihood of their making it big is pretty minimal. They do it anyway, because they see majoring in art as an end in itself rather than a career path. If they hit something just right, they might make it big. Even if they don't, they'll probably be able to make a little money on the side here and there and supplement their income.
It's going to be exactly the same for computer science majors, with one (beneficial) difference: computer science majors will usually be able to find a computer-related job that pays their bills, and they MIGHT be able to score something in civil service or academia and even be successful.
This isn't that important. It's mostly going to be used by corporations to justify increased outsourcing, and by colleges to justify increased advertising and the pursuit of federal grants.
It's bullshit in other words, not in the sense that enrollment ISN'T dropping (it IS) but in the sense that they claim it matters (when it doesn't).
Farewell! It's been a fine buncha years!
Some schools are doing just that. I know that my own school works hand-in-hand with industry to develop projects so that they get free labor, and we get real world experience. That is just inside the classroom. The number of outside-the-classroom research projects being cooperatively done with industry and/or government is amazing.
And these aren't just programmers-for-hire projects, either. So far we have done an assessment of the compliance of a financial institution with federal regulations, a information system security engineering project where we designed a incident aggregation system, some digital forensics projects, and more.
I am also curious why you seem to lower internships as not having real, tangible consequences. On a long-term internship I had in my undergraduate work, I was placed in an engineering department and had to develop projects that went to production. In fact, I had to redesign products, design new products, acquire the parts, schedule time for assembly, call the machinists to get things in order, set up testing procedures for these projects, and decide if the final product was ready for shipping to real customers in which real money was exchanged. When things went wrong, I was called in to face the CEO and explain what happened, where we were, and how the problem was going to be fixed.
I never made anyone a cup of coffee, nor got the luxury of sitting there watching someone else do work while I played with equations. I was in the engineering department and was expected to be able to step up to the plate as the engineering staff was already short as it was. It is my hopes that most of the hiring individuals realize that not all internships are fluffy.
I think some of the "geniuses" might very well be in that pile of resumes that you go through. Hopefully, they are smart enough to be able to differentiate their real, tangible experience from the fluffy internships people assume when they see "intern."
*-*-*-*-*-*-*-*
"We are Linux. Resistance is measured in Ohms."
You must be joking.
Show me a coder that has led an OSS project, done the heavy lifting of "cat herding" and intimately knows how to get things done in the real world.
I'll take a person like that in a heartbeat over someone with an M.S. in whatever and no true experience / passion / body of work.
If there is something wrong in the computer field these days, it is too many people wanting a high paying salary without a true desire to learn, devotion or grasp of the basics in the technology field.
At a previous workplace, I once met a "security" administrator, that couldn't manage an OS install, of any OS. I am sure that kind of ignorance is replicated all over the industry by know-nothing people looking for bucks only.
Where I am working now, I have a developer in my group, just graduated from a top 5 engineering school with a C.S. degree. The first words out of his mouth, "I don't like to code, I want to do something else".... (holding down a dev position, mind you).
I was in a meeting recently where they pointed out that outsourced indian workers were 40% cheaper than real us-based employees. Still that is cited as a reason to outsource.
However that's not a huge difference to bridge. I'm also not sure that this included the more hidden costs such as lost productivity because of time-zone differences, and language barrier issues.
Outsourcing isn't a panacea to everyone's problems, hopefully we figure that out before everything crashes in india too.
As one member of my management put it "India has alsost a 24hr time difference from here, so we'll have people working round the clock"
If you feel that CS == programming, then yes I suppose you're right. But as many others have pointed out that is not always the case. I went to a Univ. of California school which didn't have any sort of "IT" degree. I was a CS major. I have now been in IT for 7 years and by IT I mean Information Technology, not programming or software engineering. (When I say IT I think of the IT organization in a business, not programming.) I have been a unix admin and now a network engineer (routers and switches). I haven't had to use Calculus ever. The linear algebra came in handy, as did the upper-level math, statistics, and other things, but after I finished my last physics class (and damn if I shouldn't have done chem/bio instead) I didn't do calc again.
I understand why it's part of the program, but I also suggest that not everyone will end up needing it. A lot of people took the networking elective classes that I did, but there was a lot of stuff in there that I know they don't use in their network programming or other things that I use every day.
I just wish I hadn't had to take 5+ quarters of Calc....
"Where quality is like a dead stinking rat - you just can't miss it."
Do you know what made me go on to do ME and EE as an undergrad, and CS and EE as a grad? (and no, I don't sleep. Sleep is for after degrees)
Long, boring account:
I have a strong background in studio art and interpreting literature. I also happened to be good with people. My father looked at me and said, "Okay. You're good with people, you like to write, and you're creative. Now, get good at math." He showed me how I could still keep my love of art and yet get into a field where I could have a real impact. He waited until late in college to really push the matter, but in hindsight he had been making sure I kept up in all areas since day one, even having me learn things like multiplication tables a year before my school would expect me to. I was never particularly great at math, though, because I had no real interest in it. Frankly, it is because reasons for being interested in it hadn't been planted in my head, as school rarely gave insight into the application of the base concepts I was learning, just that I should memorize them because one day in the distant future, for some unknown reason, it would be important. It wasn't until someone sat down and showed me, "Hey look what you can do with Laplace Transforms, differentiation, and Fourier series" that I thought, wow, this stuff is really useful.
So, with the encouragement of my parents and my boyfriend, I took my creativity and skills with customers to engineering, whose primary enrollees sadly seem to lack in both. (And, speaking with those who hire in industry, it seems that they agree.) So far job offers have not been a problem, and unlike the other cookie-cutter memorize-math engineers, I can actually design and engineer something creative and useful, and can market it. (You can tell the difference between the creative engineers, and those who can spit back rote learning in order to solve a problem. It's always a pleasure to be in a team setting with the former, but the latter are oftentimes just as well being replaced by Google and a good modeling/simulation program, although I am sure I will be modded down for saying that.) No, I am not a whiz at math, although now having relevance to go with the concepts has certainly improved my math skills to the point that they aren't too worse off from your average engineering student. What I don't know, I can look up.
It's not too late to grab those creative, "people-types":
So, the last time my university had little munchkins running around Ooooing and Aahhhing at all of the career displays, and all of the engineering profs navigated their way over to the math and science club folks, I showed up and grabbed the artists and pulled them over to the robots and lasers, and showed them exactly where they fit in engineering. Then I told them that while they could take a billion classes in middle and high school in their favorite subjects, and breeze through them because they were already so good at it (I find many high school art classes are behind the real talent in the classroom, and only offer those kids an hour to draw, not an hour to learn something), why not jump into Advanced Placement calculus, chemistry, physics, etc. courses and work their tails off learning that material so they would have that side to market, and then their creativity to solidify the deal? Learning differential equations doesn't make you any less of an artist, nor does having that piece of paper claiming you're educated about art on the wall make you any more saleable if you're not any good. (I found places for my art without a single person asking for my art degree. That is not to say that I am a good artist, though, as I am admittedly quite mediocre, as many in the industry are.)
Now, that isn't saying that people shouldn't go to college for Art or English majors, but if even a few jump ship (and lets face it, the arts or communications are what females are pointed toward from day one in many classrooms) and attract that component of which
*-*-*-*-*-*-*-*
"We are Linux. Resistance is measured in Ohms."
"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
I have a BS in computer science and am in currently getting my masters. I have worked in the industry for 9 years or so and I love it. I find that people don't seem to understand what working as a computer scientist means. They also don't understand the infinite variety of things you can work on. I have lead a varied life for a programmer I think. Everytime I think I have done it all something new comes along and I am interested again. They don't understand the amount of creativity that can be involved. In some cases art can be involved. In some ways I think that computer science is the ultimate mix of art and science, creativity and logic.
If people really do feel that a shortage of computer scientists, electical engineers, and information technology folks is coming, they should do something about it! I feel that schools don't offer nearly enough grants for these areas. I also feel that years of success in industry have drained away many of the good teachers.
People who work in these fields need to try to spread the word about just what is that we do. I know folks who make software for video phones, rc cars, navy ships, stock traders, and massive computer clusters. There are so many things that you can do in this field. Many of them help people (like medical products) are innovative (music/video players), artistic (video games/web sites), etc.
I think if people really understood what is done in these fields more would be interested in it.
As for salary...I know quite a few software and hardware engineers and they all seem to be doing pretty well. CS is like any other field where you have to work hard to do well and move up.
-- soldack