Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

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."

You know I have to question this. It took a decade but gaming became cool. With how important and integrated computers are in our daily life then I think that being cool and being a geek will no longer be thought of as mutually exclusive. To take it a step further I think that if you CAN'T use a computer in this day and age your not cool.

There's a difference between "use a computer" and "strip a computer down to the bare hardware, rebuild it, install three obscure operating systems in a multi-boot scheme, and interface it to your toaster"......

People with a CS degree tend to fall into the second category.....which still isn't sexy. (But it sure is fun).

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".

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.

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 so

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.

In my university, it was part of the engineering (applied science) faculty. I think it's probably best situated there. I took software engineering, and we shared quite a few courses with the CS people. Software engineering was quite similar to CS, but it had more focus on quality assurance and architecture of large systems.

I don't know if I'm biased (I'm in the CMU camp), but I think that's one of the big differences between the MIT vs CMU approach. At CMU, CS was created as an offshoot of the math dept, while at MIT it was an engineering discipline. I think they've converged a bit, but there's still adifference in approach there.

Alas, when applying for a job, they only look at your(professional) experience... Anything done at home in your spare time doesn't count. It's sad:-(

Just register a domain name and then a DBA, LLC, or corporation (take your pick, DBA and sole prop is the cheapest) and do your side projects under your business. Even if your business has negative profits (a great tax deduction), which it probably will if your projects are just for learning or fun, but you could claim your hobby experience as professional e

I dunno if your strategy will hold in the continental European context. I'll look into it nevertheless.

It is basically using the business as a front for self-education; however, I do treat my home business very seriously. I maintain detailed accounting records. I intend to try to find ways to generate revenue from it, although I have not been successful yet.

When I go into my next interview, I will start out by saying the work was contract work. I will of course, omit a few pertinent details, such as th

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".

I believe I'm not alone here in saying that this applies to the majority of people earning Bachelors' Degrees. The Bachelors' is the new highschool diploma, while the Masters' is the new Bachelors'. Fortunately, the PhD. is still the PhD.

Seriously, though; when I look through my economics courses, I wonder how half of the people managed to get in to the university. I also wonder how half of the people left (1/4 of the total, for those of you who are in the 1/2 that shouldn't be in the University) are in

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

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...

Normally I never respond to AC posts, but here I'll bite.

I'm going to the most prestegious school I can afford. It's also the most competative out of the universities I applied to (which were limited to universities I could afford to attend.) I go to UW-Madison. Widely regarded (although the accuracy of which is debatable) as one of the public Ivy's. It may not be as prestigious as Princeton or Stanford, but it doesn't have a bad reputation by any means. In other words, not supposed to be a schmuck sc

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 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.

Were there any US citizens in your Masters program? I was recently trying to hire interns and new college grads from Masters programs in California, and there was not a citizen to be found, nor was there much interest in CS in a geeky way. Everyone I talked to was clearly in the field because of econimic necessity, and getting a MS because it makes it far easier to get a Green Card (though it's still ridiculously hard right now).

We have lawyers aplently to deal with visas, but I had to give up on the idea of only hiring people who actually *liked* CS and programmed at home for fun. It sad, really. It sucks to work with people who got into CS "because my parents choes this career for me" (no joke), and don't really enjoy the work.

It's a scary sign for America that our graduate schools seem to almost exclusively educate foreigners. Of course, if those folks immigrate then it's all good, but with the crazy H1-B situation and high difficulty of actually becoming a citizen, we're *not* producing the next crop of highly educated American CS folks here.

my best guess is that it was about 50/50, although the 50% citizens were heavily biased towards the new citizen / first generation citizen group rather than more "established" citizens.i happen to be one of those people on the non-citizen side (although i already had a green card).

if you think hiring is bad for the commercial sector, try the defense side (where i am now). finding people with useful background / degrees for the stuff i do (robotics / computer vision) is difficult to start with. when you add

It varies a lot based on the ranking and perceived quality of the school. Once you get down out of the top 20 departments or so, the programs are almost entirely foreign grad students. Basically, the best and brightest domestic students get into the most highly ranked programs while those who are a cut below find it more attractive to go straight into industry. There's almost no value for an American student with an MS or PhD from a third rate school--it would have been better for them to keep working th

First year classes for IT studies in high school and college are always crammed with students. The second year more than half of those have failed. Why? Because most of them thought they were capable because they can use a computer decently like most people their age. Or they thought they would be playing video games. I'm not kidding.

Because most of them thought they were capable because they can use a computer decently like most people their age.

However, that's just a phenomenon from the last five years or so (when computers started to be cheap and graphical user interfaces were stable). I say five years, because Windows 95 came out in (duh) late 1995 and people needed to grew up with it to think "they could operate a computer". Someone going to college in 1995, having computer experience would know the pre-95 days. I remember a gir

It doesn't help that some CS-granting universities are now pushing the "everybody who joins the Air Force can be a pilot" mentality.

At my community college, representatives from California State University, Fullerton and Microsoft came into my C++ programming class to talk about their exciting new Bachelor's in Computer Science degree with the Game Design "specialization." Apparently this new sub-field is revolutionizing their degree program by attracting the same people who think going to DeVry is going

i think i have to agree with you, i actually dropped out of my CS degree because i got a really good job offer and i felt i wasn't learning anything and just wasting my money.
8 years later i'm successful and making great money, and i only wish i hadn't wasted my fucking money on uni. university isn't the place of learn it used to be, now it's all about tailoring subjects to suit employers which is a BAD thing.

So much of the CS market is flooded with wantabes and posers that barely know how to use a computer, much less program or troubleshoot one. I recall working for a community college in 1990 in one of their computer labs, and people with BS, MBS, and PHDs in Computer Science went to the community college to learn what they missed in Four year college and I worked as a tutor and educational assistant for some of them. I also subbed for the debugger as she didn't know C, Pascal, BASIC, Assembly as well as I did and I got the hard to debug programs.

Businesses went from hiring programmers like me who do quality control built into design, towards hiring kids right out of college with no experience who can write programs "good enough" to work and get the job done even if it crashes their servers a dozen times a day. Microsoft certification doesn't work either as they earn it and learned the answers on the Internet and got certified anyway.

While I earned A's and B's, and eventually earned all A's and graduated with honors, a lot of these other CS majors barely graduated but know how to schmooze their way up the corporate ladder and bullshit their way into high paying jobs that they don't deserve.

I went back to college and took up Business Management, because I don't think there is a future in Computer Science anymore, most graduates don't take Computer Science seriously and are in it only for the money, plus a lot of computer jobs got offshored to India and China, and the government keeps increasing the cap on H1B Visa applications and foreigners can come to the USA and work for minimum wage in computer jobs, legally. Hard to compete with that.

Because declaring a major (thankfully) does not bind you to it for better or worse. A lot of students don't like all the theory and others don't like all the coding -- not sure what some come in expecting.

Some people come in expecting that building software like Crysis or MS Office or whatever is going to be more complicated but essentially the same as building a website with Frontpage. There's also an unfortunate number of people who come into it because many (most?) IT jobs ask for a degree in computer science, when they really should be asking for something like MIS or a vocational program / certification. Too many HR departments don't realize that a CS degree has as much relevance to running cable or f

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.

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.

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.

And thank heavens they do move on. I sound like the elitist prick I am, but having a masters in CS and AI I know too many people who graduate and still fumble on these basic principles. Lots of hacks out in the field too, who don't know their basics and churn out crappy code.

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.

But calculus is generally a prerequisite for the serious statistics courses. In fact, if you want to take a multivariate stat course you are going to need multivariable calculus, so there is the justification for a four term calculus requirement right there.

if you do anything even vaguely useful / interesting with artificial intelligence, you're going to have to apply those several semesters of calculus, probability, statistics, and linear algebra. computer graphics requires at a minimum vector calculus and linear algebra. if you want to work on the physics side of games, you'll need all the standard tools of the physicist's toolbox (lots of calculus, a really solid understanding of linear algebra, plus the actual physics) in addition to a fair amount of numer

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:

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

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.

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

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 fan

As for Numerical, I was getting rather tired of Math until I took that class. Probably one of the greatest learning experiences for me in my CS program was finally getting what math was. Before you are following patterns and regurgitating them. Finally in Numerical you see math in a new light and start seeing logic in a whole new way, at least for me that is the way it was.

I started off as one of those, "what the hell does CS have to do with the real world? Im bored and this i

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:

My thoughts exactly. The CS stuff can be outsourced, jobs that can only be done here can not be. So this is why i did a degree in finance and economics and minored in CS. Just too much of a chance of having an employee in India take my prospective position because of advances in communications technologies and relative lack of skill here compared to our Indian counterparts.

Yes, and that's why I'd like to advise all prospective CS graduates to major in plumbing. Cause they really can't outsource that kind of shit.

The really hard part about being an engineer is that there are really only a few places in the country where you'll be able to stay employed over the long haul. These are generally high priced metropolitan areas, so that means you will be paying more for housing and in some cases a lot more, vs. say a doctor or a nurse or a plumber who can work basically anywhere.

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.

Actually, I think the problem is much much worse than you suggest. Continuing the Construction Workers and Architect's motif, too many Construction Workers think because they've seen a Architects drawing, and can build a house / building, that it makes them an Architect.Additionally, Many Architects have no clue how to actually build anything, and design really nice looking buildings that aren't structurally sound or lack important features. The building I'm in, has cracks all around it, and it is less than

Is this the building you are talking about? "The Massachusetts Institute of Technology has filed a negligence suit against world-renowned architect Frank Gehry, charging that flaws in his design of the $300 million Stata Center in Cambridge"

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.

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...

I don't want a small "ruling" class, but I want people who are able to do the job they've applied for. What's the point of having everyone make a CS degree while that's not what the industry needs ? I think it's BAD if everyone held a CS degree: suddenly it wouldn't be special, BTW. When you build a house, just not everyone can be architect. So now you have CS people working as code monkeys. Do you think this is a good idea ? I don't. It's a waste of money (people with degree earn more than degree-less peop

...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.

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.

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)

I am doing.. Business Admin specializing in Finance and Economics, did a minor in CS. I love CS and almost considered majoring in it, but after sitting at a console for the last 6 years I decided I didn't "love" it THAT much;-).

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.

- 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?

- 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

Which is why, I think, many smart folks pursue IT careers in a non-IT field. For example, I work in systems and programming, but I also happen to be a librarian.
(Which from an education standpoint, means I have an "advanced" degree that was about as challenging as my 8th-grade Social Studies curriculum.)
That extra 12-credits of school has enabled me to forge an interesting, reasonably

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.

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.

Agree, most BS degrees are taught by PhD's at the higher levels anyways, so most 300-400 classes that you take are taught by a Professor. Same goes for B.A. and Econ. So I agree, the statistics are highly misleading as far as total numbers go, but they do show growth trends as the PhD grad numbers most likely highly correlate with non PhD granting universities.

Well, the study is put out by CRA which is basically an association of computer science departments that grant doctoral degrees that annually asks its members for this information. It's not completely comprehensive, but it probably does give a good idea of the trends in enrollment and students graduated.

Where you're at geographically and what part of the industry you're in colors this a lot, so your experience may not be like mine... For me, the difference between looking for a job in the bay area in 2002 when I finished undergrad (good grades from a very well reputed CS program, several years of software development part-time and internship experience) and nationwide in 2005 when I left grad school with an MS (less respected but good program, no additional job experience) was night and day. In 2002, I s

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.

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 thes

Actually, taking computer science in my NJ high school DISCOURAGED me from pursuing a career in computer science. Although this is a good thing. At that point, I knew I wanted to work with computers, but the only career I knew about was Computer Science. Luckily, I realized early that coding was not for me, and after talking to people already in the IT field, I discovered that there was more to the field that writing code.

This is not to mean that CS in high school is worthless. In fact I'm saying it

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.

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

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.

Whoah down - we're talking about high school, not trade school, right?Now it's a while back now, but from what I can recall, computer science in high school has more to do with the history of computing, some introductory programming, basic debugging and problem solving, and some introduction to the flashy cutting edge stuff via presentations from industry. It is an introduction to the idea of computer programming, not a replacement for the education that a trade school, techincal college or university can p

I've never heard of database theory or computation theory as first year courses in CS. As far as I know, they mostly teach introduction to programming, algorithms, and data structures in the first year. That's what Computer Science AP [collegeboard.com] classes teach, also.

my understanding is they provide something roughly equivalent to the "intro to programming" courses that most U's offer, along with some basic data structures, object oriented programming.The algorithms stuff in intro to programming courses is often quite good, although not demonstrated in a systematic manner, since explaining the mathematical underpinnings and the general theory is way more than you can teach in a quarter.

The point is to get people solid experience programming, but also to give them experi

I guess I went from a CS major first year to applying to law schools this year, so maybe you're onto something. However, I'm not going to blow money on a hugely expensive, crappy car that says "BMW" on it.

Employers practically never require any degree at all for most development or admin jobs. And when they do ask for a degree it's something like: "CS, or some technical discipline, or similar, or equivalent."

About half the people working in IT do not have any degree, the other half are just as likely to have degrees in literature, or art history.

A BSCS is as difficult to get as degree in engineering, but as worthless as a degree in liberal arts.

[quote]A BSCS is as difficult to get as degree in engineering, but as worthless as a degree in liberal arts.[/quote]I'm calling bullshit on this. Most good schools have a 3.0 requirement for engineering students to stay in the program, most CS programs are under the general 2.0 barrier.

Actually, if you want to teach CS then I'd vote for going back to Pascal. It was designed to be a teaching language and as such it's powerful enough to solve interesting problems but not nearly so dangerous to the user as C or any of its descendants.I don't have any experience with Python, but I can confidently say that Perl is the _last_ thing you'd want to put in front of a delicate little CS newbie. Don't get me wrong, Perl is sinfully delicious but let's be honest, as a programming language it's just

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. I