Skip to content

Research Awards

Mentoring Undergraduates

Where to recruit undergraduates?

  • Ask faculty to advertise your project in their (related) classes and ask faculty to redirect to you interested undergrads that prospect them for research opportunities
  • Ask the TAs from your lab the same as mentioned in the previous point.
  • Contact past successful undergrads that worked in your lab in related projects. It’s even better if those undergrads have already worked with you in the past.
  • Participate in the ACM research nights that occur twice a year (fall and spring).
  • Other approaches that are used less often by postdocs:
  • It’s possible to recruit international students but note that this involves more bureaucracy. Finding international candidates is more likely to occur through social connections.

What to look for when selecting an undergraduate candidate?

  • Grades can provide a hint of the technical skills of undergrads but are usually of limited use. Understandably, generally undergrads have limited experience and short CVs.
  • If the student appears to have the right background from the CV and form the inquiry then it is generally a good idea to interview the candidate personally. The interview serves several purposes, it is a good opportunity to: 1) explain the project and the tasks involved to the student 2) get a feel for what are the student’s skills and 3) gauge their interest (e.g.,figure out whether the students has done some research regarding your project/tools etc, as opposed to just reading your project description). Motivation and pro-activeness are exceptionally important.
  • First-hand information from professors and TAs that taught the students can be extremely valuable.
  • Try to figure out if your project is a good match to the student (e.g., research vs. programming) given the goals of the student.

What is a good project for an undergrad?

  • Try to understand the goals of the student. Undergrads that are planning to go to grad school probably benefit more and are more interested in projects that are more “researchy” and that result in publications that they can use for the grad school applications. Always have the students best interest in mind.
  • The project should be small and well defined. In general, undergrads are most productive when they get a well defined problem to solve with very clear step-by-step instructions (from you!) on how to tackle it. Avoid projects that require understanding large code bases or complex tools as most likely that would result in them spending an entire quarter figuring it out.
  • The project given to an undergrad should not be in your critical path to success because there is a high risk that it will progress at a much slower rate than you expect or that it will not work out at all.
  • Be prepared to adapt the project as you get to know the undergrad. During the first two weeks or so you will learn what are the strengths and weaknesses of the student and you might find out that, given the student’s skillset and/or motivation, the project should change or be adapted.

What to expect from undergrads?

  • Usually undergrads require a lot of hand-holding because they (a) have limited programming experience; (b) have even more limited research experience and (c) during class periods, undergrads are usually very busy with coursework and this is understandably often their focus.
  • You’ll need to put a lot of effort into guiding and mentoring undergrads, specially during the first quarter you work with the undergrad. This is why it is generally a good idea to keep working with the good undergrads for longer than one quarter.
  • The productivity of undergrads varies very significantly, therefore, recruiting smartly is important. It is not unusual for the undergrad projects to not work at all.
  • During the summer, undergrads tend to be more productive because they have more time available. However, it’s harder to hire them (specially the best ones) during the summer because they often prefer to go to industry for internships (which pay well).

How to mentor undergraduates?

  • Every student is different and the advising strategy should be adapted accordingly but it’s generally useful to set up a structure. It is a good idea to have regular weekly meetings (30-60 min) and to be proactive at interacting with undergrads (e.g., meet with the student whenever the student gets stuck). It is not unusual for undergrads to be shy and afraid to expose their limited knowledge. As a result, they often are very reluctant to seek help or to say that they’re not familiar with some technique or tool — even when you asked them explicitly. Some postdocs have expressed that this situation occurs much more frequently with undergrads than with grad students. Make sure that you communicate frequently and reliably.
  • Depending on the prefered advising style, some postdocs recommend asking the students to send a written agenda before the meeting. Besides making the meetings more productive, this can help keep track of goals, progress and meeting notes.
  • Some postdocs feel that undergrads often benefit from a more stricter (e.g., “authoritarian”) approach of mentoring than postdocs would naturally adopt for mentoring grad students.
  • Be flexible and dynamically adjust the project goals to the undergrad knowledge and skills to avoid frustration from either part.
  • When planning the work it may be a good idea to allocate some time at the end of the project to wrap up. This includes writing documentation for the project and cleaning the code. This is particularly important for large projects that will need to be picked up by somebody else, potentially many months later.
  • Talk with your fellow postdocs, professors and grad students to learn more about mentoring undergrads! This document is just a starting point with some tips — it’s hard for a document, such as this, to transmit all the knowhow as vividly as a person with past mentoring experience.