[776] in Depressing_Thoughts

home help back first fref pref prev next nref lref last post

Re: classes at the 'tute

rlk@ATHENA.MIT.EDU (rlk@ATHENA.MIT.EDU)
Sun Mar 5 19:46:15 1989

If all you want to do is write good code, then you don't even need to
go to MIT.  A good community college will have programming classes,
and you'll learn more languages than you will here.  And at that, what
constitutes good code?  Well, ultimately the code has to solve some
problem.  If you can't analyze the problem well enough to design a
system you can code to, there won't be much demand for the tightest,
prettiest code in existence.  If you don't know good algorithms well
enough to code them, or to find a package that already has them coded,
you won't produce fast code.

As for 6.003, it was nothing like 6.002 when I took it, and I gather
it's diverged even more now.  I'm willing to grant that 6.003 (and
maybe 6.002) isn't directly useful for a lot of computer scientists or
engineers.  On the other hand, 6.004 *is*, and you need some
electronics to handle 6.004.  Sometimes you do have to program close
to the wire; understanding the hardware is necessary, if painful
sometimes.

While MIT's CS curriculum may be a tad heavy on the theory, a lot of
other places, based on resumes I read, train their students very well
in lots of dirty little facts (e. g. having to learn 3 or 4 languages)
with no connecting glue.  The unstated (maybe it's even stated, but it
seems to be pretty well understood by a lot of people) principle
behind the curriculum here is that it gives a solid grounding in the
theory and practice of computer science sufficient to serve as a
foundation for future learning.  Now, personally I don't think that
the aspects of design and analysis are covered very well for the most
part, and the one lab class where these issues are considered (6.170)
covers them in a thoroughly mechanistic way that's sufficient to
discourage anyone without a working BS detector.  The theoretical
underpinnings of computer SCIENCE (as opposed to engineering) are
covered very well indeed (albeit without much practical application,
but where are you going to squeeze in the extra lab?).  This is why I
liked 6.033 so much (M-x broken-record-mode) -- it's the only class
that forces you to think about practical design and analysis issues in
a such a way that you can't regurgitate the right answers and do well.

Well, anyhow...

home help back first fref pref prev next nref lref last post