Mark Sherriff headshot
MS

Mark S. Sherriff

Professor
Unit: School of Engineering and Applied Science
Department: Department of Computer Science
Office location and address
Rice Hall 401
85 Engineers Way
Charlottesville, Virginia 22903
Education
B.S. ​Wake Forest University, 2002
M.S. ​North Carolina State University, 2004
Ph.D. North Carolina State University, 2007​
Biography

Mark Sherriff is an Associate Professor and member of the general faculty in the Department of Computer Science at UVA. His teaching focus is in introductory computer science, video game design, mobile app development, web application development, and software engineering. His research interests are in empirical CS education at all levels, video game design, and agile software development. He received his BS in Computer Science from Wake Forest University in 2002 and his MS and PhD from NC State University in 2004 and 2007.

EN-CS NSF Showcase for DUE projects at the ACM SIGCSE Conference
Source: U.S. National Science Foundation (NSF)
October 01, 2018 – September 30, 2022
EN-CS Collaborative Research:Transforming Computer Science Education Research Through Use of Appropriate Empirical Research
Source: U.S. NSF - Directorate For Ed. & Human Resources
September 01, 2015 – August 31, 2022
EN-CS NSF Showcase for DUE projects at the ACM SIGCSE Conference
Source: U.S. NSF - Directorate For Ed. & Human Resources
October 01, 2013 – September 30, 2018
CS 2993: Independent Study
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. This version of Independent Study is appropriate for students who have not completed CS 2150.
CS 3240: Advanced Software Development Techniques
Credits: 3
Analyzes modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and documentation. Prerequisite: CS 2150 with a grade of C- or higher.
CS 4720: Mobile Application Development
Credits: 3
Mobile computing devices have become ubiquitous in our communities. In this course, we focus on the creation of mobile solutions for various modern platforms, including major mobile operating systems. Topics include mobile device architecture, programming languages, software engineering, user interface design, and app distribution. Prerequisite: CS 2150 with a grade of C- or higher.
CS 4730: Computer Game Design
Credits: 3
This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering. Prerequisite: CS 2150 with a grade of C- or higher.
CS 4980: Capstone Research
Credits: 1–3
This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 2150 with a grade of C- or higher
CS 4993: Independent Study
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission.
CS 4998: Distinguished BA Majors Research
Credits: 3
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 2150 with a grade of C- or higher and CS BA major status.
CS 6890: Industrial Applications
Credits: 1
A graduate student returning from Curricular Practical Training can use this course to claim one credit hour of academic credit after successfully reporting, orally and in writing, a summary of the CPT experience to his/her academic advisor.
CS 7993: Independent Study
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
CS 7995: Supervised Project Research
Credits: 3
Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor.
CS 8897: Graduate Teaching Instruction
Credits: 1–12
For master's students who are teaching assistants.
CS 8999: Thesis
Credits: 1–12
Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary.
CS 9897: Graduate Teaching Instruction
Credits: 1–12
For doctoral students who are teaching assistants.
CS 9999: Dissertation
Credits: 1–12
Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary.

IEEE Computer Society Computer Science and Engineering Undergraduate Teaching Award 2016

UVa All-University Teaching Award 2014

UVa ACM Professor of the Year 2012

Trigon Engineering Society Thomas E. Hutchinson Faculty Award Winner 2011

Hartfield-Jefferson Scholars Teaching Prize (first year ever awarded) 2010

UVa ACM Professor of the Year 2010