Prof Insider

Research opportunities

Undergraduate research in computer science

Computer science labs take undergraduates who can pick up an existing codebase and get results out of it without much hand-holding. You don't need a publication or a perfect GPA. You need something you built that a professor can open in a minute, and a clear reason you chose their group.

Find my matchesUpload your resume once and see professors whose recent work fits.
Typical first task
Running experiments on the lab's existing code
Best proof of interest
A GitHub repo or a paper you reproduced
Day-to-day mentor
Usually a PhD student, not the professor
Theory labs expect
Strong grades in proof-based courses

What computer science research looks like as an undergrad

Your first weeks rarely involve new ideas. Expect to get the group's code running, reproduce a result from a recent paper, and read the papers the project builds on. Doing that setup quickly earns you more interesting work. After that, the work depends on the area:

  • Machine learning: training baselines, running ablations, cleaning and labelling data
  • Systems: benchmarking, profiling, adding features to a research prototype
  • Theory: reading papers closely, working through proofs, checking small cases with a script
  • Human-computer interaction: building prototypes and running user studies
  • Security: reproducing known attacks, fuzzing, measuring real systems

What CS professors look for

Proof that you can code on your own beats a list of languages. The best evidence is something a reader can open quickly: a GitHub repo with a clear README, a substantial class project such as a compiler, or a paper you reproduced. A reproduction is especially strong, because it is exactly the task you would start with in the lab.

Expect to work day to day with a PhD student or postdoc. A professor may forward a promising email to one, so write something a grad student could act on: link the code and say what you can already run. Theory groups are the exception: they weigh proof-based coursework over code.

Skills worth mentioning

Match the list to the lab. A systems professor does not need to hear about your React app.

  • Python, plus PyTorch and NumPy for machine learning
  • C, C++ or Rust for systems and security
  • Git, the Linux command line, and running jobs on a remote server
  • Proof writing and LaTeX for theory

Where to find computer science labs

Start with the CS department, then widen the search. Machine learning groups also sit in electrical and computer engineering and in statistics, HCI in information schools, and natural language processing sometimes in linguistics. Prof Insider searches professors across departments, which helps when the right lab isn't filed under CS. Faculty pages go stale, so check recent papers on Google Scholar, DBLP or arXiv.

Example email to a professor

The names and papers are made up. Swap in your own details and a real paper from the professor's page.

Common questions

How do I get into a CS research lab as an undergrad?

Email professors whose recent work you can explain in a sentence, and link something you built or reproduced. A strong grade in one of their upper-year courses helps too.

Do I need machine learning experience to do CS research?

No. Machine learning gets a lot of student interest, but systems, theory, HCI, security and programming languages groups all take undergraduates, and you may face less competition there. Pick the area where your coursework is strongest.

Can I do theory research as an undergrad?

Yes, but the bar is mathematical. Theory professors usually want strong grades in discrete math, algorithms and proof-based courses, and a first project often means reading papers closely with a PhD student.

Is undergraduate CS research paid?

Sometimes. Paid roles come from a professor's grant, work-study or funded summer programs. During the term, first positions tend to be unpaid or for course credit.

Guides