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."
How did this not make it in to the summary?
Badass Resumes
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)
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.
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.
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.
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
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.
:-) 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.
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
I don't know if your new here, but usually "+1 Insightful" is how you indicate rudeness :)
In my uni, there was a 70% drop out rate in first year CS when I started in 1997. The reason seemed to be that, approximately, 70% of the class had no background in programming or, in some cases, basic operation of a computer. It was during the dot com boom and it seemed that most of the people were there because they thought it would be a lucrative career.
While there is far more to CS than programming, being comfortable in operating a computer and basic programming should be pre-requisites. Without these fundamental skills, jumping into a CS program is akin to jumping into a Math degree without high school math. In order to prepare students for success in CS, the students need to be exposed to the basic concepts and skills used in that field. This is no different than any other subject.
I think that the reason that this has been allowed to go on for so long is because CS is still considered new and it's fairly expensive. Teachers and administrators don't understand the value of making computer courses available and, if they do, they often can't afford to outfit and maintain a lab of PCs. Staffing could also be a major issue; how many teachers know enough about programming to teach it?
I know that the CS program at my uni was allowed to have a dropout rate that was much higher than the other programs; they knew that the students coming out of high school were ill prepared and let them figure it out the hard way. If other schools are still having this failure rate, it means the issue hasn't been addressed.
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)
...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.
I came from a class of 3 that graduated last year.
Honestly, the courses were too easy or too hard. I think it was just that Math or business was just easier to work with, since your pencil and paper never require manipulating executive files and messing with header files.
I think that perhaps, it's not that it is too low or that students aren't hearing about the major, but rather not many like having to beat their heads over learning Dijkstra, Euler, and what the Big O's of the typical data structures or whatever weed out subjects are.
What I think would be more interesting is seeing how many minors are being sought by other disciplines for CS and what CS majors are taking for a minor
Either way, I was put on contract before graduating then another one a few months later. I'm pretty happy so far, but wonder if I'll be content once I look for a bit more permanent job (if such things still exist)
import system.cool.Sig;
(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.
I work for a decent sized multi-national and our office handles most of the procurement. People with CS degrees or who are just good with computers often work their way up the chain much quicker.
I know there's always talk about programming jobs being outsourced. Get a degree in business and maybe minor in CS (or vice versa) and you will be an extremely marketable person. We hired on a contract programmer a couple years ago into our group. He has the same responsibilities as the rest of us (although his specific area isn't as difficult as others) and he also programs many small applications for us to make the tedious work managable.
Prove that you can work with MS Access or MS Excel or write small applications and you will become an office hero.
I've done pretty well for myself since graduating almost 4 years ago, but if I had to do it over again I would've taken some CS related classes.
"Action without philosophy is a lethal weapon; philosophy without action is worthless."
Back in my day we programmed on grid paper and were glad to have it! It was an upgrade from the wax tablets of the previous version. Kids these days and their fancy screen editors and automated compilers.
Klingon programs don't timeshare, they battle for supremacy.
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.
I knew you'd be out there :-)
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
Am I the only one that wishes that it WOULDN'T bounce back? Less CS graduates means less competition for the rest of us.
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.
A blog I run for the wealth
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.
The prospect of a career migrating web scripts between Python, Ruby, & J2EE definitely doesn't have the appeal that 1st generation dot coms offered. It's not the student interest as much as the fact that Web 2.0 isn't the completely new territory that Web 1.0 was.
There might be new interest from the latest surge of robotics, but that's mainly done in Europe & once Dubya is gone, there won't be any more military robots h.e.r.e...
Silicon Valley is slow & stodgy about new territory. It's going to be Web scripts for a long time.
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
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.
But then, the industry is about to sabotage those poor CS grads with L-1 and L-2 visa holders ...
-- Tigger warning: This post may contain tiggers! --
> Experts attribute the shift to changes in job market, and also to changes in curriculum and the marketing of comp sci programs
I wonder who those "experts" are? I also wonder if the grads are Americans, or if they are just training in the USA.
Is the market for CS grads getting better? I sure don't see it. Salaries seem to be stagnant, job requirements seem to be way up, the IT field looks more demanding, and less secure, than ever.
Companies are breaking their necks to hire more H1Bs, and to offshore more jobs. Traditional barriers to offshoring jobs are being broken down.
Other countries are cranking out CS grads at a furious rate. And those grads are happy to work for $5 an hour, or less.
Of course, a CS degree could be valuable. But it's hard for me to imagine that a CS degree is the best thing an intelligent, ambitious, American can do with his/her life.
Am I wrong? Am I missing something?
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.
God forbid people getting into a job so they can make enough money to become financially secure.
Golden careers? That's for people who want to retire comfortably and be able to support a family.
Real computer science people work for peanuts with a smile.
--- Grow a pair, liberals... stop letting the Republicans bully you!
I was valedictorian of my undergraduate college. My time there wasn't challenging at all, and I often had to fill in the gaps my formal education left on my own. Following my graduation, I applied to several of the ivies - and some other good schools in my area - to do my Ph. D. I wanted a challenge. I was prepared to do a lot of work if it was required of me. I wanted to become the best researcher I could be, studying interesting problems under the best researchers in the field.
I was rejected from all of them (except Columbia, which would only accept me as an MS student in their engineering program, while I wanted to do scientific research). I am now in another easy school for my Ph. D., still not being challenged. I applied again after publishing some things and getting an MS after the first year of my Ph. D., with the same outcome. Since I can't imagine going through another Ph. D., my graduation from my current program is likely the endpoint of my formal education - and from start to finish, it has been inadequate, despite my wishes.
My point is that you presume that a choice always exists in the matter; that everyone who needs a challenge will receive one. Admission to a highly competitive school is not a sure thing, even with exceptional credentials, and there are many variables you cannot control in the process (I've heard that the existence of close ties between your professors and those in the school you're applying to is a particularly important one). Yes, perhaps I could have gotten in if I had decided to pursue my Ph. D. in, say, computer graphics, instead of the study of algorithms, or perhaps I could have gained admission to a competitive school on the other side of the country had I looked, but there's only so much you can ask someone to sacrifice when your dream schools are all right here, doing the work you want to do, and they won't take you.
That said, neither my BS or MS, nor my Ph. D. when I attain it, are worthless. The universities may not be prestigious and the degrees alone may not mean much, but what I've done while attaining them has given them worth beyond their stature.
...the Software Engineering grads are increasing. That'll be when this line of talk really means something. Until then, it's still just a junk degree as it is too much theory and not enough practice.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)