Undergraduate Research

What is research?

Research is advancing knowledge of the discipline by learning something new! Research is framed around a problem that needs to be solved/understood and a series of research questions that, when answered, lead us towards this understanding.

Research activities include (but aren’t limited to):

  • Reading the research literature to look for gaps in current knowledge, identify patterns and build/validate theories,
  • Analyzing data or building models to answer research questions,
  • Studying people to answer research questions,
  • Building software tools to support the research (and studying if the tools do what they were built to do).

(Don’t worry – you wouldn’t be doing all those different things in one ten week summer research assignment!)

Computer science research is great because there is such a wide range of things you might be doing. Research in the more theoretical areas of computer science may look more like mathematics (developing and proving theorems, for example), research in the more human-oriented areas of computer science may look a lot like social science research (interviews, observation, grounded-theory research) because it requires understanding how humans work.

Summer research is generally not working on a personal project of interest and getting paid to do it. A little known faculty fact—professors usually don’t get paid to work during the summer. This means that when we work with students during the summer we will want it to be on projects that advance our research. It is also important to understand that learning something new means new to the discipline, not new to us but known to others (this is why the literature search is important – we don’t want to work on already solved problems!). Students doing summer research are paid.

(We really do love it when students have cool project ideas. If you have a cool project idea, it might be eligible for a Student Seed Grant). If you want to work on your cool idea with others it might be something you could do as your Team Software Project.

So why would you want to do research?

  • You are interested in applying to graduate school and want a stronger application.
  • You might be interested in graduate school but you aren’t sure and want to see if you enjoy research.
  • You want to have the opportunity to work on a longer term project (5-10 weeks) with a faculty member (and if all goes well, which it should, get a strong letter of recommendation from them).
  • You’d like to do a senior research thesis. These are usually only made available to students who are continuing research started during the summer. Three and a half weeks isn’t really enough time to get far enough along on a new research project to be able to write something up.
  • You think it sounds like a fun way to spend the summer learning more CS, advancing the frontiers of human knowledge, and getting paid!

Summer Research Opportunities

There are lots of opportunities for CS students:

  • Research Experiences for Undergraduates (REUs). The NSF funds these at schools all around the country. These opportunities are only available to US citizens or permanent residents. You can look for an REU site that interests you here. It’s worth asking your CS professors if they know anyone at the programs you’re looking at.
  • Summer internships at research laboratories. There may be restrictions on who is eligible to be employed, especially if it is a national laboratory.
  • Summer research at CC funded by the SCoRe (Student Collaborative Research) program, research grants held by individual faculty, or department funds (very limited). All students are eligible to apply, no matter their immigration status.

If you think this is something you want to do, be sure to talk to your professors!  For REU programs and research internships, you will probably need letters of recommendation from CS faculty. We may have connections at other schools and, in some cases, research labs – that could be useful information for you to know!

If you want to work with someone at CC, we usually select research students by early in the spring semester so we can write our proposals to get SCoRe funding (faculty are usually guaranteed support for one student). Faculty members will have different requirements for what they need. They may require that you have taken certain courses (possibly even electives – sometimes we teach a class that our research students need to have). They will probably want to have had you in at least one of their classes (although they may make exceptions for students who have strong recommendations from other CS faculty). If there’s a faculty member you want to work with it’s a good idea to talk with them early, especially if they might want you to take certain courses. If you wait, they may have already promised the summer research opportunity to someone else.

Research is usually conducted on campus where students meet regularly with the supervising faculty member (how regular and how strict the requirement is to be at CC depends on the project and faculty member – I have supervised students fully and partly remotely although if students are working in teams it’s a lot more fun to be in the same location).

Summer research programs are very competitive. At CC, not all faculty are able to supervise summer students and those who are will only be able to fund one or two. Faculty are usually looking for students with a strong academic record although (in the case of working with CC faculty) if someone’s grades do not accurately reflect their ability and they are really excited about the project we may make exceptions if we know a student well enough to feel they would succeed. This goes both ways—you will have a much better experience if you find someone you’d like to work with and a project that interests you!

Questions? Ask a CC faculty member!