Undergraduate Research Opportunities

UVA CS undergraduate are often excited about getting involved in research during their time in the department! Never be afraid to talk to a professor during their office hours about their research! Trust us - they LOVE talking about this stuff!

Available Research Projects

UPDATE: The previous research listing hosted on the SEAS website (through ug-research.cs.virginia.edu) has not survived the transition to the new design. We are working to correct the problem. In the meantime, the project listing can be found below.

Getting Credit for Research

Students can get credit for research in a few different ways.

Independent Study Courses

These courses are one-off offerings tailored to specific students. In general, they may consist of:

  • Instruction in topics not of general interest.
  • Supervised research, in which the primary goal is the student performing or assisting in a research project.
  • Supervised project work, in which the primary goal is the student creating or assisting in the creation of a significant artifact.

They do not require special approval by the department to be offered as long as they both (a) have small enrollments and (b) are offered by a CS faculty member.

The course numbers are:

  • CS 2993 - Should have limited prereqs and deal in less advanced material than a typical computing elective.
  • CS 4993 - Should be at least as advanced as a typical computing elective.

Instructors and students working on an independent study courses should clearly specify their expectations in writing early in the term (a week before the drop deadline at a minimum) and the final grade should be based on those expectations.

Up to three (3) credits of CS 4993 can be counted as CS elective credits for BSCS, BACS, and CPE students. Any credits of 4993 beyond three will count as unrestricted elective. CS 2993 can be used for unrestricted elective credits or to replace missing credits from other 2000-level CS courses that may be missing due to transfer.

CS Capstone

Research or independent study done as a part of the BSCS Capstone should be under the CS 4980 number as opposed to CS 4993. Although the course are functionally the same, CS 4980 requires that the course be completed by writing the technical paper for the SEAS Senior Thesis Portfolio, whereas CS 4993 does not. If a student uses CS 4993 for their capstone, they will have to enroll in CS 4991 in order for any paper they have written to count.

Research in Another Department

We are often asked if research in another department can count for either CS 4993 or CS 4980. The answer is yes, but only under certain arrangements. Only faculty with an appointment (regular, secondary, or joint) can offer credits in the CS department. Thus, if you want to do research with a professor in, for example, Mechanical Engineering, there would need to be a CS faculty member co-advising the project in order to offer the CS credit. This is not an unusual arrangement. Often the other faculty member does all of the mentoring and the CS faculty member just “signs off” that there is sufficient work that the research can count for CS credit.

This means the research MUST have enough CS content that it could be considered an upper-level CS elective. One way to tell the difference is what background knowledge you need to have. If you are applying concepts from courses like CS 3140 or CS 3100, then it might be appropriate. But if you are just building a web page, then that’s probably not enough.

When in doubt, ask your program director or faculty advisor.

Current Undergraduate Research Projects