Research Featured

Guide to Undergraduate Research in Computer Science

Finally, a guide to doing undergraduate research at the University of Manitoba

By Peter Vu
Published October 24, 2025
#guide #research

A Guide to Computer Science Undergraduate Research at the University of Manitoba

Disclaimer: This is an 100% opinionated blog post that represents nobody’s opinion and perspective but my own. I, myself am no research guru either. This blog only exists because I have a reasonable level of suspicion that most people flirting with the idea of doing research know less than I do and do not have the connections that I did to teach me about research, and this is catered towards them as a starting point. I welcome all feedback from students, faculty and passerbys alike if you believe this writeup can be improved anyhow.

Research’s getting more hip with the kids every generation. I remember when my cohort (Fall ‘23) applied for the Undergraduate Research Awards together in first year and 6 of us got it. I don’t know since when, but in every corner of the community I have peeped, research has become the new meta for “paid thing to do over summer”. Helps that the Department starting last year has been hosting an annual Doors Open event to expose even more undergraduates to research! Two weeks ahead of said event occuring on Friday, November 7th, I decided the student body finally deserved a proper writeup on what research is all about, so you can maximize your chance of landing opportunities and feel less overwhelmed.

To preface: though I’m far from the most qualified undergraduate researcher on campus, I think I have earned my fair share of experience to be in a position to give advice. I did a research term sponsored by the URA back in Summer 2024 with Dr. Avery Miller in the GADA Lab, I did the MATH 4920 research project course a.k.a. MXML with Dr. Robert Craigen in Fall 2024, over Fall 2024 - Winter 2025 I was volunteering for Dr. Celine Latulipe in the HCI Lab, and currently I’m just in the Slack of both labs attending meetings when I feel like it. I am also a person who procrastinates by writing posts that may or may not be useful to other people, as well as a person who obsessively check the Department’s faculty and staff page to learn about our newest hires and their research every other week. If you hosted a quickfire trivia night about the faculty members in our Department and their research, I’m pretty confident I would win. (If you’re wondering why I have no publications yet, that’s a glimpse into how I’ve spent my time on a normal day for the past two years.)

So here it is. This blog will contain everything I’ve learned regarding CS research for undergraduates, including what research is, types of research, how to reach out to professors, a scuffed categorization of all research faculties in our Department for you to narrow your search, and more. Most of this stuff is only really relevant to the University of Manitoba, but if you earn any takeaways from this blog that can be applied to your home university, I’d love to hear about it!

I’d like to thank seniors I will not name for privacy’s sake, who themselves taught me everything I know. I’d also like to thank all the hardworking members of our faculty, and prematurely apologize if any of my generalization you disagree with. Whoever’s reading this, if you think this guide can be improved or corrected anyhow, please contact me via email and I’ll get to it as soon as I can!

The Basics

Prerequisite readings for this include the Research Awards section under Computer Science First Year Guide - Other Opportunities, followed by Computer Science Second Year Guide - Research Awards. By the way, did you know we had a First Year Guide and Second Year Guide? Our team at the CSSA worked really hard on it when I was still Director of Student Affairs and Head of the Student Resources committee. If you fall into either of those umbrellas, read them now. Now.

…Done? Alright, so here’s the recap:

  • Basically, research is, instead of trying to solve a question with a known solution as you usually do in class, asking a question with no known solution then trying to solve it. These questions usually fall under the categories of “if X is the best known method, how can I improve on X?”, “if really hard problem Y is solved, what does the solution to variant problem Y’ look like?”, “we don’t know whether Z is true or not, so let’s seek to prove or disprove Z”. Even writing a survey of recent developments or results counts as research; as long as you set out to do something there’s no known solution to, you did research! If you’ve taken COMP 3190, COMP 3370 post-Summer 2024, or some fourth-year courses with a “research paper” component, you’ve already done research.
  • The University of Manitoba offer some paid summer research awards that close applications in January - February. These are the URA, which first years can apply to, and USRA, which first years usually can’t apply to (you need minimum 24 credit hours by the time of application). They are treated as a full-time job, and you require a potential supervisor to agree to supervise you if you get the award. Note that this means getting the award isn’t guaranteed even if someone wants to supervise you. I won’t go into details into specific application process or eligibility criteria; you should read them yourself.

You Don’t Need a Summer Research Award

I feel this is important to bring up early. Am I happy more and more people are interested in research? Yes! But if you truly, truly, are interested in research, I don’t think you should feel that you’d only do research only if you get a lump sum of money for it. I don’t want the next generation and every generation thereafter to treat the URA/USRA as a “oh I’m not ready for an internship, guess I’ll just do research because it’s easier.” Firstly: it’s not, really, it isn’t. Secondly, I want you to think about research as more than a summer gig, that you’d ignore was ever a possibility if you for any reason don’t get the award.

So, what is the point of discussing this? Well, some professors do take undergraduate students outside of summer research awards. Positions may be unpaid or paid, depending on their funding as well as your expected commitment. Usually, professors do prefer spending time mentoring their graduate students than undergraduates, but most people would not say no to having more hands on deck. If you have time over the summer, or even in the middle of the term, reach out to a professor and ask if they have any ongoing project you can volunteer for! More details on how to contact professors below.

Also, as previously mentioned, most fourth-year COMP courses have a research paper component. If you want to explore new territories, albeit less “real research”-y and without as much mentorship, you can always take a COMP 4062 course: they’re usually courses on topics the professor who’s teaching it is very adept on, and can spin into a research partnership if done well. COMP 4522 - Honours Project is also basically a research project, if you can find a supervisor, and significantly easier to get approved for than a summer research award. You’re paying tuition to do research, not the other way around, but if you get a thesis from it it’d look really good for grad school!

When to Consider Doing Research

Now that I’ve mentioned “yeah you can do research anytime really”, the next question that deserves attention is when to do research. In general, make sure you check the following boxes:

  • “Do I have the time and headspace to commit?”: For summer research awards where the expected commitment is full-time, or for any part-time gig, you want to make sure you can commit and make use of your research time. If you’re too busy and swamped with courses or other part-time jobs, you may treat doing research as just another chore in your week, and so what’s the point of going out of your way to in the first place?
  • “Do I want to keep doors to graduate studies open?”: Before you commit to graduate studies, you should know what research actually looks like, so any chance to do so during undergrad should be taken.
  • “Is this the best way of gaining experience in what I care about?”: I’ll be real with you, if you have absolutely NO intention of going into graduate studies as well as are very certain you want to be a software developer when you graduate or something adjacent, don’t bother doing research for any reason but interest. The time you spend can be spent making meaningful projects and learning about software development to get more internships. Most academic research you can do here is not more applicable to building a strong developer resume than spending that same time upskilling and building projects; the only exception may come in the form of doing software development in service of research. For example, building a mastery learning web application for Computing Education research (something I plan to do myself, eventually).

Of course, you can ignore all I just said and want to do research simply because you ‘want to’. But from the perspective of actually making use of your relatively short time as an undergraduate student, I do think there are many people who have many better things to do than trying to do research, as much as I want everyone to experience it. Just do yourself the favor and give it some more thought than “yeah it sounds cool”. I can give you 5 other cool things you can do off the top of my head, like Google Summer of Code (and open source contributing in general), participating in Devpost/MLH/Kaggle events, doing pwn.college and CTFs, getting involved with the engineering clubs who are building robots as we speak, and making video games. Only you know yourself best!

Research in Computer Science

If you’re still reading, I assume you are considering research at some moderate level of seriousness now, which is great! The next question you may have is “what should I do research in?” Oh boy, let me open the floodgates for you…

Inspired by CSRankings (good reference if and when you start looking for grad school), I would split the different research going on at our department, and categorize the (as of writing this) 27 research faculty members into the following:

Disclaimer: Trying to stuff our professors into such generalistic labels is, in some sense, doing their greatly interesting and diverse body of work a disservice. However, I believe it is important to be accessible to newcomers of research so they can have an overview of what different research fields we have to offer to begin narrowing their search. If you’re interested in learning more about what each person specifically does, you can always visit their webpage and publications!

  • Artificial Intelligence, Machine Learning, and applications:
    • Computer Vision: Christopher Henry, Sadaf Salehkalaibar
    • Data Mining & Data Analytics: Carson Leung, Mengjun Hu
    • Natural Language Processing: Tristan Miller
    • Robotics: John Anderson, Chengzhou Tang
  • Computer Systems:
    • Computer Networks: Sogand Sadrhaghighi
    • Computer Security: Azadeh Tabiban, Noman Mohammed
    • High-Performance Computing: Parimala Thulasiraman
    • Software Engineering: Shaowei Wang, Shaiful Chowdhury
  • Theoretical Computer Science:
    • Computational Geometry: Stephane Durocher, Anurag Naredla
    • Differential Privacy: Jimmy Zhu
    • Distributed Computing: Avery Miller
    • Graph Theory & Combinatorics: Ben Li
  • Human-Computer Interaction:
    • Digital Interaction: Andrea Bunt, Celine Latulipe, Houda Elmimouni
    • Human-Robot Interaction: James Young, Houda Elmimouni, Daniel Rea
    • Virtual Reality: David Gerhard
  • Interdisciplinary Areas:
    • Bioinformatics: Olivier Tremblay-Savard
    • Computing Education: Celine Latulipe
    • Computational Finance: Ruppa Thulasiram
    • Computational Linguistics: Tristan Miller
    • Visualization: Hamid Mansoor

We would be here all day if I actually do everyone I mentioned above justice and go all into detail on what they do, so I will give a brief overview of what happens in each field afterwards in a future post.

How to Contact a Potential Supervisor

An important fact I think most of us don’t realize: these people get hundreds, a triple-digit number, of emails per day. I don’t know about you, but if I’d received hundred of emails per day, hell if I’m giving even 10% of them more than 5 seconds of skimming…except they probably have to reply to most of those emails regardless because it’s their job. My point is, there are two don’ts you must always keep in mind if you seek to do research with anybody:

  • Don’t ask about information you can find online with some level of effort. I’m aware and equally bothered that many professors don’t update their websites, or their websites are inaccessible and deter you from exploration so you’d just rather ask somebody instead. Just understand that, you’re in the position of the seeker here, as well as many possible other undergraduate students (especially if they read this too!) Therefore, if you actually want to maximize your chance of being replied to, avoid questions that you can answer yourself with 15 or so minutes looking around the professor’s website. Anything you send, especially as a first impression, should show initiative that you did try to look.
  • Don’t attempt to exchange long-winded conversations solely via emails. Especially if you’re trying to argue for your case e.g. you’re contemplating what project you’d like to work on or trying to prove your initiatives and qualifications. Set up an in-person meeting for that so you both can get it over with, because your second email is probably in queue behind 50 others they have yet to get to during their daily email-checking hours.

Got that? Good. Don’t trigger heavy havoc emailing people. You don’t ever want to end up on Rob’s slide deck of shame.

  1. Self-reflect. Make sure you can answer these questions, first:
  • “Why do I want to do research?” Refer to the prior-prior section. The more genuine your motivation is, the more fulfilling your research experience will be. Give it careful thought.
  • “When do I want to do research?” Will you be able to commit full-time next summer, if you’re applying for an award? If you’re intending to do part-time research in the school year, do you have anything you need to trade off? How many hours can you feasibly commit? If you’re doing COMP 4522, when? Do you have enough credit hours? Most importantly, does research fit into your university schedule?
  • “What can I bring to the table?” Do you have a high GPA? >3.5? >4.0? What year are you in? What courses have you taken that may be relevant? Have you taken, or will be able to take, the courses associated with a given research field before your term starts? Do you have any research or technical experience outside of coursework? Have you demonstrated the capability of being self-directed, responsible, communicable, and enthusiastic in your past work or extracurricular experiences?
  • “What do I want out of the research experience?” Do you want the experience itself? Publishable results? Any publications, or A* conferences and journals? Do you want stepping stones into more research in the future? Connections with academia and industry experts through your supervisor? A potential reference letter in the future?
  • “What do I want to research?” Something you’ve heard about and want to see the fuss? Something someone introduced to you and found really cool? Something you’ve always been interested in and now wanting to look at it under an expert’s lens? Something you can learn the most from and make for good resume bullet points? Something that deeply resonates with your core values as a person?
  1. Choose a broad research field. The list of categories and associated professors I provided earlier is a good place to start. Narrow the search so you don’t overwhelm yourself. By the time you’re done answering the above questions, this shouldn’t be too bad.
  2. Look at a few professors related to said field. This includes, but is not limited to:
  • Their bio. Your initial vibe check.
  • Their research interests, wherever they’re listed. These should hopefully be much, much more specific than the field they’re categorized under. Read every word and jot down some notes. If anything’s alien to you, dump it onto your favorite LLM and ask it to explain until you feel comfortable summarizing the person’s research interests to someone who’s never heard of them before. Feynman’s technique!
  • Their publications. It’s extremely likely you won’t understand anything reading their publication titles, let alone abstracts or the papers themselves. Your peers likely don’t either, so you don’t have to worry about that. What you do want to look for are their more recent publications: scanning the titles from 3-5 years prior up to present day should be more than sufficient for you to be able to tell if they actually are still working on a research interest they have listed or not, which is helpful if they list like 20 different research interests. If you have the free time and want brownie points, read the abstracts of some papers that interest you and even the paper itself if you feel the abstract is digestible. Again, LLMs are your friend in terms of translating every technical terminology and the novel contribution of a given paper, and you can learn as much as you put your time and effort into.
  • Their future students/student opportunities page, if it exists. Unfortunately, most professors don’t list things and requirements specifically for undergraduate students. However, you should still learn everything you can regardless. Whatever they’d stated they’d explicitly prefer candidate graduate students do, what reason is there to not provide a similar amount of information?
  1. Shortlist up to two professors and begin emailing. They talk to each other. Don’t do more than two. Don’t. Your email should contain the following:
  • Attached transcript. You can go on Aurora, “Request Official Transcript”, and click all the options until you reach the page with “Transcript Preview” button right before it actually makes you pay.
  • Attached resume. If you don’t have one, make one. It’s worth it. Making a resume is outside the scope of this blog post, but there’s a guide on that in the Second Year Guide, so check that out if you haven’t already.
  • Salutation. Refer to them as “Dr.” + their last name, for formality.
  • Extremely brief (1-2 sentences) introduction of yourself.
  • Statement of interest in doing research with them, starting when, under a or multiple given methods (URA? USRA? Part-time volunteering? COMP 4522?)
  • Specification of the research topic you’d be interested in. Bonus points if you suggest a more specific project idea than the two-word name of the general field. Even more bonus points if you mention what prior works of theirs you’d consulted and make one concise but meaningful comment about it.
  • Brief (3-5 sentences) explanation of your qualifications (if relevant), experience (if relevant), genuine enthusiasm (which you should have), and goals from the research experience.
  • Offer to meet up in person at their office (mention the specific room number for your own sanity check) to discuss more if they’d be interested. Send your tentative free schedule, ideally consistent weekly. If you have an inconsistent schedule, just send your Mon - Fri schedule a week from then, assuming you didn’t email them on a Friday. Budget 30 minutes minimum.
  • Remind them you’ve attached your transcript and resume for their viewing.
  • Thank them for their time.
  • Signature.
  1. Meet them in person. From this point, it’s totally on you; if they offer to meet up with you, congratulations! Just go with the flow and be yourself. It’s not an interview. Show genuine enthusiasm in learning about their work; don’t feel pressured to come with deep, philosophical questions to show you’re “prepared”, it’s really not that deep. Though, some questions worth asking, if they hadn’t already been answered by the time they prompt you for questions, are:
  • What did previous undergraduate students with you work on (in prior USRA/URA/4522 terms)?
  • What projects are you and your students currently working on?
  • How do you envision me contributing to your research group?
  • What would be the expected commitment?
  • What would be the expected result?
  • How should I prepare before I start doing research with you?

Whatever happens, do try to respect their time and decision. Sometimes, they might not take you, either due to you not meeting their requirements, a lack of availability to properly mentor you, or a lack of funding. If it’s the latter, consider if you’d really actually do the work unpaid/voluntarily or not. That’s also something you should consider in case you don’t secure the URA/USRA, so do mention in the in-person conversation that you’d still be happy to work even without the award (of course, only if you mean it).

Part 2 will come out after the Computer Science Open House, because I need to learn more about the different fields myself too…regardless, this should be more than enough for you to start looking into and reaching out to profs, especially if you’re aiming for a summer research award. The sooner you get their word, the better! Happy contacting!

You can find everyone’s emails and websites at the Computer Science faculty and staff webpage as well as labs at Research in Computer Science. The list of categorizations again, for your reference:

  • Artificial Intelligence, Machine Learning, and applications:
    • Computer Vision: Christopher Henry, Sadaf Salehkalaibar
    • Data Mining & Data Analytics: Carson Leung, Mengjun Hu
    • Natural Language Processing: Tristan Miller
    • Robotics: John Anderson, Chengzhou Tang
  • Computer Systems:
    • Computer Networks: Sogand Sadrhaghighi
    • Computer Security: Azadeh Tabiban, Noman Mohammed
    • High-Performance Computing: Parimala Thulasiraman
    • Software Engineering: Shaowei Wang, Shaiful Chowdhury
  • Theoretical Computer Science:
    • Computational Geometry: Stephane Durocher, Anurag Naredla
    • Differential Privacy: Jimmy Zhu
    • Distributed Computing: Avery Miller
    • Graph Theory & Combinatorics: Ben Li
  • Human-Computer Interaction:
    • Digital Interaction: Andrea Bunt, Celine Latulipe, Houda Elmimouni
    • Human-Robot Interaction: James Young, Houda Elmimouni, Daniel Rea
    • Virtual Reality: David Gerhard
  • Interdisciplinary Areas:
    • Bioinformatics: Olivier Tremblay-Savard
    • Computing Education: Celine Latulipe
    • Computational Finance: Ruppa Thulasiram
    • Computational Linguistics: Tristan Miller
    • Visualization: Hamid Mansoor