
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. I have taught COM S 280, COM S 409, COM S 410 in previous years. There's a good chance I'll be teaching one of them again.