List of classes

At UC Berkeley

Spring 2007
CS 294-5: Dynamic Program Analysis, Testing, and Debugging (audited)
Fall 2006
CS 294-9: (Instructor) Interactive Computer Theorem Proving
Spring 2006
EECS 219C: Computer-Aided Verification
CS 294-2: Software Synthesis (audited)
Spring 2005
CS 172: (TA) Computability and Complexity
CS 264: Program Analysis
Project: Proof-Carrying Verifiers, with Evan Chang; led to this paper
CS 301: Teaching Techniques for Computer Science
Fall 2004
CS 261: Computer Security
Project: Byte Bouncer: Efficient Enforcement of Least Privilege Using Certified Binaries, with Arindam Chakrabarti and Evan Chang
CS 278: Complexity Theory
Project: Survey on Proof Complexity
CS 294-3: Techniques for Automated Deduction
Presentation on Coq
Spring 2004
CS 270: Combinatorial Algorithms and Data Structures
Project: Graph Partitioning to Optimize Searching, with Dave Mandelin
Scribe notes
CS 276: Cryptography
Project: Survey of Symbolic Techniques for Protocol Analysis
Scribe notes
Fall 2003
CS 262A: Advanced Topics in Computer Systems
Project: Deluge: Multi-hop sensor network reprogramming at scale, with Gil Tolle and Jonathan Hui
CS 263: Design and Analysis of Programming Languages
Project: An untrusted verifier for Typed Assembly Language [see also my MS project report for an expanded version]
Math 225A: Metamathematics

At Carnegie Mellon University

Spring 2003
15-399: Constructive Logic
15-412: Operating System Design and Implementation
15-453: Formal Languages, Automata, and Computation
80-180: The Nature of Language
Fall 2002
15-381: Introduction to Artificial Intelligence
15-411: Compiler Design
21-355: Advanced Calculus I
85-100: Introduction to Intelligence
Spring 2002
15-312: Programming Language Design and Processing
15-451: Algorithm Design and Analysis
21-700: Mathematical Logic II
80-120: Reflections on Science
15-212: (TA) Principles of Programming
Fall 2001
15-212: Principles of Programming
15-213: Introduction to Computer Systems
21-300: Basic Logic
36-325: Introduction to Probability and Mathematical Statistics I
85-213: Information Processing Psychology and Artifical Intelligence
Spring 2001
15-211: Fundamental Data Structures and Algorithms
15-251: Great Theoretical Ideas in Computer Science
21-260: Differential Equations
21-341: Linear Algebra
Fall 2000
15-151: Mathematical Foundations of Computer Science
21-259: Calculus in Three Dimensions
33-232: Physical Analysis
76-101: Intepretation and Argument
79-104: Introduction to World History

Advanced Placement credit

Calculus BC
Computer Science AB
English Literature
European History
Physics C: Mechanics
Physics C: Electricity and Magnetism
U.S. Government & Politics