Course | Number | Professor | Where | Year |

Courses for Credit |

Design and Analysis of Algorithms | 681 | Ronitt
Rubinfeld | Cornell | Fall 1996 |

Programming Languages | 611 | Greg Morisett | Cornell |
Fall 1996 |

Theory of Computation | 682 | Dexter
Kozen | Cornell | Spring 1997 |

Advanced Systems | 614 | Srinivasan Keshav | Cornell |
Spring 1997 |

Algorithmic Aspects of Communication Networks | OR
739 | Eva Tardos | Cornell | Spring 1997 |

Software Systems | 15712 | Garth Gibson | CMU | Fall 1997 |

Computer Systems | 15740 | Randy Bryant & Bruce Maggs | CMU | Fall 1997 |

Programming Languages | 15711 | Robert Harper | CMU | Fall 1997 |

Algorithms | 15750 | Gary Miller | CMU | Spring 1998 |

Reconfigurable Hardware | 15828 | Seth Goldstein & Herman Schmit | CMU | Spring 1998 |

Complexity Theory | 15859A | Steve Rudich | CMU | Fall 1998 |

Randomized Algorithms | 15859D | Avrim Blum | CMU | Fall 1998 |

Advanced Artificial Intelligence | 15780 | Andrew
Moore | CMU | Spring 1999 |

Audit only (systematic) |

Computer Systems Performance Evaluation | 15849 | Hui
Zhang | CMU | Spring 1999 |

Domain Theory | 15819 | Dana Scott | CMU | Fall 1999 |

Static Program Analysis | 18843 | Ed Clarke | CMU | Fall
2000 |

Linear Logic | 15816 | Frank Pfenning | CMU | Fall 2001 |

Reasoning About Low-Level Programming
Languages | 15819C | John Reynolds | CMU | Spring 2002 |

Theorem Proving and Model Checking in
PVS | 15820 | Ed Clarke | CMU | Spring 2003 |

Courses I have TAed |

Operating Systems | 414 | Ken Birman | Cornell | Fall 1996 |

Distributed Systems | 514 | Ken Birman | Cornell | Spring 1997 |

Algorithms | 15451 | Avrim Blum | CMU | Spring 1999 |

Formal Languages and Automata | 15453 | Frank
Pfenning | CMU | Spring 2000 |