Skip to main content

Many of our undergraduate students undertake research guided by a faculty member outside of coursework. This page gives a summary of how to go about finding an undergraduate research opportunity that is a good match for you. It was created in January 2020 by Don Porter, with suggestions from Diane Pozefsky, and most recently updated in August 2024 by Prasun Dewan.

Take classes!

The first, and hardest, part of finding a research topic is figuring out what you like. Often, investigating new ideas can be quite different than consuming them.

As a hyperbolic example, just because you like playing video games does not necessarily mean you will enjoy research in computer graphics, which requires considerably more math than dominating Fortnite.

Classes in the major, especially upper-division (400+ level) courses, can be a great opportunity to get a taste of a given topic. Similarly, this is a great opportunity to get to know a potential research advisor.

Of course, if it is your first year and you are eager to start research early, it is still an option to jump into research sooner, especially if you are either self-taught on a topic, or just very passionate about learning in your spare time. More notes on this issue are below.

Word to the wise: Be sure to show up for a few office hours with the instructor just to say “hi” and ask their opinion about interesting research topics and what is happening in the department. It’s best to come when the class is less busy, like earlier in the semester or not just before a major assignment or deadline.

Read up on faculty and research group webpages

Once you identify a general area or areas of interest, the next step would be to look at the department webpages (such as our Research Areas page) for faculty interested in a given area.

Although faculty webpages vary substantially in how clear they are to non-experts, they can give you a flavor of the type of work that the professor is into.

If a research group webpage looks appealing, the next step is to read a paper or two. You are unlikely to understand everything you read (don’t panic!), but it does give you a flavor of the work. If you can’t understand the introduction or conclusion, consider revisiting the material after you take an appropriate course in that area.

  • Also, pay attention to the way an idea is evaluated: is it proofs? Human subjects work? Measurement of a computer system? This is how you will likely spend a lot of your time if you join that group.

Word to the wise: Faculty project lists are often stale. Faculty often make webpages for a project around the time they are done with the publication and release the source code or other artifacts. So these pages can be useful to get a sense of the type of work, but the specific project you would likely work on is likely not yet written up.

Search the Office of Undergraduate Research (OUR) Database

The Office of Undergraduate Research has a database where faculty can post open research opportunities, including paid RA positions, volunteer opportunities, and course credit opportunities. This is not a complete listing, but it can give you some good leads, both within and outside of the department.

Sign up for the email list for announcements of new opportunities

There is a UNC CS mailing list to announce research and related opportunities, for those looking. You will need to subscribe, and can unsubscribe yourself.

The details are emailed periodically to CS majors. You may also email professor Dewan for details if you are not on the majors list. (This is going to change from Fall 2024 stay tuned.)

Send a specific request to faculty member(s) for an appointment

Once you have narrowed the field to 2-3 faculty members you would like to work with, send each of them an email requesting an appointment at their convenience, expressing your interest in working with them, and asking if they have openings in their lab.

Word to the wise: Students often write emails that read as “generic” or “spam”, especially if they come from a student the professor doesn’t know. Thus, it is wise to make sure the email conveys that it is written:

    1. By a UNC student. Believe it or not, professors get a significant volume of requests from students outside UNC to work on research. Send the message from your UNC email address and mention how far you are in the program, as well as any relevant background that you think will make you able to contribute to the work.
    2. That it is not a “form” email with the professor’s name replaced. The best way to address this is to say something more specific about what you have learned from their page, or that attracted you to their work. If the email reads as if it could just as easily be addressed to professors Snoeyink, Mayer-Patel, or Pizer (by simply replacing the “Dear Prof. X” part), give it some more attention.

Other common issues and questions:

  • Paid versus volunteer opportunities:
    • Not all faculty have funding to pay undergrad RAs, and even those that do have funding may wish to do a “trial period” (say 1 semester) to see if the work is a good fit before paying a student.
    • If you can afford to do the work without being paid, it may open up more opportunities.
    • That said, for many students, being paid may be a requirement. If this is the case for you, there is nothing wrong with this, and it is best to be up-front with a potential mentor about the issue. Note that if you qualify for Federal Work-Study, this may open up some opportunities to do research as your work-study assignment (mention this to the faculty member).
  • The Professor did not answer my emails:
    • Send a few gentle reminders, say a week apart but at different times of day or days of the week, to “bump” the message back to the top of their inbox. Or go by office hours if advertised for their class, or just try to catch them with their door open/cracked.
    • Professors get a lot of email. Too much. We feel bad about being unresponsive or losing track of emails, but it happens. Be patient, but also don’t be afraid to send reminders.
  • I am a first year student and have not taken many CS courses. Can I still do research?
    • Yes! The great thing about working with first or second year students is that you have longer to amortize the cost of climbing the learning curve.
    • This is especially true if there is a topic where you are self-taught, have prior experience, or are just really passionate to catch up out of band. In some labs, you may also be able to help initially with less technical contributions, such as interviewing subjects or running experiments, while you learn the deeper technical material.
    • The best thing to do is follow similar steps as above, and definitely reach out to the OUR liaison for guidance.
    • When you approach a professor, make a point to explain what you have done to prepare yourself for research in their group, and ask if there are other things you can do to prepare yourself.
  • Can I reach out to current student researchers to learn about their labs and get tips?
    • Yes! To see a list of undergraduate student researchers, visit this page.

For more information…

If you have a question about something that is not covered on this page, please email Professor Prasun Dewan (dewan@cs.unc.edu), indicating exactly what is not covered so that we can answer your question and improve the page.