US CompSci Enrollment Up For 4th Year Running
dcblogs writes "Interest in computer science continues to grow among undergrad students, who pushed enrollments up nearly 10% in the 2011-12 academic year, according to the Computing Research Association (CRA) of enrollment and graduation rates at Ph.D.-granting universities. This marks the fourth straight year of increases. Enrollments might have been even higher if not for enrollment caps at some schools that don't have enough faculty, equipment or classrooms to meet demand. Enrollments increased 10% last year as well, but overall enrollments remain below the peak reached during the dot.com bubble. Around 2002, each school had a department with an average enrollment of about 400 students; by 2006-07, that enrollment average had declined to about 200. Average enrollments per department are now nearing 300, according to the survey."
Get back to us after the fourth semester and let us know what % of the enrolled did not switch majors or drop out.
and how meany people are better off voc / tech school type training then 4 years + of CS?
To many people are going to CS and not learning the skills needed to do real IT work.
Joining the other unemployed 54%
* http://newsfeed.time.com/2011/05/10/survey-85-of-new-college-grads-moving-back-in-with-mom-and-dad/
Join the Slashcott! Feb 10 thru Feb 17!
Maybe that is because Computer Science isn't IT work?
I know I'm not meant to reply to this, but please, if you are going to do this, *please* fix the grammar. Sentence two you no sense.
Tell that to people who actually hire CS grads right out of college.
Having a 4 year degree certainly helped me, but what's equally important are certifications. There are too many amateur IT people flooding the market, and not enough highly skilled people. Best way to get experience and name recognition is to freelance a few years. You never know what opportunities you'll come across.
-- By all means let's be open-minded, but not so open-minded that our brains drop out.
At this point, being a developer is so well-established with so many tools and sources of documentation, that it's no longer cutting-edge. The question is whether we're steering these people into dead-end careers where they are (virtual) pencil pushers in cubicles, or whether we're advancing enough that they have something interesting to do.
Making another version of a well-known type of web site, or well-known type of Android app, might be steady work but could also be so boring their brains will collapse and create black holes that can only be filled by daytime television and AM talk radio. We don't want that, do we?
On the other hand, if they're bored at work, they'll be prolific open source contributors!
I can't speak for all US universities but it would seem Information Systems and Technology degrees are suited toward practical programming jobs.. I don't really see IS*T majors doing research for comp sci specific fields but that's not to say they don't exist. In my program, I learned databases, java, c#, vb.net, and the agile development process which will basically get you a job in the US as a front-end or mid-tier developer.
The problem is most people want to come to IST because they don't want to program but find out that they should have just majored in business or MIS. This is only for certain schools however.. I have met some programmers who were better at coding than comp sci people because they have a better sense of scope...
Which brings me back to your point... Comp Sci from my experience gears you toward PHD or masters programs where you will be doing a lot of theoretical work. They don't teach them mandatory database classes or networking which is very important in today's coding world... they also don't teach you anything about how coding fits into the business world. That's not to say you couldn't get any programming job you want.. But honestly, if you live in the US, it doesn't really matter for most companies if you got a comp sci or IST degree so long as you can prove that you know what you are doing in the domain of what they need you for. It's basically just a formality now, they check you off whether or not you got a degree... I think they frown on Votech schools over conventional bachelor's programs, but if you can prove you're proficient, they will give you the chance regardless.
I think that's his point. Lots of people want IT-type jobs, and go for a CS degree because they mistakenly leave off the word "science" when they read "computer science". "Oh a degree in computers! That's what I want to do". You can get an associates learning networking and programming and the like, CS will make you do a lot more theory that isn't really the goal of many students in the program. They just don't understand the difference, or that several options exist depending on goals and interests.
We really do a terrible job in the US of explaining to students the possibilities and letting them go with the best option. It's easier to funnel people into pet programs I suppose, than give any real academic advising.
Is this 1998?
We play the game with the bravery of being out of range
It seems to me that Google, Apple, Microsoft, Facebook et al are currently so dominant in creating 2 - 3 year consumer market-trends, then collapsing them, and pushing yet another nouveau 2 - 3 year trend into the marketplace, that new computing science graduates will have a very, very difficult time "making their mark" in the computing world. I feel that the world of computing, a few years ago, was more open to individual CompSci artisans creating seriously interesting things, and these things growing wings if people liked what they created. Today, if it doesn't get pushed by AppGoogFaceMicrosoft, hardly anyone notices that it exists, or even possible. Good luck to our new CompSci graduates. The world you will be thrown into when you graduate won't be a garden of roses...
Why did the chicken cross the road? Because Elon Musk put an AI chip in its head.
The train/educate ratio needs to tilt far over to the "train" side, IT is expected to do drone work, not invent or think.
The education topics need to remain more or less the same, some comprehension of "big O" and scalability problems and algorithm analysis remain important.
IT needs some biz and accounting classes... mandatory requirements. Intro to accounting is not terribly useful for a computer scientist.
IT needs more liberal arts. Public speaking, mandatory for presentations. A computer scientist only needs pub speaking as an oral defense at the PHD and teaching classes. A foreign language (aka BA degree) seems highly wise for IT as your job will probably go to India or China very soon, so if you learn hindi or mandarin perhaps you can transfer into a project mismanagement or perhaps analyst position...
IT needs to learn how to master a piece of software and/or a system. The software selected to master doesn't really matter, whats important is that some people, shockingly, don't know how to explore and fully learn a piece of software unless that skill is specifically taught to them. Like many, maybe most, computer people, I learned that around age 6, but there's some who need the formal class to learn it at age 20.
IT needs database theory, a computer scientist only needs codd normal forms etc if s/he is going into the DB theory field (frankly, unlikely).
Very little of a CS curriculum would be a total waste of time for a IT guy and vice versa, but a lot of mandatory and nice to have positions will swap.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
In my admittedly cynical experience with most wannabe young programmers, I've found that the vast majority only major in the field because they think it will make them money and provide steady work (or because they think *programming* video games is in any way analogous to *playing* them). But they have neither the heart nor mind for the field and so go one of two ways:
a) They drop out before they finish their degree (wasting *their* money), or
b) They graduate but make for really shitty programers (wasting *their employer's* money)
Either way, go major in nursing if you just want money and a steady job.
What political party do you join when you don't like Bible-thumpers *or* hippies?
It sounds like you have limited knowledge about what schools offer. I have a CS degree and I was taught databases, c++, python, java, c#, and a number of different development processes. Additionally, i was also taught compilers, parsing, formal proofs, algorithms, graphs, and a bunch of other stuff that is only used tangentially where I work.
The MIS majors where the ones who were taught just databases and a few Microsoft languages, like you.
I do believe there is no standard, and you have to look for a school teaching what you want to learn. :)
Googling
Society seems to be bifurcating into those who know how to find stuff and learn from it, and the masses who don't. I have no idea how to train people. You can't be successfully educated without knowing how to research, but thats just a filter, its not something thats taught. If there were a way to teach people how to research, especially research online, that would be helpful.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
someone in India is not only learning it better, but willing to work for cheaper
That's not my experience of Indian programmers. Well, both parts of your statement are correct: someone in India is learning it better, and also someone in India is willing to work for cheaper. They are not usually the same person, however.
I am TheRaven on Soylent News
I love that the grammar's the bit that's annoy's you the most. :) sorry couldnt' help it.
The timing on this is funny... I literally just filled out an application to my school's undergrad CS program this morning. I graduated a couple years ago with a physics degree and have been doing research work here ever since. It's a nice job - the pay isn't great, but the benefits and hours are. So why am I going back to school? Because I realized that I spend most of my time writing code, and that's the part of the job I enjoy most. But also because the fundamental economics of science research are bleak and not going to get better anytime soon... science in the US is vastly underfunded, and now there are reams of grad students and post-docs looking for tenure-track jobs at a time when tenure is rapidly disappearing. The best case for NIH and NSF funding for next year is a 0% increase, and that's assuming the automatic debt deal budget cuts don't take effect. Time to find a new career.
He doesn't mean freelance by building some geocities website or by fixing your neighbors computer. There are a ton of ways to freelance via work at home opportunities that can get your real experience and real money. Its almost become a form of apprenticeship. I got started out doing freelance web programming and really enjoyed it. I would still be doing it because it allows me to work from anywhere in the world. But I had to eventually move on to a real job in a boring office to support my family, but if I was single I'd freelance solely.
There are still lots of small companies around, and increasingly they're hiring people to work remotely. I've done a lot of interesting work for random small companies around the world over the last year.
I am TheRaven on Soylent News
You are living in a subjective reality, a prison of your own construction. If you choose, the "hardly anyone" who you mention, can be everyone who matters.
Think back to 20 years ago when Microsoft looked like the main barrier to progress. The market looked just as un-enterable to people living then too. And their discouraging words were met by fogies who spoke of IBM, saying the 1990s kids didn't know how good they had it. But of course things actually were happening; they just weren't in the headlines.
You're right that there is a large market being played by AppGoogFaceMicrosoft and that little of interest is happening there, but doing uninteresting things is always how it is when you're trying to sell things to the mainstream where the big money is. This says nothing about things that are possible to work on and advance, except the sales volume itself.
This isn't even a software phenomenon. Most creative endeavors are like this. Why learn to play music when so many people are giving their money to Nickelback? Why learn automotive design when people are just going to buy Chevy Silverados? Why work on solar power when people will just write monthly checks to their local utility who burns coal? Why carve furniture with an axe, when people will go to Ikea? Why brew beer in a nation who spends so much on Bud Light? Because you love doing things, that's why, and because even if most people buy lame shit, you're still not alone.
"Believe me!" -- Donald Trump
I think that over the years, I have just become impervious to these *shock* forum posts. They don't get any reaction out of me any more.
Bad grammar and bad spelling (minor typos aside) will always grate on me though.
Freelancing kept me afloat for a few years, until I landed a position as Systems Administrator for a Law Firm. You'd be surprised how many people need your services and willing to pay good money for it. But like you said, I couldn't pass up an opportunity for a full time position with benefits. Now I sit on my ass most of the day, waiting for some dire need of my skills.
-- By all means let's be open-minded, but not so open-minded that our brains drop out.
Offer more money?
I know what you're going to say, but the answer is, "Clearly not."
Reality check here. The market for lawyers in the US is oversaturated, meaning that most of the ones who get employed out of school are doing work that used to be paralegal grunt work with paralegal pay. Contrast that with me or any software developer I know with any skills from this decade: 2-3 unsolicited job offers a week. In most US markets companies are fighting tooth and nail over every single Java or .Net developer they can (not to bash on any other platforms, these are just the most common). I have heard the stories about unemployed programmers, but I have yet to meet one, and I find it hard to believe they are all that common when my inbox is constantly flooded with emails from recruiters, and there is really nothing special about me.
computer engineers are shitty programmers? (not that it's any more use than CS for IT work)
horror vacui
I am always amazed at how incapable of Googling the average user seems to be.
In general lawyers are currently over-supplied, but lawyers who have a STEM degree in addition to their JD aren't. Still a pretty significant demand for patent law and that kind of thing.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Aren't recruiters usually paid by commission on the number of leads they generate? If so, that would explain the spam. Besides, everyone is looking for "good" or "experienced" programmers. There are plenty of inexperienced programmers out there too, many of which aren't given a shot at any of those open positions because they don't have the necessary experience or resume buzzwords.
If you have a bunch of talented, smart workers around with skills, there's no shortage of things to work on. The economy isn't a zero-sum game.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
Higher Education is in a massive tuition bubble. Liberal arts, if properly taught, are very good things. But it's getting increasingly hard to justify getting a liberal arts degree for $100,000+ worth of debt. Heck, it's hard to justify any degree for that.
My kids have some ways to go before they are ready for college, but this would be my advice. Consider getting an associates degree and transferring if you are going to go for a liberal arts degree. That may be a good idea in general.
Instead of getting some unpaid internship, consider picking up a skilled trade for a summer job. There is a good bit of demand for those types of jobs, and you never know. At the very least, you may be handy around the house when you get older.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
The recruiters I have worked with are paid a commission when they fill a position, not the number of candidates they generate. Like the parent poster, I too am inundated with calls from recruiters. I have also interviewed a lot of people for various open positions on my team. In my experience the inexperienced programmers don't get the job because they lack buzzwords, but that they fail to sell the skills they do have. I have interviewed many candidates who say "never heard of that" when asked about a technology in the job description. Some basic research and preparation would help the candidate to see how they can spin their experience to cover any deficiencies. I am more impressed when a candidate says "haven't done that, but I understand the concepts, and let me tell you about something similar in my background." Sometimes you can draw out that diamond-in-the-rough candidate, but if the interviewer has to dig too far, it is just easier to move on to the next applicant.
Looking at job postings for some big companies (few defense contractors, couple semiconductor companies), they're hiring a lot of software engineers. I keep thinking of the Mythical Man Month and how it is quite possible these companies think that throwing more programmers at a particular job will fix their problem faster. But this might not be true; there may legitimately be more software projects cropping up. It's tough when you are a graduating CE/ CS (dual) student and you want to do hardware, but your whole resume is software (because your school needed you on software) and your job out of school is software (because all these big companies need you on software). It's good for comp sci kids because the jobs are irrefutably out there. Computer engineers have an issue where they might be trying to specialize in hardware but employers see "computer" and think software. This is also happening to CS students; I know a PHD student who is extremely good at low-level (chip level) and assembly work, and does high level programming as more of a side thing. Anyways, a good bachelors CS program will have a ton of (practical?) programming. Most CS classes at my school have programming assignments. Not all classes use practical languages (heard of Oz?), but they all require large amounts of coding. The "theory" part is discrete mathematics, algorithms , and programming language theory. Don't think for a second a CS degree isn't "practical". Of all the science degrees, it will probably open the most doors.
Computer Science departments (atleast the one I went to) don't teach "Cisco Networking".. they teach "Networking"... They don't teach "Windows", they teach "Operating Systems".. You might get an intro to programming in $language, but they'll choose any language for any particular course and figure you'll figure it out..
If you're bright enough to do well in competent CS program, you can pick of the specifics of $solution you happen to be working on and you'll have an edge on keeping up in the long term versus those MIS kids..
Wish I had mod points -- what a great, and positive post.
That's true, but not all of them are (or would be) good programmers.
Years ago at a different job, we hired a guy who was supposed to be our UNIX admin as well as a programmer. Since he was new and unknown, we weren't just about to hand him the keys to the kingdom, so his initial tasks were coding and some stuff to make sure he was up to the task.
He was an atrocious programmer -- the first task I gave him took him several days to code, and it was badly implemented and incredibly slow. After he argued with me that his was just as good as mine (which I knocked up in 30 minutes). Sadly, the few Admin tasks we let him do he didn't really shine at either.
He didn't last long after that because he refused to understand that his half-assed attempt wasn't as good as we needed.
I also once worked with an electrical engineer who had been hired as a coder. He didn't actually *know* anything about writing code, and eventually became a placeholder position. We had assumed that as an EE he knew these things, and he had assumed we'd teach him.
I'm not saying all inexperienced programmers can't ever become good ones -- but many of us simply aren't willing to gamble on them and trust them with our code.
Lack of experience sometimes means you may not actually have the skillset. And employers aren't willing to pay to find out.
Lost at C:>. Found at C.
When you go for any IT job, the number one requirement these days is a degree in Computer Science or equivalent experience.
There. FTFY.
No, no, you're not thinking; you're just being logical. --Niels Bohr
Having a 4 year degree certainly helped me, but what's equally important are certifications. There are too many amateur IT people flooding the market, and not enough highly skilled people. Best way to get experience and name recognition is to freelance a few years. You never know what opportunities you'll come across.
Certifications (with two exceptions -- CCIE and CISSP both for different reasons) aren't worth the paper they're printed on. I've met so many "certified professionals" who couldn't find their ass with both hands and a map.
There's no substitute for experience. Period. Any certification that you can get by just studying the book and/or doing practice exams are worthless. The two exceptions I mentioned above don't fit into that category. The CCIE requires hands on problem solving and the CISSP requires at least five year of documented experience. Any certifications that don't include one or both of these are, as I said, worthless.
No, no, you're not thinking; you're just being logical. --Niels Bohr
The RHCE and RCSA are rather good.
And as a CISSP myself who is well-grounded in the infosec field, I guarantee that most CISSPs don't get it, and that cert, while having merit in the past, is quickly becoming the MCSE of our time.
No increase in demand for teacher and professors. For those of crazy and qualified enough to teach (because we are passionate about it), we can't. I begin to see why tenure isn't necessarily a great thing.
I always hire math PhDs to do my taxes. Although their fee is astronomical it's really worth it. After all "math" is "math" right, the same as "reimaging a hard drive" and "python hacking" are the same as "computer science"? No?
I'm not saying all inexperienced programmers can't ever become good ones -- but many of us simply aren't willing to gamble on them and trust them with our code.
Lack of experience sometimes means you may not actually have the skillset. And employers aren't willing to pay to find out.
...which leads to a past "Ask Slashdot" question, how do these folks who stick it out four years for a BS in Comp Sci actually get a paying job in the field if no one is willing to hire inexperienced folks?
I have certainly met unemployed programmers (and engineers too), and I have been one. Generally even after being laid off there are jobs out there but many are just not necessarily the ones you want to do, or the ones you have no experience in (unix and hardware gurus aren't going to get those .net jobs or even want them). I get a couple recruiters a month contact me but never for something I'd want to do or be willing to burn a bridge over. Recruiters just see a certain keyword and call you up.
Compare this to say accounting. There are a lot of accountants who do not want to do people's taxes, and yet they know that during tax season that there will almost always be an open job doing that. But you don't advance your dream job of being a business accountant by taking a job at H&R Block.
(And employers for the most part don't really want Java programmers, they want Java *framework* programmers. You won't get a job knowing only the language though you may get calls from recruiters.)
I never said that I quiz the candidate on a bunch of facts and definitions. That is annoying, and reveals little. Most of my questions are phrased in terms of "tell me about a time where you did x", or examples of how they handled certain situations. I am always more interested in what you have done, rather than what you know. That being said, if the job description states "... the candidate will be working on an Agile development team ...", you had better be able to talk intelligently about Agile, and how your experience applies. Or if the job description mentions a specific commercial software package, I expect that you have read up on in it and know generally what the product does. In that same vein, if I ask if you have ever done multi-threaded programming, or how would you troubleshoot a race condition, you are going to need to know the definition to answer the question.
In short, good programmers do know the definition of basic concepts, and can relate it to their past experience, and good candidates do research before they walk in the door.
Summer internships, research positions, contributing to open source, pet projects ... I honestly don't know. I graduated university almost 20 years ago; and at that time, pretty much only enthusiastic geeks were enrolled in CS.
When I went to school I did research work with one of my profs for the last several years I was in school. So I did some specialized programming and the like (bare metal, OS kind of stuff) , had done code walkthroughs, and almost all of my courses had a really heavy coding quotient. So I crawled around in more code than some friends with Master's degrees since more of their stuff was theoretical, or only had to work well enough to cover their specific area of research -- you can still do cool research and write crap code if nobody else has to see it or maintain it.
In all honesty, by the end of my degree, there were people in my department who I was convinced managed to do most of the course work and pass, but who nonetheless weren't very good programmers. Give them a well defined problem and some help, they can do it -- go much beyond that, and they didn't seem to know much. I also know several people who only formally have high-school, but are absolute rock stars when it comes to writing code.
I am actually surprised at how many people out of school I've met who have never used anything like CVS, never built anything more complex than a little demo, and only really have a semester's worth of coding with everything else being theoretical. I've also seen people who had an OK high-level view of computers, but didn't really understand how an OS actually worked or anything like that. Often concepts like testing and documenting make them turn up their nose as if it's beneath them -- sorry, but we can't use you if you can't see why we do these things. I've also seen people who don't seem to have any measurable skill at debugging programs and trouble-shooting.
Years after I graduated, the prof I did my research work with and I were having a chat -- he asked me if I ever actually used anything he'd taught me. I could tell him in all honesty that the stuff I'd learned from him about programming and building/designing stuff I used every single day of my life. So, I was fortunate in that I got to learn a lot of the intangible stuff we didn't cover in class. I got to learn by going through the process and being shown how these things are done.
So, my best advise? Build something. Be ready to show it. Actual working code is probably better than your resume if you're just starting out. Perspective employers need to know that you have more than a passing/theoretical knowledge about how to program. And they also need to believe that you're capable of learning things you may not know very well.
Lost at C:>. Found at C.
What does CS enrollment have to do with IT? Presumably, you're in a CS program because you want to be a researcher or developer, not a server or network admin.
At the moment, its damn near impossible to find quality system/kernel/embedded developers in Silicon Valley. Maybe the application side is different, but I sort of doubt it based on how much the big guys have been hiring recently.
I'm pretty sure you're trolling... But in case I'm just being hyper-sensitive:
I mostly do administration, but my ability to automate tasks (in a well structured way) is pretty darn useful. The code I write hopefully ends up being pretty easy to maintain if I have to leave it to someone else. Binary math comes in handy when having to deal with networking (making sense of netmasks, network IDs and the like). I usually have a pretty good feel how applications work, or what's happening when they don't.
None of that is particularly advanced, so... No, you can probably get by just fine without a CS degree in IT... But it doesn't hurt. For some of us, it opened our eyes to how much we didn't know. I grew up loving to take apart my computer and put it back together... But I didn't exactly have much exposure to anything to help me pick up programming on my own. My CS degree ended up being a lot of fun, pretty educational, and pretty useful to me. I'd even say that I did indeed need the degree, or at least the experience I gained while earning it. I went, I learned, I conquered those stinking 4 semesters of Calc (barely), and I wouldn't have had access to computing resources like that outside of my university setting.
Oh, and it did help me impress a Math PhD who is now my wife. I occasionally help her code up some of her research. Works just fine for me.
But you need some sort of Bachelor's degree to get MBA, which allows you to do all the above with job security and 6-figure pay.
Twitter: @dainsanefh
A combined IT / MBA curriculum seems more make sense. Political Science is also a plus. But in the USA there are too many white IT racist that refuse to learn another language.
Twitter: @dainsanefh
That's what your company get by not being patriotic and hire American-Born.
Twitter: @dainsanefh
Amen! There is always room for the CS stars if they know where to look. Look for the cracks or niches that few businesses fill. If something is hard to use make it easy to use. If something is clunky then make it better. Even if you suck at finding niches go make a solution and then go look for problem it solves.
But Google, Microsoft, Apple, Facebook for the most part are just doing stuff in the "facade" of computing. Stuff that people can see on the web in other words. Despite all the hoopla that's really a minority of all computing out there. Most stuff happens out of sight or not on traditional peecees. Apple does more embedded stuff (or at least purchased companies that did it) with iPod and iPhone, Microsoft pretends to have an embedded solution, Google has Android and has played around superficially with some other embedded stuff (Facebook is not even in the running though, they're the purest of facade computing). So if you compact and contract their markets you're still get only a tiny compaction of the embedded market.
The trouble is that students aren't introduced to this stuff. They see what's shoved in front of their faces, either by their peers or by Wall Street or by newspapers. They don't see the computers in their microwave, their automobile, their routers, their television, etc. Some may be away of computers in their phones but mistakenly think it's all done with Java. Some may be away of the other stuff but think it's simple stuff and not very complicated to solve.
Even if only the facade exists there is a mass of complexity there that only a few people get to deal with. Video is cool, but linking to videos and editing them is boring and low tech compared to writing the codecs, optimizing the protocols, etc. Essentially the fun problem solving part of computing only gets done by a minority of programmers and engineers. The trick is to aim for that instead of the saturated job market of technicians.