CMPUT 274: Accelerated Introduction to the Foundations of Computation I¶
At a glance
- Units: 3
- Prerequisites: Math 30-1.
- Credit exclusions: Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 175 and CMPUT 274.
- Offered: Now: Fall 2026
- Difficulty: Hard
- Workload: Heavy-Overwhelming
- Languages and tools: Python, Linux
This is part 1 of an intensive problem-based introduction to Computing Science. In part 1, the key concepts of procedural programming, basic algorithm design and analysis (lists, queues, trees, sorting, searching) are learned by solving a series of problems using Python. Development is done using the Linux operating system. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Python or prior computing background is strongly recommended.
Official catalogue entry ยท facts synced 2026-10-01
What Students Say¶
Imported from the original course reviews page, which mixed student contributions with summarized Reddit discussion. Tips aren't term-stamped yet; if you've taken this course recently, add your experience.
The accelerated alternative to 174/175: 274 is Python on Linux, and 275 moves to object-oriented C++. Reviews for both halves live here.
You can't get credit for both 275 and 201, so 275 also covers the role 201 plays in the regular stream.
Students are divided: those with strong prior experience often found it manageable and preferred the depth; those without a strong base often found the pace brutal, with some reporting around 20 hours a week on this one course.
Student tips: - Be honest about your background. If you've programmed seriously before, the accelerated stream is a good fit. Otherwise, 174/175 is the smarter play.