Teaching

Over the years, I have taught in the areas of AI (introductory, advanced, natural language processing, knowledge representation and reasoning, agents, semantic web, etc.), databases, programming languages and basic computer science courses (CS 101, data structures, interactive systems). I've offered a number of half-day and full day tutorials (see my CV for details). Here are some recent courses.

Fall 2016

Spring 2016

Fall 2015

Spring 2015

  • Sabbatical leave

Fall 2014

  • Sabbatical leave

Spring 2014

Fall 2013

Spring 2013

Fall 2012

Spring 2012

Fall 2011

Spring 2011

Fall 2010

Spring 2010

Fall 2009

Spring 2009

Fall 2008

Spring 2008

  • Sabbatical leave

Fall 2007

  • Sabbatical leave

Spring 2007

Fall 2005

Spring 2005

Fall 2004

Spring 2004

Fall 2003

Spring 2003

Fall 2002

Spring 2002

Fall 2001

Spring 2001

Fall 2000

Spring 2000

Fall 1999

Spring 1999

Fall 1998

Spring 1998

  • Sabbatical leave

Fall 1997

Spring 1997

Fall 1996

Spring 1996

Fall 1995

1991-1995

  • Fall 1995:
  • Fall 1995:
  • Spring 1995:
  • Fall 1994:
  • Spring 1994: CMSC 791 Intelligent agents
  • Fall 1993: 461 Databases
  • Spring 1993:
  • Fall 1992: 461 Databases
  • Spring 1992:

When I was at the University of Pennsylvania I taught courses in AI, data structures, programming languages, user interfaces, and natural language processing. I particularly enjoyed teaching the CS 2 course using the SICP. During the AI boom of the 1980s I also taught parts of week-long short courses on AI technology for Smart Systems Technology.