UAlberta Computer Science Wiki¶
A practical, opinionated guide to pursuing CS at the University of Alberta — written by students, for students.
Welcome. This wiki exists because the official UofA resources tell you what courses to take, but not which ones are worth your time, what skills actually matter for landing a job, how to navigate the Edmonton tech scene, or what nobody tells you until it's too late.
This is not a replacement for the Academic Calendar or BearTracks. It's the guide you'd get if you sat down with a fourth-year CS student who's already done internships, figured out the degree requirements, and made the mistakes so you don't have to. It's opinionated on purpose. Where there's a clearly better choice, we'll tell you. Where things genuinely depend on your situation, we'll explain what they depend on.
Who it's for: BSc CS students at the University of Alberta, from first-years trying to survive CMPUT 174 to fourth-years negotiating their first full-time offer. Regardless of which specialization you're in (or whether you're in one at all), the career advice, course guides, and skill-building resources here are written with you in mind.
The philosophy: Industry-focused, UofA-specific, and practical. We care about what helps you get a job, build something real, and grow as an engineer. We won't waste your time with generic advice you can find anywhere.
This wiki is community-maintained. It reflects the lived experiences of UofA CS students, and it gets better when more people contribute. See the Contributing section below.
Table of Contents¶
Getting Started¶
- Program Overview — BSc CS General, Specialization, and Honors: what the differences actually mean and which to pick
- Degree Planning — Semester-by-semester planning, how to use BearTracks, common pitfalls to avoid
- First Year Guide — Survival guide for CMPUT 174/175/274/275 and the math courses that trip everyone up
Courses¶
- Course Guide — An opinionated walkthrough of every major CMPUT course: what you'll learn, how hard it is, and whether it's worth it
- Elective Strategy — How to pick technical and non-technical electives strategically for your goals
- Hidden Gems — Underrated courses that more students should know about
Skills¶
- What to Learn — The gap between what UofA teaches and what industry expects (Docker, CI/CD, cloud, testing, and more)
- Programming Languages — What UofA teaches vs. what industry uses, and what to pick up on your own
- Tools and Setup — Git, Linux, VS Code, terminal setup, dotfiles, and how to build good habits early
- System Design — An intro to distributed systems concepts that will come up in interviews and on the job
- Side Projects — What to build, how to scope projects for your skill level, and how to make them stand out to recruiters
Career¶
- Internships — When and how to apply, which Edmonton companies hire students, remote options, and what to expect
- Resume Guide — CS-specific resume advice: what to include, what to cut, and how to pass the recruiter screen
- Interview Prep — LeetCode strategy, behavioral interview frameworks, and how system design interviews actually work
- New Grad — Landing your first full-time role, understanding your offer, and negotiating salary
- Career Paths — Backend, ML/AI, DevOps, security, game dev, and more: what each path looks like and how to get there
- Edmonton Tech Scene — Companies, realistic salary ranges, why Edmonton is more underrated than you think
Research¶
- Getting into Research — NSERC USRA, how to approach professors, what research actually looks like day-to-day
- Grad School — MSc vs. PhD, whether it's worth it, and how to decide
- UAlberta Labs — RLAI, Amii, the database group, systems group, and other research groups worth knowing about
Community¶
- Clubs and Organizations — The Computing Science Club, competitive programming, the AI club, hackathons, and how to get involved
- Networking — LinkedIn, Edmonton meetups, cold outreach that doesn't feel gross, and why it matters more than you think
- Online Presence — GitHub, LinkedIn, personal websites, blogging, and building a presence that gets you noticed
Resources¶
- Learning Resources — Books, online courses, YouTube channels, and practice platforms worth your time
- Scholarships — Jason Lang, Louise McKinney, NSERC USRA, and other funding opportunities UofA CS students can access
- FAQ — Honest answers to the questions students ask most often
Quick Start¶
Not sure where to begin? Start here based on where you are right now:
- If you're a first-year student: Start with First Year Guide, then read Program Overview when you're ready to think about specializations.
- If you're figuring out your degree plan: Read Program Overview and Degree Planning together, then look at the Course Guide for courses coming up in your next semester.
- If you're looking for your first internship: Go straight to Internships and Resume Guide. Then come back to Interview Prep once you have applications out.
- If you want to build skills beyond coursework: Start with What to Learn to understand the gap, then read Side Projects for what to actually build.
- If you're considering research: Read Getting into Research for a realistic picture, and UAlberta Labs to understand what groups exist.
- If you're thinking about grad school: Read Grad School first. It will help you figure out whether it's the right move before you commit.
Contributing¶
This wiki is community-maintained. It is only as good as the students who contribute to it, and there is always more to add — a company that opened in Edmonton, a course that changed its format, an internship experience that other students would benefit from hearing about.
If you spot something outdated, want to add a section, or just fixed a typo: contributions are welcome and appreciated. Please read CONTRIBUTING.md for guidelines on tone, structure, and how to open a pull request.
The short version: fork the repo, make your changes in a branch, and open a PR with a clear title describing what you changed. Keep PRs focused. Be opinionated but fair.
Built by UofA CS students, for UofA CS students. Not affiliated with or endorsed by the University of Alberta.