Frequently Asked Questions¶
Short answers to the questions that come up every year. Each one links to the page that has the details and sources; if an answer here ever disagrees with that page, the page wins.
Program and Degree¶
Should I do the Major, Honors, or an Option?¶
Default to the plain Major: it's the most flexible path (54 units of CS requirements) with the lowest GPA floor. Pick Honors if you're aiming at grad school and can hold a 3.0 every Fall/Winter; pick the AI or Software Practice Option only if you want that full sequence guaranteed on your transcript. Details and the full comparison: Program Overview.
I started before Fall 2024. Does any of this apply to me?¶
You may still be in the older General, Specialization, or Honors programs. The Faculty of Science regulations in the 2026-27 calendar cover those "Pre-Fall 2024" programs; check your Academic Advisement Report for what you're actually held to.
Can I switch into CS from another BSc subject?¶
Within the BSc, you declare a Major before 60 units, switching between Major and Honors needs an application, and changing subject area normally isn't allowed after 90 units (Program Overview). Transferring in from another faculty is a separate process; ask CS advising at csugrad@ualberta.ca.
Can I finish in 3 years?¶
Only with summer courses, and the summer menu is thin: 174, 175, 272 and most first-year MATH and STAT courses have had Spring/Summer sections, but upper-year CMPUT courses generally haven't, and several run in only one term. The real constraint is the 174 → 272 → 204 chain. See Degree Planning.
What else does the BSc require besides CS courses?¶
ENGL/WRS, an Indigenous course, breadth inside and outside Science, a lab/field course, and minimums for Science, senior, and 300/400-level units. The table is in Degree Planning.
Courses¶
174/175 or 274/275?¶
274/275 is the accelerated, studio-style, limited-enrollment version, and the catalogue strongly recommends prior programming. Take it if you've written real programs and want C++ and Linux early; otherwise take 174/175. Both reach 204 at the same time, and 275 replaces 201. See First Year Guide.
Which math courses should I take?¶
For a Major, the usual combo is MATH 144 → 146, MATH 125, and STAT 151, with Calculus I, linear algebra and stats in your first year. MATH 114 doesn't count for any CS path. See Math and Stats.
What should I take in first year?¶
174 (or 274), Calculus I, linear algebra and intro stats in Fall; 175 (or 275), CMPUT 272, and Calculus II in Winter. Taking 272 in your first Winter is what lets 204 start in second year. See First Year Guide.
Which courses matter most for getting a job?¶
204 is the algorithms course behind interview-style problems, and 303/403 are contest-style problem solving on Kattis. 301 (Java/Android team project), 401 (group project), and 404 (web apps) are the most industry-shaped. Check the Curriculum Map for what each covers and what the degree doesn't teach at all (frontend frameworks, cloud, system design), and course pages for how they actually run.
What languages will I learn?¶
Python (174/175, 274), C (201), C++ (275, 350, 415), RISC-V assembly (229), SQL (291), Java (301), Lisp and Prolog (325), and Django/JavaScript (404). The Curriculum Map lists each course's tools with sources.
Is CMPUT 391 still offered?¶
No scheduled offerings since Winter 2022, so don't plan around it (Degree Planning). The Curriculum Map lists other courses that haven't run recently.
Internships and Jobs¶
Is there a CS co-op?¶
No. The Science Internship Program (SIP) is it: one paid, full-time block of 4, 8, 12, or 16 months, starting in May, September, or January, and 8+ months earns a "with internship" designation on your transcript. You need 24 units to apply and 48 to start. See Science Internship Program.
Is SIP worth it?¶
If you're in the Software Practice Option it isn't optional (8+ months). Otherwise it's worth it if you want a long placement or employers that only hire through formal internship programs, and you can accept WKEXP fees while you work and the Faculty's warning that it "might add a year" to your degree. A May to August internship found on your own needs none of that. See SIP vs. a summer internship.
When should I apply for internships?¶
The Faculty's internship timeline says apply to SIP at the end of first year and start applying for placements in second year. For summer internships at larger companies, start in the fall before. See Internships.
Can international students do SIP?¶
Yes, though some positions require Canadian citizenship. Under IRCC's April 2026 change you no longer need a separate co-op work permit, but conditions apply; confirm with ISVS before accepting an offer. See SIP: International Students.
Is there a tech scene in Edmonton?¶
A real but small one: a handful of tech companies (Jobber, AltaML, Huawei's research team), plus utilities, ATB, and government. Look nationally and remotely too. See Edmonton's Tech Scene.
How much do software developers make in Edmonton?¶
Job Bank's median for software developers and programmers in Edmonton is $40.87/hr versus $48.08 in Toronto (all experience levels, not intern or new-grad pay). Rent is also much lower. Numbers and sources: Edmonton's Tech Scene.
Does my GPA matter?¶
Some lines are hard: 2.3 to stay in SIP, 3.0 to stay in Honors, 3.5 for Jason Lang and Awards Hub academic scholarships, and a 3.0 minimum (often 3.5+ in practice) for UofA CS grad school. Above those, projects and internships usually matter more for industry jobs. See Scholarships and Grad School.
Research and Grad School¶
Can undergrads do research? Does it pay?¶
Yes. Volunteer, take CMPUT 399/499 for credit, or apply for an NSERC USRA (at least $8,400 for 16 weeks; citizens and PRs) or a URI Stipend ($7,500; no citizenship requirement listed). All need a confirmed supervisor before the February deadline, so start asking in October or November. See Getting Into Research.
Who should I email about research?¶
Pick two or three faculty whose recent papers interest you, from Research Areas and Groups, and read their directory profile first. How to write the email: Getting Into Research.
Should I go to grad school?¶
Yes if you want research or ML roles where a thesis MSc is increasingly the floor; probably not if you want to be a software engineer. UofA CS admits once a year, you need a supervisor to agree to take you, and funded positions are the norm. See Grad School.
Money¶
What's the tuition?¶
For Canadian citizens and permanent residents, most undergraduate courses have fee index 6: $729.36 per 3-unit course in 2026-27, so a 30-unit Fall/Winter year is about $7,300 before non-instructional fees (Registrar). International students and other programs differ; use the Registrar's cost calculator.
What scholarships should I apply for?¶
Awards Hub every year (February 1 to March 31), plus Jason Lang if you're an Alberta resident with a 3.5 GPA (deadlines September 15 and January 15). Paid research awards are on the same page. See Scholarships and Awards.
Campus and Community¶
Where do I get help with a course or my program?¶
Your lab instructor and TAs for course material; CS advising (csugrad@ualberta.ca) for program and prerequisite questions; UACS and Ada's Team for tutoring. See First Year Guide.
How do I get on the department's Linux machines?¶
SSH to ohaton.cs.ualberta.ca with your CCID, or use the UCommons lab machines. On Windows, install WSL. See Tools and Setup.
Which clubs should I join?¶
UACS for friends in the program, UAPSPC for competitive programming, UAIS for ML, and a hackathon (HackED Beta in November, HackED in February) to build something with a team. See Clubs and Organizations and its events calendar.
Still Stuck?¶
Email CS advising at csugrad@ualberta.ca with your Academic Advisement Report open. If this wiki is wrong, open a correction.
Last verified: October 2026.