Getting Into Undergraduate Research at UofA CS¶
Undergraduate research is one of the most underutilized opportunities in the CS program. Most students either don't know it exists, think it's only for people going to grad school, or assume they're not qualified. All three of those beliefs are wrong. This guide covers how to actually get involved.
Why Bother With Research if You Want Industry?¶
The honest answer: research makes you better at the hard parts of software engineering that separate senior engineers from junior ones.
Here's what research actually teaches you:
- Reading and synthesizing technical papers. At a certain level in industry — protocol design, ML engineering, anything cutting-edge — you need to read whitepapers and papers. Researchers do this daily. Most CS grads have never read a paper end-to-end. You'll have an edge.
- Working on open-ended problems. Your prof won't give you a ticket and a spec. You'll have to figure out what to build, why it matters, and whether your results make sense. That ambiguity tolerance is exactly what senior engineers need.
- Presenting and defending ideas. Lab meetings, poster sessions, writing reports — these build communication skills that most CS grads lack. Being able to explain a complex system to a non-expert is genuinely rare and valuable.
- It's a real credential. NSERC USRA on your resume signals that a professor trusted you to do real research. That stands out, especially early in your career when you don't have industry experience yet.
If you're aiming for grad school, research experience isn't optional — it's the primary factor in admission decisions. But even if you're purely industry-bound, one or two research terms will pay off.
When to Start¶
Second year is ideal. Ideally you have some programming under your belt (CMPUT 174/175 done, maybe 201 and 204), you're starting to see what areas of CS interest you, and you have 2-3 years left to actually do something meaningful with the experience.
Third year is fine. Fourth year is late — not because you can't do it, but because the most interesting projects take a semester just to ramp up, and then you're graduating.
Don't wait until you feel "ready." You will never feel ready. Professors who take undergrads understand that you're learning.
NSERC USRA — The Paid Research Route¶
NSERC (Natural Sciences and Engineering Research Council of Canada) runs the Undergraduate Student Research Awards (USRA) program. This is a paid, structured research position — one of the best programs available to undergrads.
What it is: - ~$7,500 from NSERC for 16 weeks of full-time research (this is the federal portion) - Your supervising professor is required to top this up to at least $10,500 total — many go higher depending on their grants - So in practice you're looking at roughly \(10,500–\)14,000+ for a summer - It's real work, not a coffee-fetching internship
Timeline: - Positions are for May–August (summer term) - You need to have a professor agree to supervise you before you apply - Applications typically open in February and close in late February or early March — check the UofA NSERC USRA page each year for exact dates - Don't wait until February to find a professor. Start reaching out in October or November the previous fall.
Eligibility: - Must be a Canadian citizen or permanent resident - Must be enrolled full-time at a Canadian university and returning to full-time studies after the award - GPA: NSERC requires a competitive average — in practice, 3.5+ (on a 4.0 scale) is where you want to be. 3.7+ makes you a strong candidate. Below 3.3 will be very difficult unless you have exceptional research experience already - You cannot have already completed a USRA at the same institution within the past two years
How competitive is it? Competitive, but not impossible. UofA CS gets a certain number of awards each year. The professor you partner with submits the application alongside yours. A strong professor sponsor + solid GPA + genuine interest in their work = good odds. Start building relationships early so you're not a stranger when February rolls around.
Volunteer RA Positions¶
Many professors will take on unpaid volunteer research assistants, especially for students who show genuine interest. This is the easier entry point.
Why do this? - Gets your foot in the door - Shows a professor you're serious before the NSERC competition cycle - Some volunteer positions turn into paid positions later - Valuable research experience regardless of compensation
You won't get paid, but you'll get mentorship, real research exposure, and ideally a reference letter at the end. For a first or second year student, that trade is often worth it.
How to Approach Professors¶
This is where most students blow it. They either never reach out at all, or they send a generic mass email that immediately gets ignored.
Before you email anyone:
Read 1–2 of their recent papers. You don't need to understand everything — you need to understand the problem they're working on, why it matters, and what their approach is. Check their lab page and Google Scholar. Look at papers from the last 2–3 years.
The email itself:
Keep it short. Professors are busy. Here's the structure:
- Who you are (name, year, program)
- One or two sentences showing you know their work — be specific, not vague ("I found your paper on continual learning interesting" is vague; "Your paper on experience replay in non-stationary environments raised a question for me about how the replay buffer handles distribution shift over time" is specific)
- Relevant coursework or projects (one sentence)
- What you're asking: a 15-minute meeting to discuss potential involvement, or whether they're taking undergrad RAs
That's it. Four to six sentences max. No novel, no life story.
Subject line format:
Undergraduate Research Interest — [Your Name] — [Specific Topic or Lab Name]
Example: Undergraduate Research Interest — Priya Sharma — Continual Reinforcement Learning
Following up: If you don't hear back in 1–2 weeks, one follow-up email is completely fine. Professors miss emails. After that, let it go and try someone else.
In-person approach: If you've taken a course with a professor and there was a real connection — you asked good questions, did well, had a conversation — approaching them after class or during office hours is often more effective than cold email. It's not weird; it's how a lot of research relationships start.
What not to do: - Don't send the same generic email to fifteen professors at once. They can tell. - Don't open with "Dear Professor" and zero personalization. - Don't ask to "learn anything" — be specific about what area interests you. - Don't attach your full transcript in the first email — wait until they ask.
Finding Professors in Your Area¶
The UofA CS department website lists faculty by research area. Spend an hour actually browsing it.
Key groups to know:
AI and Machine Learning - RLAI (Reinforcement Learning and Artificial Intelligence): Rich Sutton, Michael Bowling, Patrick Pilarski, Martha White, Adam White, Csaba Szepesvári — world-class group - Amii (Alberta Machine Intelligence Institute): broader AI/ML, multiple professors involved, also has industry connections - Growing NLP group for students interested in language models
Databases and Data Systems - M. Tamer Özsu is a global authority on distributed database systems - Relevant for students interested in data engineering, distributed systems, cloud infrastructure
Systems, Networks, and Compilers - Multiple professors working on operating systems, networking protocols, compilers, and programming languages - Good fit for students coming out of CMPUT 379, 313, 415, 481
HCI and Interactive Systems - Human-computer interaction research - Accessible to students from various backgrounds, not just systems people
Don't limit yourself to what's "most famous." Find what genuinely interests you. A moderately prominent professor in a field you care about is far better than a famous professor in a field that bores you.
What Research Actually Looks Like Day-to-Day¶
Let's be honest so you're not surprised.
Most days: reading papers, lots of them. Setting up experiments. Debugging code that fails in confusing ways. Staring at results that don't make sense. Writing. More debugging.
Most weeks: a lab meeting where you present progress (or lack thereof). Individual meetings with your supervisor. Long stretches of solo work.
Most research projects: don't produce the result you expected. Negative results are still results. You learn that experiments failing is part of the process, not a sign you're bad at this.
It is intellectually rewarding in a way that coursework often isn't — because you're working on something nobody has solved yet. But it is not glamorous, and the feedback loop is much slower than shipping a feature.
Research Experience on Your Resume¶
Even without a publication, research is worth listing:
- Name the project and lab
- List your supervisor
- Describe what you built or investigated in one sentence
- Mention NSERC USRA explicitly if you received it — it signals competitive selection
- If you presented at a poster session (undergraduate research day, etc.), list it
- If you co-authored or contributed to a paper, list it under publications
If you do get a publication or even a pre-print, that's a significant line item early in your career. Even a conference poster is worth noting.
The Bottom Line¶
Start earlier than you think you should. Email professors while you still have 2–3 years left in your degree. Read their papers before you reach out. Be specific and genuine. The barrier to entry is lower than it looks — most professors are happy to talk to an undergrad who actually read their work.
Research is one of the few university experiences that translates directly to the hard, ambiguous, high-stakes problems you'll encounter as a senior engineer or researcher. Don't skip it just because it's optional.