Skip to content

BSc CS Program Overview

So you've been admitted to Computer Science at the University of Alberta — or you're thinking about it. Before you register for your first semester, you need to understand what degree you're actually working toward, because the choice you make here has real downstream consequences for your schedule, GPA, and career trajectory.

Here's the honest breakdown.


The Three Paths: General, Specialization, and Honors

UofA offers three BSc CS degrees under the Faculty of Science. They share a common core but diverge in depth, credit count, and what they signal to the outside world.

BSc CS General (~120 credits)

The General degree is the most flexible option. You complete the required CS core, satisfy your Faculty of Science breadth requirements, and you're done. There's no thesis, no mandatory upper-year depth courses beyond the core, and you have real room to take electives in areas you actually care about — business, linguistics, biology, whatever.

For industry? It's completely sufficient. Nobody at Google, Shopify, or a Series A startup is going to reject your resume because you did General instead of Specialization. What matters is what you built, where you interned, and how you perform in technical interviews.

The General degree makes most sense if you want maximum scheduling flexibility, you're double-majoring or doing a substantial minor that eats credits, or you're confident about your skills and just want to get into the workforce.

BSc CS Specialization (~126 credits)

The Specialization is the de facto standard for most CS students at UofA. It requires more upper-year CS courses than the General, which means more depth in areas like algorithms, systems, theory, and your chosen technical electives. You'll end up taking courses like CMPUT 301 (Software Engineering), 304 (Relational Databases), and a cluster of 400-level courses depending on your interests.

This is the sweet spot for industry-bound students. The extra courses are genuinely useful — not just checkbox-filling — and the degree signals that you took CS seriously enough to go deep. Employers who know UofA will recognize the Specialization as the "real" CS degree. Recruiters at Canadian tech companies who hire from UofA regularly will know the difference.

If you're reading this wiki because you want a software engineering job at a strong company, the Specialization is almost certainly what you should be doing.

BSc CS Honors (~130+ credits)

Honors involves completing a senior thesis — a research project supervised by a faculty member, written up formally, and defended. You take everything in the Specialization and add the thesis on top, plus some additional course requirements that orient you toward research.

Be honest with yourself about why you want Honors. If you're genuinely interested in research — if you want to go to grad school, do a PhD, or work in research-heavy roles at places like DeepMind or Microsoft Research — Honors makes sense. The thesis experience is real and valuable for those paths.

If you're doing Honors because you think it'll impress software engineering recruiters, you're wrong. Most industry hiring managers outside of research roles do not care whether you wrote a thesis. They care about your internship experience, your GitHub, and whether you can solve problems in an interview. The extra time you spend on a thesis is time you're not spending on side projects, open source contributions, or internships.

The one legitimate middle-ground case: if you're genuinely unsure about grad school, doing Honors keeps that door open without fully committing. But be aware of the time cost.


Faculty of Science, Not Engineering

This matters more than people realize. CS at UofA is in the Faculty of Science, not Engineering. This means:

  • You're not an Engineering student. You don't go through the Engineering co-op program by default (though you can still do internships — the CS department has its own processes and industry connections).
  • Your degree is a Bachelor of Science, not a Bachelor of Science in Engineering (BSc Eng).
  • Electrical and Computer Engineering (ECE) is in the Faculty of Engineering. If you're interested in hardware, embedded systems, or signals, ECE might be worth looking at — but it's a different program with a different culture and different requirements.

For most software engineering jobs, coming from the Faculty of Science is completely fine. The BSc CS from UofA is well-respected, and nobody outside Edmonton is going to know or care about which faculty building you studied in.

One practical difference: Engineering students have mandatory professional internship requirements built into their program (the Engineering co-op stream). CS students have to be more proactive about getting internships — but this also means you have more flexibility in timing and can pursue opportunities at companies that don't formally participate in co-op programs.


Minor Options Worth Considering

Your program leaves room for a minor, and the right minor can genuinely differentiate you. Here are the options worth thinking about:

Statistics — If you have any interest in machine learning, data science, or AI, a Stats minor is extremely practical. STAT 151 and 252 are foundational, and upper-year Stats courses on inference and probability complement ML coursework directly. Highly recommended.

Mathematics — Signals strong theoretical foundations. Relevant if you're interested in cryptography, algorithms research, or competitive programming. MATH 125 (Linear Algebra) is already required for most ML-adjacent CS work; a Math minor builds on this.

Business (through the Alberta School of Business) — Useful if you're thinking about eventually founding something, going into product management, or working at the intersection of tech and business. Some CS students find the business perspective grounding. The coursework isn't technically challenging, which gives your GPA a bit of breathing room.

Linguistics — Underrated. If you're interested in natural language processing, computational linguistics, or the theory of language and computation, UofA's Linguistics department is actually quite strong. This is a niche pick but a smart one if it aligns with your interests.

You do not need a minor. If taking one means overloading yourself and tanking your GPA, skip it.


What Recruiters Actually Look At

Let's be direct about this, because too many students optimize for the wrong things.

Internship experience is the most important signal for early-career hiring, by a significant margin. One strong internship at a real company is worth more than any combination of degree type, GPA, and coursework. Two or three internships and you're essentially employable before you graduate.

Projects are your portfolio when you don't have internships yet. Recruiters at technical companies look at GitHub. Build things. Put them online. Make them work.

GPA matters, but not in the way students think. A GPA below ~3.0 can get you screened out at companies that use GPA cutoffs (some larger companies do). Above 3.0, marginal GPA differences matter far less than your experience. A 3.9 with no internships will lose to a 3.3 with two solid internships almost every time.

Degree type (General vs Spec vs Honors) is not a major signal for industry hiring. Hiring managers at most companies are not scrutinizing your degree classification. They're looking at where you worked, what you built, and how you perform in their interview process.


The Bottom Line

  • Going into industry? Do the Specialization. It's the right balance of depth and flexibility, and it's what the CS department at UofA treats as its flagship degree.
  • Interested in research or grad school? Seriously consider Honors. Talk to professors early.
  • Want maximum flexibility or are double-majoring? General is respectable and completely viable.
  • Don't waste time optimizing your degree classification. Optimize your internship pipeline and your portfolio instead.

The students who land strong jobs out of UofA are the ones who started building things in first year, got their first internship in second or third year, and treated the degree as a foundation rather than the goal itself.