Teaching
Teaching Experience
Professor, Department of Computer Science, Worcester Polytechnic Institute. 2002-present
Teaching Assistant, Human Computer Interaction, Carnegie Mellon University. 2001
Math and Science Teacher, Ephraim Curtis Middle School, Sudbury Public Schools. 1998-1999
Teaching Assistant, Data Structures (1996), Artificial Intelligence (1997), Human Computer Interaction (2001), Carnegie Mellon University.
Math and Science Teacher, Holy Spirit Catholic School, Baltimore, Maryland. 1994-1995
Science Teacher, Booker T. Washington Middle School, Baltimore Public Schools, Baltimore, Maryland. Teach For America. 1993-1994
Amherst College, Students for Educational Equality. Developed a one-on-one tutoring program pairing Amherst College students with inner-city children in Holyoke, Massachusetts. 1989-1993
For over a decade Dr Heffernan has been teaching one undergraduate AI class each year and one graduate course in his area.
Undergraduate Courses Taught at WPI
2002 Fall B-Term: CS 4341: Artificial Intelligence. (52 students)
2005 Spring D-Term: CS 4341: Artificial Intelligence. (80 students)
2006 Fall A-Term: CS 4341: Artificial Intelligence. (40 students)
2007 Spring D-Term: CS 2102: Object Oriented Design (the first Java class students take at WPI). (69 students)
2008 Spring D-Term: CS 2102: Object Oriented Design (the first Java class students take at WPI). (64 students)
2009 Fall B-Term: CS 4341: Artificial Intelligence. (48 students)
2011 Spring D-Term: CS 4341: Artificial Intelligence. (81 students)
2012 Fall B-Term: CS 4341: Artificial Intelligence. (20 students)
2013 Fall A-Term: CS4341: Artificial Intelligence. (34 students)
2015 Fall A-Term: CS4341: Artificial Intelligence. (54 students)
2016 Spring C-Term: CS4341: Artificial Intelligence. (57 students)
2018 Fall A-Term: CS4341: Artificial Intelligence. (35 students)
2019 Fall A-Term: CS4341: Artificial Intelligence. (37 students)
Please view a full list of IQPs and MQPs.
Graduate Courses Taught at WPI
For over a decade Dr Heffernan has been teaching one undergraduate AI class and one graduate course in his area. At the graduate level he rotates between the following three courses.