Undergraduate Research

Stanford faculty and students do amazing research. The projects here are widely recognized as some of the best in the world and Stanford holds its reputation as one of the top CS programs in large part from this. Your time at Stanford offers a unique opportunity to be involved in cutting-edge research.

What is the difference between CURIS, academic year research, and honors thesis research?


CURIS is the program for undergraduate summer research in Computer Science. Each summer, some professors take undergraduates to work on their projects. Participating students are expected to work on these projects full-time and will be paid a stipend to cover living expenses. The CURIS site has a list of the projects available that is usually updated sometime near the end of January with new projects for the upcoming summer. The application deadline for CURIS is mid winter quarter.

Academic Year Research

Students can also opt to participate in research during the academic year. This is typically done for course credit. More information on finding a project and what class to enroll in can be found in the answers to the subsequent questions.

Honors Thesis

The Honors Thesis is a one-year research project for students in their senior year. During their Junior year, students decide on a topic, find a faculty sponsor, and apply to the program. During their senior year, students take 3 units per quarter as independent study units and at the end of the year they write a thesis. Most students who choose to write an honors thesis have research experience prior to the start of their honors project. More information is available at the Honors website.

How can I learn about available research opportunities?

There many different ways to find out about research projects at Stanford. Some examples are listed below.

Undergraduate CS Research Website

The most reliable way to learn about projects you can get involved in it through the Undergraduate CS Research website. Throughout the year, professors have openings for undergrads to do work in their labs. They post descriptions of these projects on the site for your perusal. This site lists CS research project during the academic year for course credit, CS research projects for the summer quarter under CURIS (paid internship), and research projects in other departments that include applications of CS.

Go to Office Hours

Find a professor whose research interests you want to learn more about. Discuss what possibilities are available or just find out more about what a particular group is doing. Often the professor will be able to direct you to some research papers that might be valuable to read or some other groups that you might find interesting. It's always a good idea to email a professor and let him or her know that you will be coming in. That way if their office hours are particularly busy, they can suggest another time.

Talk to a Grad Student

Because the graduate students work on the projects every day and deal with most of the details, they are probably one of the best sources of information. They will have a good idea for what role you could initially play in the project and will also be able to give an honest assessment of what it is like to work with the professor and what are the expectations of the group. Finally, if you decide to work with the group, the graduate students will probably be the ones that will be mentoring you in the day-to-day aspects of your work. Before you choose a project, try to meet with at least one graduate student in the group, preferably one that would be mentoring you. If you are still deciding between projects, ask the graduate students what they think - you'd be surprised at how helpful and honest they can be.

Read Your Email

The BSCS list is constantly getting announcements about presentations that are being given by faculty, advanced graduate students, and visiting faculty. Take the time to read through some of the abstracts and pick a few that interest you. Note that these announcements are not usually forwarded to the considering_cs list. If you are interested in getting these announcements, come visit the Course Advisor and declare CS!

Attend Seminars and Presentations

In addition to the talks and presentations that are announced by email, there are some CS seminar series that are especially appropriate for learning about research. Some of these are available as a 1 unit class or you can also just come in and hear the speakers that interest you.

CS 300

At the beginning of each academic year, all new PhD students are required to take CS 300. In each seminarEach day, two professors come in and describe their research work. The idea is to give PhD students an overview of the ongoing research so they can decide which groups they would like to join. Although the class is technically for PhD students, undergraduate and masters students can enroll. The presentations are likely to be somewhat technical, but since they are geared towards PhD students with a broad variety of interests, they should be fairly accessible. You can also find the speaker schedule online.

500 Level Seminars

All of the CS 500 level courses are topic seminars. For instance, CS 547 is a seminar on Human-Computer Interaction topics. Each week, a different speaker comes in and presents their research. Sometimes the speakers are Stanford professors, sometimes they're graduate students, and sometimes they're outside visitors. The presentations are often quite technical, but if you check the schedules on the class webpages, you should be able to find some talks that interest you.

CURIS Poster Session

At the end of the summer quarter and the beginning of the fall quarter, the CURIS program organizes poster sessions for undergraduates to present their summer research projects. This is a great opportunity for you to get first-hand information about your peers' research experience as well as potential project ideas and research groups of interest. In addition, the display in the Gates lobby shows a collection of both undergraduate and graduate research projects year-round.

What classes do I sign up for if I'm doing research?

Undergraduate research is often done through CURIS, for academic credit, or through an informal arrangement with a professor.

Independent Study Research Classes (191, 191W, 195, 199/399)

CS 191 is a one quarter research project that fulfills the Senior Project requirement. 191W is the Writing in the Major version of this course. Students must set up their own project, find a faculty sponsor, and submit a proposal. More information is available at the Senior Project website.

CS 195 is a one quarter research project that fulfills a CS elective on the undergraduate program sheet (up to 4 units) for students who are not yet eligible to take CS 191. Students must work under faculty supervision and get prior approval for their project.

CS 199 (undergrad) and CS 399 (masters) are one- quarter independent studies for students who have already taken 4 units of CS 195, but are not eligible for CS 191. These units will count towards the university-wide graduation requirements, but not toward the CS major itself.

For all of these classes, students can propose a project of their own or can find and receive approval for a project listed on the Undergraduate CS Research website. All students must get prior approval from their faculty sponsor, at the very least, before signing up from any of these classes.

Research Project Course (294, 294W)

Students can also opt for CS 294 (or 294W, the WIM version of the course) which fulfills the senior project requirement and allows students to get involved in a major ongoing research project. Check the course listing to see which research areas are covered in 294 for any given year.

Research Course Flowchart

Still not sure what course is right for you? That's alright. Take a look at this flow chart:

Flowchart showing which research course to enroll for.

Why should I do research?

If you might be interested in getting a PhD, research experience is almost a prerequisite for admission to the top graduate programs and if you think you might like to be a professor or researcher someday, you should absolutely make undergraduate research a top priority. If you're not yet sure about your post-graduation plans, doing research as an undergraduate might help you decide if you are interested in continuing on to graduate school and working in academia.

Even if you aren't planning to go to graduate school, participating in research can make you much more employable. The most sought-after students tend to be the ones with significant experience regardless of whether the research is directly applicable to the job. Pursuing a research project requires you to be extremely self-reliant and self-motivated, attributes that employers value highly.

If you think you might want to write an undergraduate honors thesis, you will need to complete a research project. Most students who write a thesis will have engaged in research prior to senior year, and these prior experiences ultimately help them succeed in completing a thesis.

Finally, doing individual research is challenging in ways classes are not. Because they have been involved in research, worked hard, and learned these valuable skills, students who have been involved in research tend to be at the top of their graduating classes.

What background do I need to start doing research?

The background that different groups require varies wildly. Certain groups will require you to have advanced programming skills, a strong math background, or basic knowledge of the research area. Other groups will have ways for students to get involved and contribute even if they haven't taken many CS courses yet. For instance, some groups are happy to take on frosh because they have many years ahead of them at Stanford and have lots of time to learn and do great work. There are plenty of opportunities to contribute to a research project before your senior year so don't wait until you've finished half the major to get involved!

Since the prerequisites for starting work on a research project vary widely among research areas and professors, talk to a professor to get their advice. Many professors teach an introductory class centering broadly on their research area and, if you contact them, will ask you to take that class. If you get this response from a professor, the best way to get into his or her research group is to take and ace this class. If you're not sure yet whether you're interested in a particular topic, the intro class would also be a good place for you to find out more about it. In any case, professors' criteria for taking on students vary widely, and if you are interested in working with a particular professor, find out what classes to take or what to do in order to be considered for their research group. You can email the professor or visit their office hours to ask. It's best to do this as soon as possible because they'll often be able to give advice on courses to take that you haven't thought of and if you miss a course or its prerequisites you may have to wait a whole year to take it.

Do I need to have a specific project in mind?

No! Most students start on research without having a particular project in mind. Most professors supervise one or more research groups, which typically consist of the professor's PhD students, MS students, and often a few undergraduate students. Each group usually works on a significant project or idea with each student working on a key piece of it. If you don't have a particular project in mind, one of the best ways to get involved with research is to join one of these groups. You'll probably spend some time helping with generic tasks and learning about the project. Don't underestimate the value of this opportunity; you'll get an inside look at how research is done and learn a lot about jumping into a large project, something you'll have to do at almost any job you have after graduation. After you spend some time with the group, you or the professor will probably start to find particular aspects of the project that you can work on. At this point, you can discuss with your professor the best way to proceed with taking on more responsibility for a part of the project.

What should you do if you already have your own idea for a project? In some cases, students have a particular project or idea that they want to pursue so they find a professor with similar research interests and ask him or her to be the advisor for the project. The professor provides guidance and suggestions while the student does the detailed research and experiments. Getting started in research this way is less common and usually works only for students who are fairly far into the major or who have already had significant work experience in their field of interest, but it is still possible.

How can I make my research experience a good one?

Many undergraduates who do research will consider it to be one of their best experiences at Stanford. Although nothing can guarantee that your experience will be a good one, here are a few tried and true tips for making your research experience enjoyable and rewarding.

Clearly define your expectations for the project.

Before you start working on any sort of research project, make sure you've sat down with the professor (or the graduate student who will be supervising you) and discussed exactly what you will be working on. Every year at least one person has all sorts of complaints because they spent their whole summer working on a CURIS project they felt was drastically above or below their ability. The professor has no way of knowing what you are willing and able to do if you don't communicate with them. Before you take on a project, make sure you understand what sort of day-to-day work is involved and that you are excited and happy about the opportunity. You should also know who will be supervising you on a day-to-day basis and who you can turn to for advice and guidance if you run into problems.

Define how much time you can devote to research.

Nothing is worse than a flaky member of a group project. As an undergraduate, you have many commitments outside research. It's therefore important to sit down with your professor or grad student supervisor and define exactly how much time you have available for the project and when you will be around. If you know that you will be working on a class project 24/7 during dead week, be sure to communicate that to your group and make sure that it's acceptable for you to be gone during that time. Nothing is more frustrating to a research group than students who don't show up in lab and don't respond to emails. Disappearing with your part of the project can delay others' work. Remember that research is the primary focus of PhD students and they will not be happy waiting around for you to get back to them and finish your work. If this happens, you will likely find yourself never assigned anything important again. If, however, you've outlined when you will be gone, your group can plan around it and people won't be frustrated and disappointed when you disappear to finish that big project or study for finals.

Set specific hours when you will be at the lab working on your research.

This makes it easy for people to find you when they need to talk about work. You will also be perceived as a reliable, hard worker, rather than someone who is "sometimes around, sometimes not - depends how busy she is.” Many people who do research during the school year find that it keeps getting pushed off because everything else has a deadline. By scheduling time to put into your research and sticking to it, you'll avoid this situation and be less likely to disappoint yourself and your research group.

Take on the appropriate amount of work.

It is always better to do a great job on a small project than to do a bad job on a huge project. Many graduate students are more experienced and have much more time to devote to research so they may expect you to be able to accomplish more than you have time to do. Make sure your part of the project is something you can manage and make sure to deliver on any promises you make to your professor or research group.

Communicate with your group and professor.

Professors and graduate students are not mind readers. If you're unhappy about something or might not be able to make a deadline, make sure to bring it up in a non-confrontational way and try to do so early. Problems are always easier to solve if they have just started than if you have been silently steaming about them for six weeks. Also be sure to communicate about the things that are going well. If you are really excited about a certain aspect of your work, let someone know. The next time something similar comes along, they'll be much more likely to send it your way.

How do I approach a professor?

Professors are people who have decided that their research is really interesting and important. The fact that you are considering doing research and might go on to follow in their footsteps is really exciting to them. They are much happier to talk to individual students about their research than they are to grade your midterms. Also, keep in mind that professors are judged by the quality of the research done by their groups and whether their groups manage to produce great students. If it's possible that you will be a productive and useful person in their group while learning lots of things, that's incredibly exciting and helpful to them as well. Professors also deal with endless requests from graduate students (not to mention people who haven't even been admitted to Stanford) to join their lab in return for funding. The fact that someone wants to join their lab just to learn is a great feeling for them. With few exceptions, most professors will be happy to talk with undergraduates about doing research and will do their best to find some way for you to contribute.

That being said, keep in mind that professors also tend to be some of the busiest people on the planet. Be respectful of their time as well as their knowledge and you will get a much better response. Before contacting a professor for the first time, take thirty seconds to check if they have a FAQ on their homepage that answers your questions, and before you go in, take time to read about the projects in which you are interested. Professors are much more likely to respond to emails that show clear interest to specific research projects in the group, compared to a generic email with your resume. Also, be willing to let them direct you to information rather than explain it all in person; instead of demanding a personal tour of the lab, ask if they can suggest some good papers for you to read or if there is a particular graduate student you should talk to. If you approach a professor respectfully and then follow through with what you agreed to take on, almost all professors at Stanford will be delighted to have you participate in their research group.

Content by CS Course Advisor
Last updated on Friday, 06-Dec-2019 14:19:18 PST.
Design by Linda Nguyen, '05