Teaching and Courses
Teaching Awards
2016 IEEE Computer Society Computer Science and Engineering Undergraduate Teaching Award
Citation: “For outstanding contributions to undergraduate computer science education through innovative teaching and commitment to increasing enrollment and diversity in computer science programs.”
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
Teaching Portfolio - Full Document
[PDF]
Personal Teaching Statement
[PDF]
Course Information
NOTE: Some links go to my latest iteration of each course. Numbers in parentheses represent overall instructor rating. My Calendar - Google Calendar
Fall 2016 Courses
CS 1110 - Introduction to Computer ScienceCS 4720 - Mobile Application Development
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 DesignSpring 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 DesignSpring 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 MethodsSpring 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 MethodsSpring 2011 Courses
CS 1110 - Introduction to Computer Science - Podcast - Teaching Evaluations: Section 1 (4.4/5.0) | Section 2 (4.43/5.0CS 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 MethodsSpring 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 MethodsSpring 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 Background
NC State Outstanding Teaching Assistant Award - Spring 2005Certificate of Accomplishment in Teaching Program Member
Coursework in EAC 786 - Teaching for College
Previous Courses
[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
CSC 326 - Software Engineering - Teaching Assistant for Dr. Laurie Williams - Fall 2005CSC 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
Advising and Mentoring
Undergraduate Advisees
- 2008-2009 - 28 Advisees (CS, BACS, First-Year SEAS)
- 2009-2010 - 42 Advisees (CS, BACS, First-Year SEAS)
- 2010-2011 - 40 Advisees (CS, BACS, First-Year SEAS)
- 2011-2012 - 32 Advisees (CS, BACS, First-Year SEAS)
- 2012-2013 - 44 Advisees (CS, BACS, First-Year SEAS)
- 2013-2014 – 50 Advisees (CS, BACS, First-Year SEAS)
- 2014-2015 – 52 Advisees (CS, BACS, First-Year SEAS)
- 2015-2016 – 45 Advisees (CS, BACS, First-Year SEAS)
Senior Thesis Projects
Fall 2015 – Spring 2016- Members of Game Design Research Group with Prof. Mark Floryan
- Jennifer Lu – Gamification in Education
- Anna Greene – Gamification in Education
- (Also other members of the Game Design Research Group with Prof. Mark Floryan)
- Dru Knox – Software Maintenance Lifecycles with Non-Profit Software Systems
- Travis Pennetti – Educational Video Games
- Connie Xie – Automated Quadcopters with Android Devices
- Michael Legore - Software Maintenance Lifecycles with Non-Profit Software Systems
- Daniel Miller - Visualizing UVa Enrollment Trends
- Amanda Ray - Efficient User Interfaces for Aiding Students with Enrollment
- Hunter Williams - Automated Quadcopters with Android Devices
- Samuel Wilson - Automated Quadcopters with Android Devices
- Alex Johnson - Software for Non-Profit Organizations
- Matt Russell - Software for Non-Profit Organizations
- Erik Davis - An Evaluation of Python as an Effective CS1 Language
- Harry Bowron - Open-source Software for Teaching Chemistry
- Navid Hosseini - A More Cost-Effective Unattended Ground Sensor Using Commercial Off-the-Shelf Products
- Manuel Cordovez (SIE)- A More Cost-Effective Unattended Ground Sensor Using Commercial Off-the-Shelf Products
- Katie Hempenius (SIE)- A More Cost-Effective Unattended Ground Sensor Using Commercial Off-the-Shelf Products
- Reed Wilson (ECE)- A More Cost-Effective Unattended Ground Sensor Using Commercial Off-the-Shelf Products
- Jared Harding - Mobile HCI for Course Selection
- Calvin Li - Voice Interface for Portable Learning
- George Washington - Voice Interface for Portable Learning
- Bennett Sorbo - CavDaily Advertising
- Nikhita Karki - Scheduling System for Student Volunteers at UVa Hospital
- Daniel Magnusson - Motion Sickness with Video Games
- Kevin Leach - Prescription Databases
- Michael Devine - Generating Music and Art using Microsoft Kinect
- Olex Ponomarenko - Generating Music and Art using Microsoft Kinect
- Derrick Brameyer - Agile Development in Student Projects (Ind. Study)
- Alan Kush - Agile Development in Student Projects (Ind. Study)
- Matt Beattie - Bluetooth Identification for Vehicles
- Ryan Grigsy - Security for Emergency Announcement Systems
- Joshua Joyner - Lego Mindstorm NXT Sensor Simulation
- Seth Micalizzi - Mobile GPS Social Applications
- Charles Plucker - Mobile Virtual Reality
- Emma Rosenfeld - Teaching Time Concepts to Early Elementary Students
- John Szmuski - Bluetooth Identification for Vehicles
- Steven Trombetta - PairEval v2.0
- Jessica Vasconcellos - Student timecard system for Newcomb Hall
- Jeffery Gaither - Web Software Source Control Management and Users
- Michael Miller - An Analysis of Static Metrics in Open-Source Software Projects
- Benjamin Plunkett - UVaCollab: Compliance with FERPA
- Joshua Sennett - Compatibility of Partnered Students in Computer Science Education
- Eric Bradbury - A New Paradigm for Tutoring at the School of Engineering and Applied Science
- Fred Dysart - PHP Based Automated Fix for SQL Injection Attacks
- Maureen Maughn - Web-Based Kennel System in PHP and MySQL
- Danny Shih - Integrated Querying in C# using Microsoft LINQ
Evidence of Self-Improvement
- Podcasting of courses for self-review
- Peer evaluators have watched me teach and have provided critiques (Profs. Horton, Bloomfield, and Humphrey)
- Constant feedback from students through message boards and anonymous feedback (available by request)
- Continued research in CS education
- Continued participation in education conferences
Curriculum Efforts
Committees
- Chair, CS Undergrad Curriculum Committee
- Chair, SEAS Undergrad Curriculum Committee
- Member, eText Pilot Advisory University Committee
- SEAS Summer Advising
- CS 4720 - Web & Mobile Systems
- CS 4970 and CS 4971 - Service Learning Practicum
- CS 1110 - Added second programming language, scaled to much larger size
- CS 1120 - Introduced two new programming languages
- CS 2110 - Introduced Android phone projects
- CS 3240 - Introduced Lego MINDSTORM NXTs and Bluetooth projects
- CS 4750 - Introduced cloud and distributed database systems
Letters of Support
- Unsolicited letter of support from The Society of the Dawn, a secret society at UVa [PDF]