Slashdot Mirror


CS Degrees Low in 2007 But Bouncing Back

An anonymous reader writes "The number of undergraduate computer science degrees awarded last year hit a new low with the Class of 2007. The degrees awarded, 8,000, as tracked by the Computing Research Association, is only half of what it was five years ago. In 2003-04 — the high point of this decade — 14,185 students were awarded bachelors degrees in computer science from the 170 PhD granting universities tracked by the CRA. That said, after a decade of severe declines, the number of students at top universities declaring themselves as computer science majors is finally seeing an increase. Though it's only a small increase, it's an increase nonetheless. Experts attribute the shift to changes in job market, and also to changes in curriculum and the marketing of comp sci programs."

33 of 265 comments (clear)

  1. Frankly.... by jawtheshark · · Score: 5, Insightful

    That's not exactly bad news.

    I started computer science in 1994, when the boom was not yet there. Most people then were passionate about computers, maths and programming. When I graduated, a friend of mine stayed as a PhD candidate. The classes enlistment had then quintupled compared to our class, and one thing was clear: those that were there, were not passionate about the subject. They were there because it promised a golden career. They had also really trouble getting people to actually pass the first year.

    So, I hope that computer science graduation is down because those that belong there are attending. Not those that just want to make big bucks because it's an "in profession".

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    1. Re:Frankly.... by blackcoot · · Score: 4, Insightful

      i think you're right.

      i graduated with my first c.s. degree during the peak 2003-2004 and i can tell you that about half the people that i graduated with have since burned out and moved on to new careers. i would estimate that an overwhelming majority of the people that i started out with thought that majoring in c.s. would help them earn lots of money. something like 80% of the people that started in c.s. at the same time i did switched majors because they realized that c.s. wasn't for them. about half the people that were left were people that realized, too late, that c.s. wasn't for them but they were so far down the road that switching majors wasn't an option. most of them ended up having to take the upper division theory classes a few times before barely earning a passing grade, and then got out as fast as they could. they were uniformly miserable.

      i stuck around to work on a m.s. in c.s. and i noticed a similar, although less severe pattern there --- again, about half the people that were in my grad foundation sequence classes (compilers, operating systems, algorithms, and a.i.) washed out before they managed to finish the sequence. an informal survey of people in my o/s class showed that about 60% of them were there for the money. just like undergrad, the people who washed out were miserable.

      by way of comparison, the people who survived to take the "fun" grad level classes (computer vision, intro robotics, image processing, etc.) were a lot more fun to be with and generally a lot more excited about what was going on. classes went from enrollments of 45-60 to 10-20, professors were markedly more relaxed, and i felt that, in general, i got a lot more out of those classes than i did anything else in my education.

      in the long term, i think that c.s., like most of the math / science / engineering disciplines, is extraordinarily demanding and unless it's something that a person really enjoys doing, i don't seem them surviving in a c.s. related career for very long.

    2. Re:Frankly.... by Anonymous Coward · · Score: 2, Insightful

      Where do you go to school? Perhaps you should have applied and gone somewhere that was a challenge to you. Certainly you wouldn't be saying this if you took Econ at Priceton, UC, Stanford, etc?

      True, more and more people are going on to college. But realistically, the same percentage are actually getting educated as always.

      You saying that the BS is the new high school diploma ignores the vast variability in WHERE that BS came from. That matters, a lot, whether we like to admit it or not. Your school may be one such that a BS is a high school diploma. So why are you at that school?

      what these courses cover is rediculously easy.

      I now see why...

    3. Re:Frankly.... by greg_barton · · Score: 3, Insightful

      Then I pay attention to what the professor is saying and realize that what these courses cover is rediculously easy.

      As ridiculously easy as using a spell checker?

      Usually I'm not quite so pedantic, but you were commenting on how dumbed down folks are, and I couldn't resist...
  2. It's the non-CS courses causing drops by katterjohn · · Score: 5, Insightful

    The programming courses are so simple, but you have to take courses like Calculus IV and Physics II.

    I'm doing fine in my math and science, but I'm betting not everybody is. I'm not quite sure why you need all of this excessive math and science (except when the Computer Science is in the School of Engineering--but not all colleges are like this).

    I've been programming for years--with code in many Open Source projects like Nmap, Metasploit and the Linux Kernel--but I did this without the courses at my college. Other people are probably realizing they can do the same and picking different majors to avoid the higher-level math and science.

    But, hey, I'm just a CS major bored in my classes.

    1. Re:It's the non-CS courses causing drops by Chandon+Seldon · · Score: 2, Insightful

      The programming courses are so simple, but you have to take courses like Calculus IV and Physics II.

      People drop out of CS programs because of programming courses too. The first thing that gets people is recursion. The next big thing is pointers. Some people just aren't prepared for those concepts, and it's too much for them.

      Sure, Calc takes out some students too, but in a good CS program the programming courses aren't "easy" for everyone either.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    2. Re:It's the non-CS courses causing drops by werdnam · · Score: 5, Insightful

      I'm not quite sure why you need all of this excessive math and science (except when the Computer Science is in the School of Engineering--but not all colleges are like this).

      Because it's computer science, i.e. the science of computing. A CS degree, for better or worse, is not a programming apprenticeship.

    3. Re:It's the non-CS courses causing drops by linguae · · Score: 2, Insightful

      I'm doing fine in my math and science, but I'm betting not everybody is. I'm not quite sure why you need all of this excessive math and science (except when the Computer Science is in the School of Engineering--but not all colleges are like this).

      As a 3rd year undergraduate computer science student, here is my best answer:

      1. Undergraduate education is about "well-roundedness." They want everybody to at least familiarize themselves with at least one topic in every major area of academia. Computer science students are required to do science courses for this reason, partly.
      2. Computer science is much more than just programming. Learning math and the other sciences exposes you to the reasoning and problem-solving skills that are also important in computer science, and also forces you to deal with the problem of learning a new area that you don't have much exposure or prior interest (something that will occur in graduate school or on the job).
      3. I can't say much about the sciences, but mathematics is heavily used in computer science, especially discrete math and combinatorics. Certain applications of computer science, such as computer graphics, use linear algebra and physics heavily. There are many interesting interdisciplinary fields that combine a science with the applications of computer science (e.g., bioinformatics). In my favorite area of computer science (information retrieval, which is also highly interdisciplinary), statistics is heavily used.

      An undergraduate education is about exposing you to new things in a wide range of disciplines, while providing a detailed (but not too narrow) view of your major. You might not like your physics courses (it's sad for me to say, but I didn't), but at least you were exposed to it, learned something from it, and lived to tell the tale XD. Specialization within your major is what graduate school and starting your career is for.

    4. Re:It's the non-CS courses causing drops by Applekid · · Score: 4, Insightful

      Saying CS grads don't need "excessive" math and science is sort of like saying doctors don't need "excessive" biology and chemistry. After all, doctors have dosing guidelines, medications approved to treat conditions are all indexed, and the labs do the blood/urine/other analysis and red flag measured traits out of bounds.

      Personally, I think the science needs to stay in Computer Science not because of what you're going to do today, but what you're going to do tomorrow. Higher maths and hard (as opposed to soft) sciences mercilessly teach problem solving and deduction, shake the foundations of any man foolish enough to ignore simplification, and demand understanding not so much of HOW things are done but WHY things are done in that way.

      I'm not saying someone without that experience can't code well, not at all. Some people are just naturally gifted at thinking through problems and algorithms and following the natural order of things. Others, plain and simple, struggle. Hard corequisites force the sort of muscle memory one needs to properly apply the science to the practice.

      I know I'd much prefer to drive an engineered car than one plodged together by a mechanic.

      --
      More Twoson than Cupertino
    5. Re:It's the non-CS courses causing drops by Digi-John · · Score: 2, Insightful

      I wish my uni. didn't start students out with Java for CS 1, 2, and 3. We didn't hit pointers until CS 4, and it was pretty tough for a lot of people. Learning them from the start would be nice. Luckily, as a Comp. Engineer, I've had several more classes in C and I'm currently writing C for my job, so I've figured it out since then, but I know quite a few CS/SE people who don't know what pointers are all about.

      --
      Klingon programs don't timeshare, they battle for supremacy.
    6. Re:It's the non-CS courses causing drops by COMON$ · · Score: 2, Insightful
      The need for excessive math and science that you mention will become clear when you bind it with a class like Numerical Analysis. The level of math involved in things like raytracing, encryption algorithms, and pathfinding are impressive. Hell, even in your Metasploit project there is an insane amount of math involved in making sure each exploit runs at an optimum efficiency. Studied big O'h notation yet?

      The programming classes should bore you out of your gord if algorithm analysis doesn't tickle your fancy though. CS doesn't teach you how to program, it teaches you how to think computationally. I am a sys admin now and I use my CS knowledge as much as any developer would or a hardware engineer would.

      That being said, back to your math comment, I would say that CS is probably a lot more about math than programming. Programming is just a tool to show how to use the computational Sciences work on mechanical devices today.

      And now for the obligatory quote that needs to be restated every time there is a CS article on /. "Computer Science is no more about computers than astronomy is about telescopes.-" E. W. Dijkstra

      Take that into consideration and enjoy your CS classes in a new light, if not, change colleges and go for a dev degree or an MIS, it might help you more (Honestly) than a CS degree will in your Professional career.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
  3. Completely agree by EmbeddedJanitor · · Score: 5, Insightful

    Do we really need quantity? I'd rather have quality. Ten fuckwits easily negate the positive impact of one good programmer/cs guy.

    --
    Engineering is the art of compromise.
    1. Re:Completely agree by blackcoot · · Score: 5, Insightful

      nitpicking, i know, but really what you've described are the virtues of a good software engineer, not so much a good computer scientist.

      i see software engineering as an answer to "build the solution" whereas computer science is more about answering "what is the solution". then again, i have a fairly old school "c.s. is a combination of applied applied math and applied discrete math" world view.

    2. Re:Completely agree by AuMatar · · Score: 2, Insightful

      If you want that, then get the CS programs the fuck out of the college of engineering and into the math college. I'm not going to insult pure CS, we need CS research and researchers and quite possibly the most useful courses I took at school were the theory ones. But CS is not, and should not be theory only- it needs to instill solid engineering methodology as well as the theory behind CS. I'm not talking the "Here's how to install a Cisco router" cert crap, I mean unit testing, code reviews, problem solving, etc. The fact is almost no one gets a degree in CS to become a researcher- they get it to become a programmer. That means theory and practice need to be taught.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    3. Re:Completely agree by AuMatar · · Score: 2, Insightful

      And in the vast majority of colleges, it isn't. Which means it isn't intended to be a pure theory degree. While it shouldn't be watered down with IT courses or API of the moment courses, it should teach solid engineering skills. Quite frankly even the researchers need that.

      --
      I still have more fans than freaks. WTF is wrong with you people?
  4. CS and the Game Of Life by Dystopian+Rebel · · Score: 5, Insightful

    For the majority of prospective students, a CS degree is no longer a smart choice in the game of life. Those who want long-term stability in a profession will likely choose another field.

    - you may have a high salary but when you divide it by how many hours you work, you could be making more money per hour and having fun doing something else

    - companies send the jobs to somewhere in the world where employees are cheap, executives who do the cutting get gigantic bonuses on top of gigantic salaries

    - companies talk about hiring "superstar" programmers when what they really need are good processes and tools to help people communicate and design good products; few organizations invest in people, many waste time trying to find Code Messiahs

    - hiring good managers is much more than just promoting "technical" people into management

    - open-source is cool and changing the way people think, but unless your a member of a certain kind of company, you'll need a day-job too (o:

    --
    Rich And Stupid is not so bad as Working For Rich And Stupid.
  5. Re:Computer Science in HS by $RANDOMLUSER · · Score: 4, Insightful

    Now you're just being rude. What you're saying is that future mathematicians should start out with number theory rather than addition. Let him learn his programming 101 in high school, and after he can successfully edit, compile, link and run "hello world" from memory, then we'll start in about DFAs and Lambda Calculus.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  6. Architects... by DarkDust · · Score: 5, Insightful

    I have no idea why we would need so many Computer Scientists... at least the company I work for needs developers, and writing good software is NOT what you learn at a university. That's not the focus of a university degree: the focus is to create scientiest or maybe managers, but not "workers". But you just can't run a business with 10 managers and 1 worker.

    I don't want to say a CS degrees is worthless, au contraire. But I think the focus should shift more to other means of computer education. Most companies don't need people who know all the math theory you can find in The Art Of Computer Programming, but people who can write solid code for the small everyday software development tasks that make up the majority of a software project. They must know their tools (softwares and APIs) and need to know the common mechanisms (e.g. what's a linked list and how does it work, what's a singleton pattern, etc. pp.). For most of this stuff you really don't need to study to understand them, IMHO :-) When you build a house you need one or a few architects but you need a lot more construction workers that actually implement the architect's vision. And I think in the software industry we don't have enough of these (trained) construction workers as the focus seems to be almost exclusivly on the architects.

    1. Re:Architects... by xenocide2 · · Score: 4, Insightful

      When you build a house you need one or a few architects but you need a lot more construction workers that actually implement the architect's vision. They're called compilers. Your metaphor is busted. Engineers come up with the plans, and then workers construct it. Within software, it's trivially possible to construct from a well done plan, but nearly impossible to find the right plan. A more appropriate metaphor might be found somewhere closer to engineering, like EE or ME. Where you have teams of people working, prototyping and constructing a final plan to pass off to some poor factory to implement. Sure, you have a Principal Engineer, ultimately responsible for the project, but it's not so clear that they alone design the plans.
      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    2. Re:Architects... by ClamIAm · · Score: 2, Insightful

      You know, I've never understood people like you. I always thought that the best type of education system is one that teaches people critical thinking skills. You, on the other hand, seem to think we should keep a small ruling class and train the other 90+% to know how to do a few specialized tasks.

      Unfortunately it seems your school of thought is dominating in the US right now...

  7. Re:Computer Science in HS by mevets · · Score: 2, Insightful

    I don't know if your new here, but usually "+1 Insightful" is how you indicate rudeness :)

  8. Re:Computer Science in HS by jawtheshark · · Score: 3, Insightful

    I'm not rude, but I have serious objections with calling "programming" the equivalent of "computer science". I had the sad experience of being a high school teacher and they called "computer science" (or at least the equivalent of that in my language) courses that covered Word, Excel and Access.

    Besides, programming is not computer science. Computer science can be learned entirely with pen and paper. Programming is going to be a tad harder to learn without actually trying what you wrote. (1,2,3....Cue in the guy who wrote programs in the fifties when computer time was extremely expensive.)

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
  9. FTA: Bill Gates by proc_tarry · · Score: 5, Insightful

    ...but the general enrollment trend is often cited as an argument for increasing the H-1B visa cap, which is used by skilled workers. Microsoft Chairman Bill Gates has cited declines in computer science enrollment as a reason for opening up the U.S. to more skilled workers and will likely make that argument when he appears March 12 before the U.S. House Science and Technology Committee.
    Pure Truthiness. Bilbo has it backwards. H1-B's are causing the decline in CS enrollment. Lifting the cap will cause further decline.

    He must still be bitten by the entire anti-trust fiasco, and now uses the gov't as his tool, after ignoring and being dumped on by it.
    1. Re:FTA: Bill Gates by Specter · · Score: 4, Insightful

      Based on my recent recruiting experiences I'd have to say that H1-B visa limits are _not_ responsible for the decline in enrollment. In fact, if anything, at most of the universities I visited students on an H1B or F1 visa are all you can find in the CS department.

      Most of them can't get hired after they graduate because companies are increasingly unwilling to sponsor visas, but it's sure not keeping them from coming to school here.

      If you're looking for the reason for the drop in enrollment you don't really have to look any farther than the .com boom. Notice that the peak of enrollment is just about 4 years off of the peak of the .com boom. I certainly saw a lot of students in that time period who thought that a CS degree was an easy way to get on the gravy train.

  10. Math, Bad Teachers, and Outdated Corriculum by DigitalisAkujin · · Score: 3, Insightful

    (This is gonna go all over the place but bear with me.)

    A big problem I see today is not a lack of students attempting to get into the industry but a lack of qualified teachers who know not only the topic but also how to convey the ideas and thinking required to push people to really understand what their being tought as opposed to simply studying for the test or doing the labs till they are done.

    The biggest problem I see myself at the University I attend (Temple University, Philadelphia) is that the math while pretty important in a CS degree is pretty much useless in an IS&T degree, yet we are still required to take Calculus, Statistics, and Logic. Because of this inconsistency we have a high abandonment percentage from CS to IS&T. Further compounding the problem is a lack of teachers who can actually teach well. Many of them can't even speak English well enough for the majority of students to understand. Now I'm an immigrant to the US myself (came from Ukraine when I was 6 yrs old), I speak fluent Russian, but if my teacher is teaching in English and he can't speak well enough he should not be teaching.

    An top of all of this, the technologies being tought resemble the tech industry in the late 90's, not the late 00's. Almost all of the faculty leans towards Linux but when it comes to the actual curriculum, ASP.NET, Visual Basic, Java, and MS-SQL. All tools in the programmer's toolbox have their place, including Microsoft ones but can we please have some diversity and common sense? Teach whatever is most in demand in the industry. Not simply what has always been in the curriculum. I'm glad to say that some of the faculty is listening and I'll be teaching a seminar on PHP & AJAX w/ Prototype in April. ;)

    What does all this essentially mean?
    I see the talented and smart professionals in our industry continually go out of school and move on giving nothing back to the educational community. This essentially means a brain drain in our universities being caused by talent simply being hired off and who teaches the next generation? The same old mid-range people.

    Granted I'm talking about a pretty weak university in the grand scheme of things but it's the middle and bottom universities that form the bulk of the work industry in the world. Not the Harvards, MITs, and Stanfords.

  11. My Advice To Those Thinking About It by xutopia · · Score: 4, Insightful

    Things to consider:

    - the IT field is one of the hardest hit in case of a recession; this means that when things go bad they go really bad
    - if it isn't a passion of your you will not enjoy it; it's long hours and crunch time exists almost always
    - most programmers I've seen in my 12 years of programming have burned out and done other stuff instead. They would have been better off studying in a field they liked because now it's too late for them to tackle their true career of choice
    - money isn't all it's cracked up to be in the IT field but it varies more than with many other jobs. For example someone passionate with great talent can get paid twice what another senior gets. In some parts of North America the salary is as low as 35k/year.
    - if you want to hit the higher salaries you have to specialize into something and become a well known expert. This means blogging about your skill and doing presentations at conferences.
    - your brain deteriorates with time and you can't code as fast as you could when you were 10 years younger. Getting old in our field is worse than it is in others. Even venture capitalists expect to invest in young talent. This means your window of opportunity is small.

    You must answer a resounding yes to the following questions:

    Do you code one week ends? Do you write software for fun? Do you enjoy sitting down and thinking really hard for long periods of time?

    If that suits you then take the blue pill.

  12. Don't Come Back by Blackknight · · Score: 4, Insightful

    Am I the only one that wishes that it WOULDN'T bounce back? Less CS graduates means less competition for the rest of us.

  13. Science yuk. Give me play. by jago25_98 · · Score: 4, Insightful

    I didn't take `Computer Science` because I couldn't see a course in the entire world that I found interesting. I found what was on offer too theoretical, and programming everywhere. I didn't want to study computers, I wanted to have fun using them.

    So I took Geology.

    Science = The collective discipline of study or learning acquired through the scientific method; the sum of knowledge gained from such methods and discipline. A small and specialized subject.

    I hope something comes out where I can play. Because play is natural learning.

  14. I've heard this before and it didn't make sense by keineobachtubersie · · Score: 2, Insightful

    And it doesn't make sense now.

    "Higher maths and hard (as opposed to soft) sciences mercilessly teach problem solving and deduction"

    The teach problem solving and deduction. There's simply no way you or anyone else can correctly claim "higher math" is necessary for those skills, a well constructed logic course can teach them without any higher math.

    If you want someone to have certain skills, you teach those skills, you DON'T throw them in a class comprised of some stuff they'll need and a bunch of stuff they won't.

    I think the reality is, the people teaching CS suffer the same failures as other instructors. ER docs have to work ridiculous hours for no reason than everyone else did it. CS profs are the same, I did the math so you will too, and who cares if you need it.

    That's simply not good enough.

  15. PhD-granting universities by Nimey · · Score: 3, Insightful

    That ignores all the second-tier schools that only offer bachelor's and master's degrees. I hold a BSc in CS from such an institution, and not including these schools is pretty poor statistics.

    --
    Hail Eris, full of mischief...

    E pluribus sanguinem
  16. Re:comp sci... by zdude255 · · Score: 2, Insightful

    Well it doesn't sound like you've had much programming experience and this would be the biggest obstacle to being a CS major.

    Programming to CS is like Algebra to Calculus, it's not always the focal point, but you're pretty shafted without a solid understanding of it.

  17. Obligatory by blueforce · · Score: 3, Insightful

    Computer science isn't a science, and it isn't even about computers.

    I'd like to welcome you to this course on Computer Science. Actually that's a terrible way to start, Computer Science is a terrible name for this business. First of all, it's not a Science. It might be engineering or it might be art, although we'll actually see that Computer (so-called) "Science" actually has a lot in common with magic. And you'll see that in this course

    So it's not a Science. It's also not really very much about Computers. Computer Science is not about computers in the same way that Physics is not about particle accelerators and Biology is not really about microscopes and petri dishes.

    -- Hal Abelson, professor MIT - Lecture 1a: Overview and Introduction to Lisp

    --
    If you do what you always did, you get what you always got.
  18. Re:Still worthless? by CharlesEGrant · · Score: 2, Insightful

    "Introduction to Computer Keyboarding"

    Dear lord, what kind of schools are you enrolling at? I've been around a lot of colleges, and none of them would offer a class like that for credit. A real college might have a class like that available through the student IT help center, but it wouldn't be for credit. If you want some sort of IT certification the vocational schools and "Get your degree on your own schedule" schools may be fine, but in general they aren't the place to go for an actual CS degree. If a school is offering to give you college credit for a typing class, run far away, they are probably a diploma mill. Check out your nearest community college or state university instead.