I just came across this article, which speaks about the death of Computer Science as we know it. If you're one of the few that have actually read my information, you'll know I have a degree in Computer Science, so this obviously caught my attention. It basically talks about the drop is Computer Science students across the world, the faults that universities have and most of the time fail to address, and how long this can continue. Unfortunately, this article makes a lot of good points that I have witnessed first hand while in college.
First off, the article mentions the perception that's given to those who study or work with computers, particularly in the programming front. It's sad to say that this still exists nowadays in college. But I've noticed it's because there are a lot of people who just represent the stereotype of a computer geek: glasses, unkempt hair, unshaven. It didn't matter that most of these are some of the nicest, most helpful people you'll ever meet. But what about women? I think I only met about ten girls - total - throughout my college days who were Computer Science majors. And unfortunately, most of them were there for the wrong reasons (more on that later).
The article also mentions the impact globalization has had on the IT industry. With the end of the dot-com era, along with the offshoring many of those jobs to places like India, many people view this industry as shaky, at best. And I guess this is also true, as well. There just aren't that many jobs as there were eight years ago, particularly here in Puerto Rico. But I don't think this is sufficient reasoning as to why Computer Science is in a current downward spiral.
Like I said, the article has a lot of good points. But there are also some points I'd like to make that I've seen myself. The first one, and the most important one in my view, is the fact that the curriculum for Computer Science in most universities is very out of date. When I started my introductory programming courses back in 1999, I started with C++. But as time went on, I was mostly fed a steady diet of Visual Basic 6.0 and other Microsoft assorted software. I didn't realize it at the time, but with so many different technologies and programming languages out there, why don't they update their classes? I'm guessing that it's a pretty long and arduous path in updating a college curriculum, but they should at least consider this as a priority.
Last year, the brother of an old college buddy called me up, because he was taking a programming course (at my alma mater, mind you) and needed some help. I told him to send along his assignment via E-Mail. I was shocked (yet sort of expecting it at the same time) when the assignment consisted of a Visual Basic.NET with Microsoft Access as the database back-end. At least they updated their version of Visual Studio. But it means that they're still teaching this stuff in college. And unfortunately, this doesn't help the students at all. Not to go on an anti-Microsoft tirade here (which I'm not, believe me), but Visual Basic will only teach Computer Science students how to drag and drop controls onto a form. Yes, I know you need the code logic and knowledge to make those controls work. But it only teaches the student to be lazy, and not to find out how things actually work. That's how I feel about it.
There are so many great programming languages and software nowadays, that it's a shame no one in college taking the time to pass it along to the future of this industry. Languages like Ruby, Python and even Java to me are better options than C++ and Visual Basic. Why give Microsoft Access as your main tool for a database class, if there are relational databases like MySQL and PosgreSQL that are more fully-featured? And why just give everything Microsoft, whenyou can dive into Linux, Mac OS X and other Unix-based systems like Solaris? It's still unknown to me.
Another reason in this decline is the fact that many people in the past have failed to get their Computer Science major because they got into the field for the wrong reasons. Or, more directly, they're in it because of the perceived money they'll earn. Maybe back in 1998 it was true, but nowadays getting a job, much less a well-paying one, is difficult enough. Here in Puerto Rico, I know former graduates of Computer Science spend two and three years finding a job in this field, and they still haven't gotten a programming job ever. But besides the fact that there aren't too many positions available, there's a bigger problem: many fail to realize that this is a life-long journey.
I bet most of those guys who graduated with me have only Visual Basic (and probably C++) in their resumes. They don't want to continue forward and learn new things. I don't know whether it's because they think that what they learned in college was enough to have a job for life, or because they want money now, but an alarming number of fellow graduates I've seen throughout the years fail to continue learning. And in a field that changes ever-so-rapidly, the worse thing you can do is remain stagnant for long periods of time. Hell, even because "out of the loop" in the IT business for 9 months or a year is killer.
So while Computer Science departments all over the world are having problems, I think they're remediable.