Tutorials and Short Courses

  • Resources, Knowledge, and Actions, week-long course at 31st European Summer School in Logic, Language, and Information (ESSLLI 19), Riga, Latvia, August 2019

  • 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 30th European Summer School in Logic, Language, and Information (ESSLLI 18), Sofia, Bulgaria, August 2018 (slides)

  • Social Networks for Logicians, week-long joint course with Zoé Christoff at 30th European Summer School in Logic, Language, and Information (ESSLLI 18), Sofia, Bulgaria, August 2018 (slides)

  • 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

  • Data Mining

  • 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