
Professor
My research focuses on reasoning about knowledge and uncertainty, and its applications to distributed computing, AI, security, and game theory, although I've also done work (and continue to be interested in) such topics as fault tolerance in distributed computing, modal logic, program verification, and programming language semantics. My work lies at the boundary of a number of fields. I recently gave a talk in the economics department at Princeton where I described myself as someone with a Ph.D. in mathematics, who calls himself a computer scientist, and is giving a talk to economists about a subject mainly studied by philosophers. That's probably the best one-sentence description I can give. If you'd like more details, check my
In the fall, I typically alternate between teaching
In the spring, I usually teach an undergraduate course. Recently I have been teaching CS2800 (formerly CS280), although in earlier years I taught COM S 409 and COM S 410, algorighthms courses that are no longer offered.
In 2009-10, I'll be on sabbatical (so won't be teaching at Cornell).