As Primary Instructor

  • CS 70 Discrete Mathematics: An introduction to the ideas and techniques of discrete mathematics that are widely used in computer science. The goals of this course are to develop rigorous problem solving skills and to show how ideas and concepts from theory are applied to specific significant applications. Topics include: propositional logic, proofs, number theory, combinatorics, probability theory, graph theory, and computability.
    When: Summer 2009 [syllabus] [evals]

As Assistant Instructor

  • CS 188 Artificial Intelligence: Introduction to the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis is on the statistical and decision-theoretic modeling paradigm (from catalog description).
    When: Spring 2006, Fall 2007, Fall 2008

  • CS 294 Statistical Natural Language Processing: An introduction to current statistical techniques for the automatic analysis of natural (human) language data. The dominant modeling paradigm is corpus-driven supervised learning, but unsupervised methods and even hand-coded rule-based systems are discussed where appropriate (from catalog description).
    When: Fall 2005, Fall 2006, Spring 2008