.comment-link {margin-left:.6em;}

filling the void

Friday, October 12, 2007

I find my education lacking

A big problem that software developers face today, with the advent of multi-core cpus and grid computing is parallel programming. Ask any computer scientist and he (most often he, sometimes she) will tell you that one of the 'big' problems that computer scientists face is problems of concurrency and parallelism.
Despite this well known and difficult to tackle problem, I have yet to see a single university course that deals with this in depth. Sure, some basic programming courses mention that this IS a problem, but doesn't arm you with any tool to solve these problems, or explain the problems in detail.
Granted, most toy examples that are used in schools never require any parallelism, but that's why I think there should be an entire course dedicated to it. A course where you wouldn't address some random problem and hope to solve it in a parallel manner, but you would specifically craft problems that would only be solved in this way.
Research into this area has gotten so far that most known issues in parallel programming even have names and scenarios drawn up for them to explain them properly, but this is never seen on a university level.
Looking over the various education paths available to a computer science student, I'd need to complete 4-5 masters programs to learn all the stuff I'm interested in from a teacher.
Sure, most people who are genuinely interested in their profession will take it upon themselves to read about this on their own time, but some of it might still need explanation, and people might need guidance. Also, getting a different view on a problem you're struggling to solve can be invaluable.

What I had really wanted from my stay at university was to learn how to program. To learn it in detail, learn different programming paradigms, learn how to solve problems, and to become a damn fine hacker(not that kind of hacker, look it up). Instead we are bombarded with modelling courses and levels upon levels of abstraction. I'm not saying that these courses are bad, because they're not. I'm just saying that there should be a university education for people interested in computer science (who suck at math, like I do), but that don't want to gun for middle-management right out of some data entry job. For the people who want to build hammers instead of use hammers to build houses.

I could have learned twice as much in half the time had there been a program like this for me. I would gladly have ditched a large portion of the courses I have taken in favor of proper advanced programming courses.
Maybe that's just me though, maybe I'm of a different breed, more old school that other people, but the last thing I want to wear to work is a shirt and tie...

Labels: ,


Post a Comment

<< Home