Expectations and Mentorship Outlook

An undergraduate thesis is a serious undertaking. As we work on thesis research, we will be working towards the following goal:

At the end of your year in collaboration with me, you will aim to produce one conference-quality (or workshop-quality) paper, suitable to be submitted to a competitive venune in CS.

Learning how to do research takes many years. Realistically, it is unlikely that all (or even most) senior theses will result in top publications with just a year’s worth of work. But with a bit of luck and hard work from both of us, I expect we will be able to produce good work that could credibly be submitted to a respectable venue.

Research takes many forms, and often the problem we end up working on is not the one we initially anticipated. Because of this, we have to be flexible and maintain an evolving view of what we’re doing. It’s also possible that the idea we have just won’t end up being all that interesting. Negative results are common in research, but as long as you try hard I’m sure we’ll both learn and produce something useful.

While this will certainly be a challenging journey, I plan to work hard with you, and I hope you’ll do the same!


  • You are open to doing serious reserach in CS that could lead to publication.

  • We will meet regularly, and you will participate in group discussions (for ~15 minutes) about your progress a few times a week.

  • You will ensure that you’re consistently making progress, at least a few hours a week.

  • You will bring up problems early so we can quickly address them and move forward.

  • You will uphold high ethics to sure we’re always doing honest science. For example, we will consider all data, especially when it runs counter to our hypotheses.


The goal of an undergraduate thesis is to teach you how to do high-quality research. It’s totally okay to fail to produce stellar earth-shattering results. But you should learn the mechanics of research: working on (an identifying) open-ended problems, articulating their importance, understanding the state of the art, and implementing novel solutions.

Unstructured time

I often find that the most challenging part of research is the large amount of unstructured time without clear goals. Unlike coursework (where you have to find an answer), research is about finding a problem. While hunting around for problems, it is often really unclear how to evaluate whether you’re making progress, and this can feel really stressful.

This is where I come in. When you start to feel like you’re hitting a wall, we should meet and brainstorm about what makes the most sense to work on next. Every week, we will identify clear (but attainable) goals for the next week. We will check in to make sure we’re hitting those goals, and if we’re not we’ll step back and ask ourselves why.


As you work on solving problems, you’ll have much more context than I do about the particulars of our techniques and approaches. There will be times when the plans we make initially don’t really make sense when you begin to work. This might be because one of us was missing something. In these cases, please speak up early and articulate why you’re stuck: perhaps we can come up with a better way to do things. I don’t want you to do unnecessary work if there’s a better way. I’ve often found that a few hours brainstorming about a better methodology can save days of implementation work.

On the flip side, I understand that not everything works out. Deadlines slip, ideas fail, and we can’t always achieve everything we’d hoped. In these instances I think it’s best to be honest with ourselves early about what we can realistically achieve so that we don’t set ourselves up for failure. If you begin to feel frustrated by an aspect of a problem, I expect you to reach out so that we can reorient as early as possible.

Update Meetings

I plan to hold short (10-15 minute) meetings a few times a week that I’d like you to participate in. This is borrowed from an idea we used when I was a PhD student at Maryland (here’s a paper discussing it). You basically come and give a brief update about what you’ve done and will do. These meetings are intended to motivate you and provide a light form of accountabilty to each other: you won’t get in trouble if you haven’t dont much, but ideally they’ll be a place to help understand the nuts-and-bolts of how research works.