Guide to Undergraduate Research in Computer Science
Finally, a guide to doing undergraduate research at the University of Manitoba
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.
- 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?
- 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.
- 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?
- 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.
- 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