Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education Science

The Continuing American Decline in CS 727

abb_road writes "America's recent dismal showing in the ACM Programming finals may be more than just a bad year; a BusinessWeek article suggests that the loss is indicative of the US's continuing decline in producing computer scientists. Despite the Labor Dept's forecast of a 40% increase in 'computer/math scientist' jobs, planned CS enrollments have plummeted from 3.7% in 2000 to just 1.1% last year. Other countries, particularly China, India and Eastern Europe, are working hard to pick up the slack, with potentially serious long-term effects for the US economy. From the article: 'If our talent base weakens, our lead in technology, business, and economics will fade faster than any of us can imagine.'"
This discussion has been archived. No new comments can be posted.

The Continuing American Decline in CS

Comments Filter:
  • Academic Majors (Score:4, Informative)

    by dingDaShan ( 818817 ) on Tuesday April 25, 2006 @10:24AM (#15196375)
    As a student at a major university (the University of Michigan), I must say that our CS department is extremely lacking. Computer Science must be taken either in the form of Electrical Engineering and Computer Science (EECS) - where CS is combined with EE (lots of useless info) or through the School of Literature Science and Arts (LSA) where the CS program is more direct, but students are required to take the EECS classes. One of the biggest problems is the use of the most basic programming class as a 'weeder' class instead of an actual learning tool. The class is made excessively difficult to weed out students (even though the students may simply take more time that 2 weeks to get acclimated to programming). The problem might be with curricula.
  • by Anonymous Coward on Tuesday April 25, 2006 @10:29AM (#15196424)
    Computer Science is exactly that, Science.

    You don't go to school for 4 years if you want to go be a code monkey, just like you wouldn't get a Ph.D. in Chemistry if you were going to enter pharmacutical sales. A Computer Science degree allows for study in the area of new algorithms, new computing paradigms (grid, neural net, et al.), and other RESEARCH oriented goals.

    Computer Engineering on the other hand allows people to gain the skills needed to participate in industry, leading teams of developers and (hopefully) using methodologies taught in school.

    Code monkeys go to ITT Tech for 2 years, get a cert in Java or something, and then go on to be programmers. The reason it's easy to outsource programming is because almost anyone can do it for cheap. I'm not trying to undermine the responsibility of programmers in any way, but when you can get a guy for $10,000 a year who has a full fledged degree, vs Joe Nobody from ITT Tech, you're going to do it and save the big salaries for the managers (not PHBs, but smaller scale tech managers with degrees in software engineering).
  • by foreboy ( 879499 ) on Tuesday April 25, 2006 @10:33AM (#15196456)
    This is misguided. H1Bs arent the problem, and it is specious to suggest that they are. The quota for h1bs at its peak was less that 200,000 per year. This is a tiny drop in the bucket given the size of the IT industry in the US, and so small as to be insignificant with respect to your salary.

    In fact, had we *increased* the number of h1b's, we may have limitted the number of jobs being shipped offshore to places like India. In 2000 there was a shortage of good programmers - and a limit on h1bs, so the marketplace found a way. Although there are some exceptions, the vast majority of h1bs here stay here and become permanent residents and often American citizens, either way paying our taxes. A job that moves "offshore" has no such effect.

    What causes the decline in enrollment is the hype associated with both of these effects - in large part they are small in comparison to the size of the IT marketplace. And if you are a programmer, be rest assured, good programmers are hard to find no matter what country you look in.
  • by guitaristx ( 791223 ) on Tuesday April 25, 2006 @10:35AM (#15196486) Journal
    Hear, hear!

    I have also participated in the ACM programming contest (only got to regional competition, but it was fun). I had the unusual experience of having a programming-related job while I was still in college, and I can certainly confirm the parent's description of ACM programming contests being far from real-world earning-an-income coding. It's clear when you realize that an 8 to 5 desk job is much different than you remember from the contests in college, but it's really clear when you've already got a programming job and you go to an ACM programming contest.

    The really successful coders are the ones that can learn new APIs and languages over a weekend. They're the ones who can communicate with non-technical people. They're the ones who can write a design for an application that will take a team of twelve developers a year to implement. The ACM programming contest compares to real-life CS work in the same way that a lumberjack competition [kentuckylumberjack.com] proves a person's suitability for work in the logging industry. In both cases, the two sets of skills (contest vs. real life) overlap very little.
  • Re:job pressure (Score:3, Informative)

    by plopez ( 54068 ) on Tuesday April 25, 2006 @10:41AM (#15196545) Journal
    I would encourage you to find a niche. Someting hard to send over seas. In my case it is programming, databases and business process modeling for an Env. Engineering firm. If fact, you should take some project mgt. courses and business process modeling courses.

    Find a small to midsized company, show them how you can help them apply technology to solve problems. The technolgy, being 'buzz word compliant' is secondary, it just takes a little retraining. And college is all about retraining yourself, right?

    Also, if you were in the military you have at least a minimal security clearance. Even if you do not like it, you might want to look at a defense related company to start out. First jobs always suck. Just do it for a couple of years for the experience and then get out.

    my $.02
  • Bad Profs (Score:3, Informative)

    by Hellad ( 691810 ) on Tuesday April 25, 2006 @10:43AM (#15196570)
    Disclaimer:: this is purely anecodotal and from one univeristy...

    I was a computer science major for 3 years, but was always taking classes outside teh department "for fun". Half of my profs were non-native speakers which made difficult subjects even more difficult. For example, a friend of mine went an entire semester of assembly trying to figure out what the hell a regis was. The professor was simply referring to registers, but never bothered pronouncing the whole word.

    In computer architecture, the book came with a cd full of power point review slides. Because the prof couldn't converse in English, she just read the slides offered by the CD. OK, great. But when you don't get what the book is talking about, the review slides/therefore class notes are in the direct language of the book, and the professor can't converse in English-- you are screwed.

    My point isn't that CS profs have accents. My point is, Universities aren't hiring based on teaching skills and the students pay for it. I don't need fluent speakers, but I do need someone who can explain difficult concepts in understandable terms.
  • by jandrese ( 485 ) <kensama@vt.edu> on Tuesday April 25, 2006 @10:47AM (#15196601) Homepage Journal
    It's certainly never been "cool" to be a programmer, but for a while there it looked like that was the way to go to earn massive $$$. Dot Com crazyness was in full swing and many of the students who would normally get MBAs tried the CS route instead in the hopes of getting some of that fat venture capital and possibly ride the bubble.

    Those days are over (for now) and those students have gone back to pre-law or MBA courses. Also, the fact of the matter is that in a CS cirriculum (like engineering), you're going to work twice as long as your English/History/MBA friends who are always out partying and never seem to study. You'll be taking the "hard" math courses while they're learning how to draw graphs incorrectly in Economics. They'll have plenty of time for shmoozing with girls while you work on two projects until late in the night. When you graduate, they may very well make more money than you (or they'll end up broke and living with their parents, depending on how good their network is by the time they get out of college).

    On the other hand, you'll be creating something that will be useful to people. Those guys will often only manufacture bullshit for the rest of their life.
  • by 0xABADC0DA ( 867955 ) on Tuesday April 25, 2006 @11:09AM (#15196856)
    The *only* thing I leared from preparing and winning the regionals was dynamic programming. But I actually learned that in class.

    The problems are such that there are two skills involved in winning: 1) writing bug-free small programs and 2) understanding the wording of the problem. The first favors asian cultures which teach more by rote and are higher pressure and more exacting.

    I don't think that the internationals are translated into the team's native language, but if so that would definitely be a huge bonus for them. English is very vague but also very expressive (or at least how they write the problems is). Chinese for example is not, for instance you don't say 'have you eaten yet?' you say 'eat, no eat?' and you are supposed to understand from context what that means. So, if translated, the problems would really have to explain exactly what was meant instead of being close enough.

    I think the loss of Dr. Henry also had something to do with the showing this year. We'll all miss her, that knew her. =(
  • Re:Blah blah blah. (Score:2, Informative)

    by trutek ( 967641 ) on Tuesday April 25, 2006 @11:21AM (#15196980)
    spoken like a true professor. "those who can do, those who can not teach" I went to three differnt universities and found that every cs course i took was based on therory not experience. it does'nt take 4 to 6 years and 80 grand to learn problem solving, you either have it or you don't. i have been in the industy for over 10 years now and in the first week i found out what you don't know you can learn. i don't have a cs degree but somehow i figured out how to make invisability with a projector, usb cam, and a rendering program. i have been a consultant, sys admin, and consulting business owner. i'm good at what i do and i know plenty of great consultants w/o degrees. (a consultant is the person that does the major projects that you dumb ass can't figure out) and if a company is hiring and insists upon a degree then i say let them hire the monkey with letters behind his or her name.
  • Re:Recruit Them (Score:3, Informative)

    by bjorniac ( 836863 ) on Tuesday April 25, 2006 @11:34AM (#15197110)
    And then a lot of the nazi scientists came to avoid the Russians or trials for war crimes etc. Both the USSR and the USA got a lot of these scientists to work for them after the war sometimes in exchange for not asking questions about how their research had been focused before...
  • Re:Blah blah blah. (Score:2, Informative)

    by lbmouse ( 473316 ) on Tuesday April 25, 2006 @11:42AM (#15197196) Homepage
    Out of the last 9 programmers I've hired in the last two years, only two had CS degrees and we had to let them go. One is currently employed at Rally's Hamburgers (guess it was good that he learned how to solve a superset of problems in college). A CS degree doesn't necessarily prepare everyone to be useful. One of my best programmers barely got his GED.
  • Re:Blah blah blah. (Score:3, Informative)

    by nate nice ( 672391 ) on Tuesday April 25, 2006 @11:58AM (#15197347) Journal
    "Few people in a programming environment want to work with a computer scientist. Programmers want to work with other programmers. Performance is not much of an issue to the point that you need a CS to come up with algorithms that are new and unique to the problem. Programming primarily consists of things like inventory, payroll, scheduling, POS devices, and things like that. Sure there are some places for CS people where performance is pushing the envelope like CAD/CAM/games, but those are a small percentage of what is being programed on a daily basis."

    This is the most naive thing I've ever read I believe. For instance:

    "Programming primarily consists of things like inventory, payroll, scheduling, POS devices, and things like that."

    OK? This is all we need computer programming for. This is a tiny subset of programming and these types of jobs are best left to the amateurs (MIS).

    "Sure there are some places for CS people where performance is pushing the envelope like CAD/CAM/games, but those are a small percentage of what is being programed on a daily basis."

    I don't know, maybe high end Web development? These things are gett5ing pretty complex and the need to know about load balancing (our sites can get anywhere from 10 hits/min to peak at 1,000,000/min), database administration, database access (huge performance figure!), networks latency issues when contacting remote sources for content, etc and the general business logic in the software. Performance in critical in many of these things. There is a huge difference in a user having to wait 3 seconds and 6 seconds for a query. Missions of dollars in difference. This can be covered up with hardware, but any company that prefers to be successful will pay their knowledgeable employees to make it work with less. That's why I get paid. I replace machines.
  • Re:Good -- or not (Score:3, Informative)

    by fingusernames ( 695699 ) on Tuesday April 25, 2006 @12:12PM (#15197483) Homepage
    I assume that you aren't contracting as an employee of your own corporation. If so, you should be able to deduct education costs as a business expense, up to $5250 under an educational assistance plan. IRS publications 525 and 15B cover that.

    I also wonder whether you could take it as a deduction on your personal taxes. Have you spoken with an accountant? Pub 15B under Working Condition Benefits discusses deducting education expenses if they would be deductible by the employee as a business expense, and mentions specifically a test of whether "[t]he education maintains or improves skills needed in the job."

    Larry
  • Re:Good (Score:2, Informative)

    by webview ( 49052 ) on Tuesday April 25, 2006 @01:35PM (#15198278)
    A lot of people assume that you will maybe get a job for a couple years before you have to train your replacement in a third world country who will make $2 an hour.
    I agree with this, but also, that in terms of programming, as languages get more powerful, many developers realize that after age 35, you become too expensive and they can hire someone right out of school to do many of the things you do. That's not to say that this applies literally and a season developer doesn't bring many skills to the table that many companies need. Rather, there aren't enough jobs for super-experienced people.

    I have been in the field since the early 90's and as I look around the many offices I have been to, the overwhelming majority of 'computer people' are 30 and under. Granted some go into management, but that still doesn't bode well with engineering-types.
  • by Animats ( 122034 ) on Tuesday April 25, 2006 @02:18PM (#15198685) Homepage
    • Aeronautical engineering - the last civilian transport to be built in California, a Boeing 717, rolled out of the last factory last week. Of course there's NASA. Right.
    • Electrical engineering - all the volume manufacturing and most of the design is in China. Salaries are lower than 30 years ago, according to the IEEE.
    • Industrial engineering - as if manufacturing were a growth area in the US.
    • Mechanical engineering - in better shape than electrical.
    • Enviromental engineering - under the Bush Administration, who needs it?
    • Civil engineering - OK, if you like construction sites.
    • Petroleum engineering - all the work is in Outer Nowhere, or worse, a war zone.

    Of the two best young computer scientists I know, one is running a hedge fund and the other is working for a derivatives firm in New York. The young Stanford students I talk to are going into finance, law or bio.

  • by alienmole ( 15522 ) on Tuesday April 25, 2006 @02:21PM (#15198702)
    what CS problem that I might encounter in an upper-division CS course requires the use of Diff. Eq., Linear Algebra or Physics?

    To pick just one example, the Kalman Filter [wikipedia.org], which is used for everything from radar tracking to helicopter stabilization, relies on linear algebra. And physics gives an excellent background in learning to apply mathematical modeling techniques to real-world phenomena. One of the best (or at least most interesting) distributed version control systems out there, Darcs [abridgegame.org], was written by a physicist, in the Haskell programming language (the latter of course being based on the lambda calculus, another seemingly esoteric subject which is so fundamental that it really ought to be taught in high school). Darcs is based on a physically-inspired theory of patches [abridgegame.org].

    There's a problem here which was described by Paul Graham as "The Blub Paradox" (in Beating the Averages [paulgraham.com]). Graham writes "But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up." It's not easy to correctly assess that which you do not (yet) understand.

    The other side of the story is that you're totally right about coding being different from CS. The problem is that most HR/Business types don't know the difference.

    I agree, this is a big part of the problem. This comes from the fact that everything about computers, and particularly software, is so relatively new. As alluded to elsewhere in the thread, you don't get HR people trying to hire mathematicians or even economists for accounting positions - they know better than that. They just don't know better than that, yet, when it comes to programming, particularly in "IT". And this confusion affects academic curricula, too - universities want to satisfy the commercial demand with subjects they already teach, and academic computer scientists don't want to turn themselves into a Java instructors any more than they absolutely have to.

    It seems the best course of action is to expand software engineering programs to fill the void and make sure those are focused on turning out pratical, level-headed engineers who can solve a variety of problems but do not care to learn any more about math or physics than it takes to get an equation from a mathematician or physicist and implement it.

    I think that'd be a start. However, I also think we'll eventually find that the tentacles of software are so diverse that "software engineering" is too broad a subject, and we'll end up with a "software school" analog to "medical school" or "law school", where a wide variety of subjects are taught, including theory, engineering, and other topics. I notice CMU has a "School of Computer Science [cmu.edu] already, and Northeastern has a College of Computer and Information Science [neu.edu], but most other institutions still treat CS and related disciplines as a "department".

  • by happyemoticon ( 543015 ) on Tuesday April 25, 2006 @10:59PM (#15202137) Homepage

    Yep. I wouldn't have even considered transferring into the Engineering CS track.

    I was actually targetting myself at the L&S CS program. IIRC, there were like seven requirements for declaration: 65B, calculus physics, natural sciences Diff. Eq/Linear Algebra, Calculus, Discrete Math, and Circuits. They strongly wanted you to have 5 of them completed by the time you transferred. Circuits weren't offered at Foothill (but rather De Anza, which is not too far away). I had calculus and natural sciences squared away. Diff. Eq. was proving pretty hard. I hadn't yet taken linear algebra, physics, or discrete math. On top of that, I had to complete my breadth requirements. Normally they don't want you to do this if you're a CS major, but one of the conditions of my guaranteed transfer agreement was that I complete breadth prior to entry.

    The real kicker was the fact that my sixteen units of CS coursework wouldn't articulate and I'd have to take them over again. Apparently it was just a big political thing in Berkeley at the time: they wanted everything done from a very theoretical approach, they did everything in Scheme, and they were really difficult about giving other colleges course equivalency. Foothill's CS courses would've satisfied requirements at any other UC, but not UCB. None of the counselors brought this to my attention at the time, but then again, we all know that community college staff, counselors in particular, are utterly braindead.

    The upshot of it was that if I worked my butt off and taken a full load the entire time with very little room for extracurriculars or working, I could've transferred only to have to take a year and a half of remedial coursework that I anticipated would be unnecessarily tedious to separate the Big Geeks from the Little Geeks. This would've meant, in the long run, staying on for an extra semester or two in Berkeley, and accumulating another year's worth of debt.

    Anyway, I'm not really fishing for sympathy per se. Rather, despite my talents in the subject, the university made it unduly hard for me to get what I wanted, so I decided to major in English instead and program in my spare time. UCB set up red tape to discourage people from getting CS degrees, and it worked. Looking at the L&S site now, it seems like their requirements are less draconian. It's not regret I feel, really. I just feel like I was cheated.

  • by RalphTheWonderLlama ( 927434 ) on Wednesday April 26, 2006 @12:43AM (#15202536) Homepage
    I'm sorry, that's bullshit. If you take a solid CS major and you don't work your ass off, you can easily flunk out. Meanwhile you can still get a decent grade while not working your ass off in an English major for example, or Business, or MIS for that matter. What year are you? Let me know when you get to Combinatorial Algorithms, Diff EQ, Numerical Methods, a serious Data Structures and Compilers classes... you know, the ones with grad students in them.

    to the OP, LOL about the incorrect graphs in Econ, so true. I took Econ up to two senior level courses and they were all CAKE. I laugh thinking about how the other people had trouble with the math in those.
  • Re:Blah blah blah. (Score:1, Informative)

    by Anonymous Coward on Wednesday April 26, 2006 @01:34AM (#15202674)
    And that is what I get paid to do every day, automate multiple systems so that someone doesn't have to manually move (or transcribe) data from one system to another. I extract, reformat, import data automated every day. Load balancing, of course. It isn't rocket science or anything of similar scope.

    I also improve human vs. computer interations every day so that they take less time and/or reduce errors. I analyze the entire process (both human and computer combined) to determine the best course to pursue. I cover the middle ground between incomplete multi-million dollar vendor products often written by very well educated (but sometimes incompetent) CS grads who can't see the big picture to save themselves. Their MBA managers can see it even less clearly!

    And I do this all on an AA degree in electronics (and a CS dropout from the early 90s)!

    I don't routinely use any math above Algebra or Trig on a daily basis nor to any of my collegues. There is only so much that can be gotten from this math and sometimes the easiest method to maintain is the simplest. When performance has room to spare, the ability to maintain and extend the code is more important than a fancy trig or calculus formula or a few less lines of code.

    Those payroll, inventory, POS, and the like are well more than the majority of the work out there in the programming realm. Only your apparent arrogant narrow minded view of computer world seems to see it differently.

The one day you'd sell your soul for something, souls are a glut.

Working...