Teaching Awards

  • 2016 IEEE Computer Society Computer Science and Engineering Undergraduate Teaching Award
  • 2014 UVa All-University Teaching Award
  • 2012 UVa ACM Professor of the Year
  • 2011 Trigon Engineering Society Thomas E. Hutchinson Faculty Award Winner
  • 2010 Hartfield-Jefferson Scholars Teaching Prize (first year ever awarded)
  • 2010 UVa ACM Professor of the Year
  • 2010 Trigon Engineering Society Thomas E. Hutchinson Faculty Award Finalist

Courses

NOTE: Some links go to my latest iteration of each course. Numbers in parentheses represent overall instructor rating.

Google Calendar

Spring 2017 Courses
NOTE: Granted teaching reduction for Spring 2017 semester to work on CS education research
CS 4720 - Mobile Application Development

Fall 2016 Courses
CS 1110 - Introduction to Computer Science - Teaching Evaluations (4.51/5.0)
CS 4720 - Mobile Application Development - Teaching Evaluations (4.36/5.0)

Spring 2016 Courses
CS 1110 - Introduction to Computer Science - Teaching Evaluations (4.59/5.0)
CS 4720 - Web and Mobile Systems - Teaching Evaluations (4.34/5.0)

Fall 2015 Courses
CS 1110 - Introduction to Computer Science - Teaching Evaluations (4.60/5.0)
CS 4720 - Web and Mobile Systems - Teaching Evaluations (4.20/5.0)

Summer 2015 Course
CS 4730 - Computer Game Design

Spring 2015 Courses
CS 1110 - Introduction to Computer Science - Teaching Evaluations (4.42/5.0)
CS 4730 - Computer Game Design - Teaching Evaluations (4.79/5.0)

Fall 2014 Courses
CS 1110 - Introduction to Computer Science - Teaching Evaluations (4.38/5.0)
CS 4720 - Web and Mobile Systems - Teaching Evaluations (4.22/5.0)

Spring 2014 Courses
CS 4720 - Web and Mobile Systems - Teaching Evaluations (4.64/5.0)
CS 4730 - Computer Game Design - Teaching Evaluations (4.57/5.0)

Fall 2013 Courses
CS 1110 - Introduction to Computer Science - Podcast (11:00 AM lecture) - Teaching Evaluations (4.69/5.0)
CS 4720 - Web and Mobile Systems - Podcast - Teaching Evaluations (4.68/5.0)

Summer 2013 Courses
CS 4730 - Computer Game Design

Spring 2013 Courses
CS 1110 - Introduction to Computer Science - Podcast (1:00 PM lecture) - Podcast (3:00 PM lecture) - Teaching Evaluations: Section 1 (4.57/5.0) | Section 2 (4.42/5.0)
CS 4750 - Database Systems - Podcast - Teaching Evaluations (4.34/5.0)

Fall 2012 Courses
CS 1110 - Introduction to Computer Science - Podcast (11:00 AM lecture) - Podcast (12:00 PM lecture) - Teaching Evaluations: Section 1 (4.66/5.0) | Section 2 (4.62/5.0)
CS 4720 - Web and Mobile Systems - Podcast - Teaching Evaluations (4.55/5.0)

Summer 2012 Courses
CS 2110 - Software Development Methods

Spring 2012 Courses
CS 1110 - Introduction to Computer Science - Podcast - Teaching Evaluations: Section 1 (4.55/5.0) | Section 2 (4.57/5.0)
CS 4501 - Service Learning Practicum - Teacher Overall Rating: 4.8/5.0 (Evaluations joint with Prof. Aaron Bloomfield

CS 4750 - Database Systems - Podcast - Teaching Evaluations (4.6/5.0)

Fall 2011 Courses
CS 1110 - Introduction to Computer Science - Podcast - Teaching Evaluations (4.64/5.0)
CS 4720 - Web and Mobile Systems - Podcast - Teaching Evaluations (4.69/5.0)
Summer 2011 Courses
CS 2110 - Software Development Methods

Spring 2011 Courses

CS 1110 - Introduction to Computer Science - Podcast - Teaching Evaluations: Section 1 (4.4/5.0) | Section 2 (4.43/5.0)
CS 4750 - Database Systems - Podcast - Teaching Evaluations (4.68/5.0)

Fall 2010 Courses

CS 1110 - Introduction to Computer Science - Podcast - Teaching Evaluations (4.58/5.0)
CS 4501 - Web Information Systems Engineering - Podcast - Teaching Evaluations (4.56/5.0)

Summer 2010 Courses
CS 2110 - Software Development Methods

Spring 2010 Courses
CS 2110 - Software Development Methods - Podcast - Teaching Evaluations (4.63/5.0)
CS 3240 - Advanced Software Development - Podcast - Teaching Evaluations (4.43/5.0)
Fall 2009 Courses
CS 2110 - Software Development Methods - Teaching Evaluations: Section 1 (4.52/5.0) | Section 2 (4.51/5.0)
CS 4501 - Web Information Systems Engineering - Teaching Evaluations (4.61/5.0)

Summer 2009 Courses
CS 201 - Software Development Methods

Spring 2009 Courses
CS 201 - Software Development Methods - Teaching Evaluations (4.49/5.0)
CS 340 - Advanced Software Development - Teaching Evaluations (4.43/5.0)

Fall 2008 Courses
CS 201 - Software Development Methods - Teaching Evaluations: Section 1 (4.48/5.0) | Section 2 (4.35/5.0)
CS 462 - Database Systems - Teaching Evaluations (4.61/5.0)

Spring 2008 Courses
CS 150 - Computing: From Ada to the Web - Teaching Evaluations (4.15/5.0)
CS 201 - Software Development Methods - Teaching Evaluations (4.08/5.0)

Fall 2007 Courses
CS 201 - Software Development Methods - Teaching Evaluations (4.02/5.0)
CS 462 - Database Systems - Teaching Evaluations (4.54/5.0)

Teaching at NC State University
[Download teaching evaluations]
CSC 440 - Database Management Systems - Summer 2006
CSC 440 - Database Management Systems - Summer 2005
CSC 440 - Database Management Systems - Summer 2004
CSC 440 - Database Management Systems - Summer 2003

Teaching Assistant at NC State University
CSC 326 - Software Engineering - Teaching Assistant for Dr. Laurie Williams - Fall 2005
CSC 326 - Software Engineering - Teaching Assistant for Dr. Purush Iyer - Spring 2005
CSC 326 - Software Engineering - Teaching Assistant for Dr. Laurie Williams - Fall 2004
CSC 326 - Software Engineering - Teaching Assistant for Dr. Laurie Williams - Fall 2002

Teaching Coursework
NC State Outstanding Teaching Assistant Award - Spring 2005
Certificate of Accomplishment in Teaching Program Member
Coursework in EAC 786 - Teaching for College