- Home
- Teaching and Courses
- Service
- Research
- Senior Theses
- Publications and Presentations
- Curriculum Vitae
- Links
Teaching and Courses
Teaching Awards
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: All course links go to my latest iteration of each course. Numbers in parentheses represent overall instructor rating. My Calendar - Google Calendar
Fall 2013 Courses
CS 1110 - Introduction to Computer Science - Podcast (11:00 AM lecture)CS 4720 - Web and Mobile Systems - Podcast
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
Research in CS Education
Layer, R., Sherriff, M., and Tychonievich, L. "Inform, Experience, Implement - Teaching an Intensive High School Summer Course." The 42nd Annual Frontiers in Education (FIE) Conference, Seattle, WA, Oct 3-6, 2012. To appear.
Sherriff, M. "Teaching Web Services and Service-Oriented Architecture using Mobile Platforms." The 40th Annual Frontiers in Education (FIE) Conference, Washington, DC, Oct 27-30, 2010. [PDF]
Krogius, O., Horton, T., and Sherriff, M. "Role of Larger Software Artifacts in Introductory Computer Science Courses." The 40th Annual Frontiers in Education (FIE) Conference, Washington, DC, Oct 27-30, 2010. [PDF]
Lew, M., Horton, T., and Sherriff, M. "Using LEGO MINDSTORMS NXT and LEJOS in an Advanced Software Engineering Course." The 23rd Annual IEEE-CS Conference on Software Engineering Education and Training, Pittsburg, PA, Mar 9-12, 2010. [PDF]
Sennett, J. and Sherriff, M. "Compatibility of Partnered Students in Computer Science Education." The 41st ACM Technical Symposium on Computer Science Education, Milwaukee, WI, Mar 10-13, 2010. [PDF]
Burg, J., and Sherriff, M. "Unix Tutorials to Move Students from PC/Windows to Unix." ED-MEDIA 2002 Conference, June 30, 2002.
Sharing of Teaching Materials and Techniques
Pair Programming
Sherriff, M. "Pair Programming in the Classroom." Tapestry CS Education Workshop, Summer 2009, 2010, and 2011. [PPT]
My work and advocating for pair programming (an extension of my work with my PhD advisor at NC State University, Dr. Laurie Williams) has had an impact both at UVa and at other schools. I have shared my knowledge of team creation and management with several other SEAS facutly at UVa and have given several presentations about it to over 100 high school teachers. They have also contacted me to let me know how their efforts have been going. I'm proud to say that my efforts in spreading pair programming as a mechanism for helping lower-level programmers has been successful.
The Encryption Chase
Sherriff, M. "Encryption Chase - Assignment for CS2." Nifty Assignments Panel, SIGCSE 2010, Milwaukee, Wisconsin, March 2010. http://nifty.stanford.edu/2010/sherriff-encryption-chase/ - This chase activity was recognized as one of the "Nifty Assignments" in computing in 2010. Since then, it has been adopted by faculty and industry practioners both at UVa and abroad.
Here are two instances of the chase that I created for CS 1110 for teaching loops and encryption: Chase 1 - Loops & Chase 2 - Encryption
For the younger kids in the LEAD program, I wrote a simpler chase with a lesson on the history of cryptography: Cryptography Lesson & LEAD Chase
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)
Senior Thesis Projects
Fall 2012 - Spring 2013 (5)- 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
- Member, SEAS Undergrad Curriculum Committee
- Member, eText Pilot Advisory University Committee
- SEAS Summer Advising
- CS 4720 - Web & Mobile Systems
- CS 4501 - Service Learning Practicum
- CS 1110 - Added second programming language, scaled to much larger size
- CS 150 - 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]
