Skip to content

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.