Tutorials and Short Courses

  • Knowledge, Strategy, and Know-How, half-day tutorial at 16th International Conference on Principles of Knowledge Representation and Reasoning (KR 18), joint with Jia Tao, Tempe, Arizona, October  2018
  • Strategies, Knowledge, and Know-How, week-long course at the 30th European Summer School in Logic, Language, and Information (ESSLLI 18), Sofia, Bulgaria, August 2018
  • Social Networks for Logicians, week-long joint course with Zoé Christoff at the 30th European Summer School in Logic, Language, and Information (ESSLLI 18), Sofia, Bulgaria, August 2018
  • Independence in Information Flow, Game Theory, and Probability Theory, week-long course at 26th European Summer School in Logic, Language, and Information (ESSLLI 14), Tübingen, Germany, August 2014

Gradaute Classes

  • Fundamentals of Computer Science III
  • Advanced Artificial Intelligence
  • Advanced Programming Languages
  • Formal Methods for Software Engineering

Honors Classes

  • Logic, Knowledge, and Interaction

Undergraduate Electives

  • Foundations of Multiagent Systems
  • Mobile Software Development [press]
  • Numerical Methods
  • Formal Methods
  • Computer Graphics
  • Artificial Intelligence
  • Formal Languages with Applications
  • Software Engineering and Design
  • Object-Oriented Programming with Java

Core Undergraduate Classes

  • Applications of Sets, Logic, and Recursion
  • Discrete Mathematics
  • Theory of Computation
  • Foundations of Mathematics
  • The Art of Programming
  • Calculus II
  • Data Structures
  • Algorithms
  • Computer Organization
  • Senior Project

General Education Classes

  • First Year Seminar: Infinity
  • First Year Seminar: Recursion in Algorithms, Logic, and Mathematics
  • College Algebra and Trigonometry
  • Computer and Information Technology