A
Austin Ziegler
I tend to agree, to some extent at least. I'm surprised, though, that
you didn't address the matter of how a CS degree is characterized here.
Mostly because I avoid talking about CS degrees in general. :|
Computer Science degrees are not supposed to indicate a basic ability to
program -- computer science as a field is something else entirely. It is
as though everyone expects a CS degree to be the definitive programming
certification. Of course, because that's how it is treated in the job
market, schools have started chasing that in how they structure their CS
degree programs, with the end result that they end up being about as
worthless as vendor-driven certifications. Oh, sure, they make you
*look* good, but they don't make you *actually* good, at least judging by
the results I've seen.
Damn straight, and that's completely wrong. That *said*, a computer
science degree should present both theory and practice together in a
way that *does* prepare you for the workforce. The student I had for
this year's Summer of Code was really good: knew his theory, knew his
programming. He'd never had a code review even in the co-op positions,
and that's a lot of what I did for him this summer. A computer science
degree should expose you to a lot of different programming languages
because they affect the way that you think about problems.
It seems most CS degree programs are just (really long, really expensive)
Java certification courses, these days.
Not just these days. There are a few schools that I actually care
about the CS program from. Otherwise, I see a CS degree as a checkbox:
willing to complete things to other peoples' standards. I have very
particular ideas about what a good liberal arts education should be,
and I think most university and college degrees should be good liberal
arts educations. Too many CS departments spend too much time worrying
about vendor specific details and not enough worrying about theory and
practice. Some CS departments spend too much time worrying about
theory and almost nothing about practice. You *must* have both. And
almost *no* CS department spends any time worrying about interpersonal
communication and writing skills. Those skills will far outlast almost
any other skill you will learn in all of CS. Programming languages
come and go (anyone really use REXX these days, great language that it
was?); ways of *thinking* and *organizing* and *communicating* will
last.
Spot-on, I think, with the exception that it's not reputation that makes
the mentor -- though certain types of reputation are strong indicators.
Well, it's the mentor that makes the reputation, obviously. However,
that reputation precedes or often has to stand in for the mentor.
It's important to separate the certification from the instruction. A
certification is only as useful to the person pursuing it as it is useful
for getting a job -- and it is only useful to employers who know better
than to care about a certification (in that they have a competitive
advantage over those employers who take a certification as some kind of
magical indicator of ability). Certifications are also, oddly enough,
useful to instructors in that it provides them with a built-in marketing
tool: if they advertise their programs as certification training
programs, they're more likely to get students clamoring at their doors,
assuming the certs in question are in any demand.
Oh, you're absolutely right. It's a vicious circle, mostly because of
the people (employers and employees) who demand certification. I think
that I've got a couple of "certs" for completing some RUP University
classes (ha!). Needless to say, I don't report on the certs on my
resume ever. I have said that I've got experience and training in RUP.
Sadly, degrees are much the same -- but there's probably less than one
hundredth of one percent of employers out there that realize this. I
learned a lot in college -- but mostly in two specific ways:
1. pursuing knowledge on my own time
2. sticking with a good instructor for future classes, even if they're
outside my chosen degree program
The end result is that I didn't learn all that much from the classes I
needed for the degrees I pursued, even when I was getting As on
everything. Learning is something you do, not something you receive.
The primary goal of school=97at any level=97should be to provide you with
the tools you need to acquire more knowledge on your own. Most of that
will be through constructive criticism (although many people fail at
the constructive part). Teachers can't teach you anything; they can
only give you the opportunities you need to learn. By example, they
also help you learn the tools you need to learn more and hopefully get
a passion for learning. Maybe even a passion for one or more topics.
-austin
--=20
Austin Ziegler * (e-mail address removed) * http://www.halostatue.ca/
* (e-mail address removed) * http://www.halostatue.ca/feed/
* (e-mail address removed)