Sunday, November 05, 2006

Caltech's 100 CS Questions

Caltech, like most U.S. universities, has a qualifying exam that you must pass during your Ph.D. studies, generally around the time you finish classes and begin serious research. At Caltech, it's an oral exam, and the examiners can ask you anything. Adam posted the 100 key questions from 1998. They cover graphics; numerical analysis; continuous math; theory; algorithms; predicate calculus, program semantics and complexity; concurrent systems; hardware; databases and directories; and programming languages.

And, as Adam says, "The candidate should be able to leap tall buildings, outrun speeding bullets and be able not only to forsee [sic] the future, but control it."

The list very definitely represents the interests of the faculty. If you're not interested in one of those topics, you shouldn't be at Caltech; it's still a small, eclectic place (which, IMHO, is to its benefit). There are a couple of questions on the Internet, and some of the basics of operating systems are incorporated into concurrent systems, but there's very little that's directly related to the last twenty years of my life: the words virtual, disk, storage, memory, cache, file, mobile, and even architecture appear nowhere in the list (though some of them could plausibly appear in the answers to some questions).

The list is intimidating, but you have about two years to prepare for the exam, and much of that two years will be spent in classes that will answer most of those questions. In preparing for the test, you've probably already covered half the material or more, so an hour for each of those questions should be plenty of review; the other half you probably need a half a day to a day in the library for each question. Total, 2-3 months of hard prep work for your quals seems like a reasonable expectation.

This is roughly the era my pal Eve Schooler, who was a student of Mani Chandy's, was probably taking her quals. I should ask her how much of an ordeal it was...

No comments: