|Things I need to internalize by March or so
||[Oct. 23rd, 2010|08:34 pm]
So how does this look for an oral quals reading list? The idea of the list is to cover "the larger concepts and issues" of my research area, as well as to convey what I've been doing for the last two years. I've read most of them already, but "read once" is a long way from "internalized".
- TaPL, like, all of it
- The first (Substructural Type Systems) and second (Dependent Types) chapters of ATTaPL
I also want to include some kind of standard reference on unification that's not specific to any particular language or system. Maybe this? I read a few things about unification last year as part of our unsuccessful FLOPS paper effort, but I never actually read Martelli and Montanari and probably ought to. Any suggestions?
Oh! And I'm going to have to know something about denotational semantics -- can anyone suggest a single standard reference for that?
Any other glaring omissions?
What's your topic? I don't know how quals at Indiana work.
Joe Stoy's textbook on denotational semantics looks wonderful, but I've only read a little. There's also Tennent's _Semantics of Programming Languages_, and while it's not standard at all (and I'm also biased), I think the chapter in _Design Concepts in Programming Languages_ (http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11656) on denotational semantics would be great for building intuition.
The quals process has changed since I got here, and I'm one of the last few people to be using the old process, which entails taking two written exams ("theory" and "systems") and then taking an oral exam in one's particular research area. Some of the guidelines given for the oral are:
- "The oral qualifier examines your deep knowledge of a research area (e.g., databases). Within that specialized area, coverage should be broad; the area should not be construed as the thesis topic."
- "The oral is not for presentation or examination of your research plans, which are examined in the proposal defense."
- "Unlike the written qualifiers, which test breadth, the oral area qualifier tests your knowledge and mastery of the more specialized research domain in which you expect to do your research."
So, to answer your question, my topic is "programming languages", but since that's hopelessly broad, my topic is actually more like "semantics of programming languages and type systems". There's a slant toward systems that admit flexibility in the amount of static verification of types, because that's what I'm finding I care about, but I can't just do that, since I think it would be considered too narrow a topic for the oral.
(The new quals process seems better in terms of actually assessing one's ability to do research, but I was already partway through the old process when they made the switch, so I decided to just keep going with it, for better or worse.)
...I forgot about Turbak and Gifford! I should look at that denotational semantics chapter. When the book came out last year, Dan told me that he might just stop writing textbooks. Of course, Dan can be a little dramatic sometimes.
I second the Turbak and Gifford for denotational semantics. Olin taught from a draft version of that for a semantics course back in '03 or '04, and I thought it was a good place from which to learn such things.
I just borrowed it from Dan. I actually had to drive to his house to pick it up this evening because he deemed it too heavy to drag to campus. (It is a huge brick of a book. Amazon says it's both larger and heavier than CLRS.)
"semantics of programming languages and type systems" is still pretty broad indeed, or perhaps I've just been in academia too long :-)
Yeah, it is. But I think that that's the kind of breadth that they're looking for with the oral qual.