Re: A bit of advice re University and such is requested
From: | H. S. Teoh <hsteoh@...> |
Date: | Friday, September 8, 2000, 13:37 |
On Thu, Sep 07, 2000 at 11:20:17PM -0400, Yoon Ha Lee wrote:
[snip]
> At Cornell at least, the workload for CS and double-E are pretty
> stiff...mainly because you *can't* predict debugging time. Or at least I
> never could. Plays hob with any attempts to budget time. :-/
[snip]
Advice from a CS graduate: If you want to take CS, be prepared to spend
*indefinite* amounts of time on design/coding/debugging. Especially
debugging, as Yoon points out here. It's not that programming assignments
are hard; it's just that you need to spend a lot of *time* on it. Even the
easiest mistake (like missing a semicolon in C, which traditionally causes
cryptic errors that gives absolutely no clue that the missing semicolon is
the cause of your woes) can take several hours to locate. I know this has
happened to me more often than I'd like to admit :-)
You just need to allocate like twice or thrice the amount of time you
*think* you need for programming assignments. 'Cos almost always, you'll
end up taking more time than you expected. Not because it's hard -- often,
you can quite easily figure out what needs to be done; the problem is that
sometimes simple problems take a long time to locate, and unexpected
things have a bad habit of creeping up just before the assignment due
date. :-)
CS theory courses are a different can 'o worms, though. In general I'd
say, pay a LOT of attention to required 1st/2nd year math courses. They
are required for a reason -- you won't survive upper year theory courses
unless you make sure you understand the math stuff in 1st/2nd year,
tempting though it is to disregard them. Of course, IMNSHO upper year CS
theory courses belong more in the math dept than CS, but that's another
story... :-)
T