Distinguished Major in Computer Science

Bachelor of Arts Computer Science majors who have completed 18 credit hours towards their major may apply to the Distinguished Majors Program. The DMP focuses on a creative student research project as advised and approved by an advisor.

Students who are accepted must complete a report based on two semesters of research. The Distinguished Majors Program features opportunities for students and advisors to collaborate on creative research; it is not a lock-step program with strict content requirements, but an opportunity to work closely with a professor on a project that is interesting and exciting to you.

Upon successful completion of the program, students will likely be recommended for a baccalaureate award of Distinction, High Distinction, or Highest Distinction. According to College rules, to earn a Distinguished Major, students must have a cumulative GPA of 3.4 or better.

You can find some examples of complete DMP papers here: DMP Graduates.

For more information on the DMP, contact the DMP Director: David Evans (https://www.cs.virginia.edu/evans/office, evans@virginia.edu).

Distinguished Majors Program Requirements

Students applying to the DMP must have completed 18 credit hours towards their Computer Science major by the end of the semester in which they apply. Students typically apply during the Spring semester of their third year, but it is possible to apply earlier.

The 18 credit hours can can come from any course used to fulfill the “Major Subject Requirements”, “Computing Electives” or “Integration Electives” of the Interdisciplinary Major in Computer Science Curriculum. (Exceptions to the 18 credit hours rule may be granted at the discretion of the Distinguished Majors Program Director.)

In addition to the normal requirements for the computer science major, they must register for two semesters of supervised research (CS 4998 for 3 credits each semester). Students may apply to the DMP before completing this supervised research, but students must complete the supervised research to complete the DMP. Based on their independent research, students must complete, to the satisfaction of their advisor and the Distinguished Major Program Director, a project at least one month prior to graduation.

Note: The CS 4998 DMP credits do not apply towards the credit hours required for the major. That is, they cannot be used to fulfill any requirement listed on the BACS curriculum.

Joining the DMP

DMP Application Form

Application Deadline: Students must apply by the third semester prior to graduation. Spring graduates should submit their applications in by 29 April of the year before graduation. Winter graduates, must have their applications in by 29 October of the year before the winter graduation. (If these deadlines are missed, students can still join the DMP at the discrection of the DMP Director. In general, we are happy to have students join after the application deadline so long as they have a research project and advisor set before beginning the semester two semesters before they plan to graduate.)

Note that applying to the program occurs relatively early in the research process. It is not necessary to have a fully formed research idea to apply for the DMP, although it is expected that you have found a research advisor to work with. It is not necessary to have a second reader identified when you apply to join the DMP.

Students seeking to enter the DMP should complete the following steps:

1. Find a research advisor. Students must work with a research advisor on their DMP project, and should work with their research advisor to define a DMP project. The research advisor is typically a member of the Computer Science faculty at UVa. Exceptions to this may be granted at the discretion of the DMP Director, and it is often suitable to have an advisor from outside UVA or from another department. Students are expected to meet regularly (typically every week or every other week) with their research advisor throughout the course of the project.

Many students become involved in research well before the DMP application process — some as early as their first semester at UVA. The most important preparation for students interested in the DMP is becoming involved in research early. Students are encouraged to start early. It is not too early to start talking to professors about research in your first semester, and one of the best ways to get involved in a research group is to impress a professor with what you do in class.

If you have an idea for a project you would like to do, but don’t have a research advisor, contact the DMP Director to meet to discuss the areas you are interested in working in and for advice on finding a potential advisor. It is a good idea to do this early, especially to increase the likelihood you’ll be able to find a summer research position.

2. Decide on a project and write a research proposal.

The student and research advisor should discuss the proposed research together, and work together to develop the research proposal.

The student should write a brief proposal for the project including a (1) clear motivation for the work (why this problem is worth working on and hasn’t been solved yet), (2) a summary of related work, (3) a description of what you plan to do and (4) how you will evaluate it. A DMP project should be a research project that seeks to answer some unknown research question; it is not enough to just build some interesting software or study an area in depth. A DMP student should work with her research advisor to develop the project proposal, and the research advisor should review and agree to the proposal.

The project proposal need not be very detailed as long as the essential elements are in place. There are no formal guidelines (e.g., length, format, etc.) for what constitutes an acceptable project, it is up to the research advisor and the DMP Director to agree that a proposed project is satisfactory. Our expectation is that most DMP projects will result in a paper that could be published in a research conference or workshop. Alternative goals could also be appropriate, but should be discussed with the research advisor and DMP director.

3. Enlist a second reader. (It is not necessary to do this before applying to the DMP)

DMP projects must have a second reader, who, in addition to the research advisor and DMP director, will be responsible for evaluating the project. The second reader agrees to read the DMP report and provide an evaluation. In most cases, we hope the second reader will also be involved in other phases of the work, providing additional expertise to the DMP researcher.

Your research advisor may be able to help you find a second reader based on your interests and your project proposal. It is not necessary to have the second reader identified when you submit the DMP application, but is important to find a suitable second reader early in the research. The second reader should be a faculty member most suited to assess the quality and context of your work. If appropriate, the second readers can be a faculty member from another university or from another department at UVA. However, CS faculty members are also acceptable.

4. Submit the DMP application form and proposal.

Complete the DMP Application.

The application includes a very brief (expected to be no more than one page) research proposal describing your DMP project, which can be submitted as either plaintext or an attached PDF file. After submitting the form, you should receive a notification regarding acceptance within one week (so feel free to follow-up with the DMP Director, evans@virginia.edu, if you do not receive a response by then).


In general, a Distinguished Majors Program project should be the creative research output of a single DMP student, guided by faculty advisors. In practice, students may, for example, work with a research group or a graduate student in the completion of a project. The DMP report should reflect and represent the student’s individual work, as guided by faculty advisors. The extent to which collaborative work (e.g., a peer-reviewed publication on which two students are co-authors) should be included is left to the discretion of the advisor and DMP Director. So long as the DMP student played an important and clear role in creative aspects of the research and in writing the paper, it is often appropriate to use a co-authored paper as the DMP report, and not necessary to write a separate report from a paper that is published or submitted to a research conference or journal. Since the DMP designation is for individual students, however, if the DMP report is a co-authored paper, it must be clear in the research advisor’s evaluation what the DMP student’s role was and how she contributed to the research and writing.

Completing the DMP

To successfully complete the DMP, students must write a research paper describing their work.

There are no specific length or formatting requirements for the DMP paper, and it is up to the student and research advisor to decide on this. In most cases, we recommend following the formatting and length requirements of a Computer Science research conference. The research advisor should specify any requirements for the DMP report, in consultation with the DMP director for any unusual situations.

The DMP report must be completed and submitted at least thirty days prior to graduation. For May 2022 graduation, the deadline is Friday, 22 April 2022.

DMP students should submit their DMP paper as a PDF attachment to an email to the DMP director (evans@virginia.edu), their advisor and second reader, by the required deadline (30 days before graduation). The DMP director will follow-up with the student’s advisor and second reader to obtain the necessary evaluations.

Evaluation. Students will usually receive a recommendation for a baccalaureate award of Distinction, High Distinction or Highest Distinction upon successful completion of the DMP. The Highest Distinction designation is reserved for work that is of sufficient quality and importance to be published in a significant research venue. Eligible students who complete the program receive baccalaureate awards based on the Distinguished Majors Program Director’s assessment of their thesis advisor and second reader evaluations. This award will be visible on the student’s diploma.

Students who fall below a 3.4 cumulative GPA are not eligible to be Distinguished Majors. The 3.4 cumulative GPA is a College of Arts and Sciences school requirement, and it cannot be waived. There is no penalty beyond not receiving the award for students who are no longer eligible.

Reviews will be completed and the DMP Director’s recommendation will be sent to the Chair of the University Committee on Special Programs two weeks before graduation.

Distinguished Majors in Computer Science


Ethan Blaser, Highest Distinction

Graph Embedding with Hierarchical Attentive Membership
Advisor: Hongning Wang (Second reader: Jundong Li)

Henry Carscadden, Highest Distinction

Techniques for Blocking the Propagation of Two Simultaneous Contagions over Networks Using the Graph Dynamical Systems Framework
Advisor: Madhav Marathe (Second reader: S. S. Ravi) UVA Today Article: Engineering Grad Receives Rader Prize for Network Science Research

Hing Yuet (Sophia) Cheung, Distinction

Item Under-Recommendation in Sequential Recommendation System
Advisor: Hongning Wang (Second reader: Yangfeng Ji)

Abigail Glaubit, High Distinction

Towards Using RPKI to Secure Tor Against BGP Routing Attacks
Advisor: Yixin Sun (Second reader: David Evans)

Jefferson Grigsby, Highest Distinction

Jack Prescott, Highest Distinction

Mengchen (Veronique) Wang, Distinction

Microphone Array-based User Identity Verification Scheme
Advisor: Yuan Tian (Second reader: Brad Campbell)


Andrew Carluccio, Highest Distinction

Advisor: R. Lee Kennedy (Drama) (Second reader: Panagiotis Apostolellis)
UVA Today Article: Critically Creative: Recent Grad Develops Online Performance Modification

Eric Wang, High Distinction

Regulatory Sequence Prediction using Graph Convolutional Network for Coronary Artery Disease (CAD)-linked Genetic Variants
Advisor: Yanjun Qi (Second reader: Clint Miller)

Jin Yong Yoo, High Distinction

Design of Intelligent Retrieval System for Biomedical Text and its Application to COVID-19 Literature
Advisor: Yanjun Qi (Second reader: Yangfeng Ji)


Kaiming Cheng, High Distinction

MelodyPianter: Draw the Melody in Virtual Reality [Video]
Advisor: Mark Sherriff (Second reader: Mark Floyran) Graduate School: University of Washington

Elijah Lewis, High Distinction

Attrition Prediction Algorithm
Advisor: Hongning Wang (Second reader: Bethany Teachman)

Brandon Liu, High Distinction

Sanity Checker: Evaluations for Deep Neural Network Interpretability Tools
Advisor: Yanjun Qi (Second reader: Nada Basit)


Rachel Pehrsson, Distinction

Effectiveness of Dynamic Online Systems for Student Mastery
Advisor: Mark Floryan


Salah Assana, High Distinction

Thermatrack: Room Level Tracking of Occupants Using Thermal Cameras
Advisor: Kamin Whitehouse (Second reader: Vicente Ordonez)

Zihan Ni, Distinction

Intent-aware Query Obfuscation for Privacy-Preserving Personalized Web Search
Advisor: Hongning Wang (Second reader: David Evans)


Tara Lakshmi Raj, High Distinction

AsyncTalent: A talent recruiting app that automates candidate screening and phone interviewing
Advisor: Alf Weaver (Second reader: David Touve)

Rolph Jester Recto, High Distinction

Finding and Fixing Bugs in Liquid Haskell
Advisor: Westley Weimer

Ziqi Liu, High Distinction

A Proxy for Mitigating Threats from Embedded Third-party Scripts
Advisor: David Evans (Second reader: Mary Lou Soffa)


Brielin C. Brown, Highest Distinction

The Complexity of Computing the Density of States
Readers: Gabriel Robins (Computer Science) and Oliver Pfister (Physics)
Graduate School: University of California, Berkeley
National Science Foundation Graduate Research Fellowship 2011

Ethan J. Fast, High Distinction

Designing Better Fitness Functions for Automated Program Repair
       Published in 12th Annual Conference on Genetic and Evolutionary Computation
Advisor: Westley Weimer (Computer Science) (Second reader: David Evans, Computer Science)
Graduate School: Stanford University


Richard F. McPherson, High Distinction

A Transitive Signature Scheme for Directed Trees
Advisor: abhi shelat (Computer Science) (Second reader: Bascom Deaver, Physics)
Graduate School: University of Texas at Austin

Michael W. Lew, High Distinction

Using Lego Mindstorms NXT And Lejos in An Advanced Software Engineering Course
       Published in 23rd IEEE Conference on Software Engineering Education and Training, March 2010
Readers: Tom Horton (Computer Science) and Mark Sherriff (Computer Science)
Graduate School: George Mason Law School


Sara M. Alspaugh, High Distinction

Efficient Time-Aware Prioritization with Knapsack Solvers
Advisor: Mary Lou Soffa (Computer Science) (Second Readers: Kai-Uwe Bux, Mathematics)
Graduate School: University of California Berkeley
National Science Foundation Graduate Research Fellowship

Rachel A. Miller, Highest Distinction

Goldreich’s One-Way Function Candidate and Drunken Backtracking Algorithms
Advisor: abhi shelat (Computer Science) (Second reader: Christian Gromoll, Mathematics)
Graduate School: Massachusetts Institute of Technology
National Science Foundation Graduate Research Fellowship