[ Content | View menu ]

Comp. Sci. Degree Recommended, Not Required

Mark Mzyk | January 30, 2008

If you read way too many blogs to be healthy, as I do, then there is no doubt you’ve come across the debate concerning computer science degrees.

Chris Ammerman has a post that nicely summarizes the debate while linking to all the major blog posts on the topic and then provides his own thoughts. You’ll get your moneys worth from that link.

Here’s my question: Why is there all of this debate in the first place? Why does everyone seem to expect a computer science degree to somehow create the perfect programmer?

A computer science degree is no different than any other degree.

It slightly pains me to say that, since I hold a computer science degree, but I believe that to be the truth. People seem to think that a computer science degree should confer certain qualities and knowledge on a person, but when it doesn’t, somehow the degree program has failed. Instead, it is said we need to fix the system by making it even more of a system. Create new degrees, split the degree, enforce a rigid curriculum, etc.

I thought the purpose of getting a degree was to give you some common knowledge and to then encourage you to go from there? A degree helps you discover the tools to learn. It also shows that you can make it through the university vetting process. That’s it. It doesn’t promise or guarantee more than that.

It is then your job to shape yourself after that, and the industries job to shape you into what they want or need.

What happened to mentoring? Why is it that suddenly graduates are expected to know everything right out of school? Why are graduates expected to be polished? I was a lava rock coming out of school. Only now, almost a year removed from school, are some of my rough corners starting to be smoothed by experience.

What about all of those people currently in the industry who taught themselves? Many of the best computer scientists I’ve met don’t even hold a computer science degree. They have a love of learning that’s gotten them to their position today. It’s that skill of learning that a degree tries to teach. It’s probably the hardest thing to teach too.

It would be a shame if the education system did get overhauled and became more homogeneous. Part of what helps computer science flourish is the diversity it encompasses. I don’t want to see that taken away because a few people want a system that makes hiring easy by making everyone the same. How incredibly boring would that be?

Every industry could make the same complaints about their particular degree program as the computer science community is now. Instead of complaining, if you think a computer science graduate is somehow lacking because they don’t know something you do, why don’t you take the time to teach it to them? That will help advance the profession along more than an overflowing complaint box. It might even remind you of how you used to be. We could all use that sometimes.

Filed in: General.

2 Comments

  1. Comment by Chris Ammerman:

    I largely agree with your post here. Especially about the general purpose of college being to prepare a person for lifelong learning, and to persevere in adversity. And about experienced programmers mentoring the fresh faces to fill the inevitable gaps.

    Diversity in education is also very important. But just to be clear, I’m not complaining about diversity, but rather inconsistency, which is very different. Some things are fundamental to CS. Leaving those out of an education isn’t diversity. It’s just irresponsible.

    It would certainly be a tragedy if the education system became, as you say, homogeneous. But the opposite is at least as dangerous, and we are a lot closer to that right now.

    I don’t think it’s unreasonable to expect a core of information that should be pretty much universally taught in any CS degree. There is plenty of room for variety and specialization on top of that.

    January 31, 2008 @ 00:15
  2. Comment by Mark:

    Chris,

    I agree. I think there is room for debate for what should be a core curriculum of CS. Let that live on.

    What I don’t agree with is this reaction that CS should be split or forced to be the same everywhere. I think some people are advocating a move that would only unsettle CS more and create worse problems than currently exist.

    And in no way did I intend this article to be a critique of yours, but instead a reaction to the debate as a whole. Your post was just such a great resource for the links and your distillation of the argument to a simple form, that I couldn’t help but link to it. Thanks for your work on that.

    January 31, 2008 @ 09:53