WClasses

CS 231 - Algorithmic Problem Solving

The study of the steps required to solve real-world problems on a computer, including problem specification, choice of algorithmic paradigm, analysis, and implementation. Topics include exhaustive search, divide and conquer, greedy, and dynamic programming approaches.

Prerequisites

One of CS116, CS136, CS138, CS146 or (CS114 with at least 60%; CS115 or CS135); Not open to Honours Computer Science, Data Science (BCS, BMath), BCFM, BSE students.

Corequisites

None

Antirequisites

BME122, CS341, ECE250, MSE240, MTE140, SYDE223

Offerings

Spring 2026 [1265]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 00138870 / 300

Spring 2025 [1255]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 0013987270 / 270

Spring 2024 [1245]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 0014036291 / 310

Spring 2023 [1235]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 0014180252 / 275

Spring 2022 [1225]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 0014004136 / 140 Naomi Nishimura
LEC 0024070114 / 140 Naomi Nishimura

Spring 2021 [1215]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 041365992 / 100 Naomi Nishimura
LEC 042368490 / 100 Naomi Nishimura
TST 1413660182 / 200 Karen Anderson

Spring 2020 [1205]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 001403497 / 110 Naomi Nishimura
LEC 002408794 / 100 Naomi Nishimura
TST 1014035191 / 21019:02 - 19:02 Karen Anderson

Spring 2019 [1195]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 001406984 / 9013:00 - 14:20 T,ThMC 2017Naomi Nishimura
LEC 002536879 / 9011:30 - 12:50 T,ThMC 2017Naomi Nishimura
TST 1014070163 / 18016:30 - 18:20 Th Karen Anderson

Spring 2018 [1185]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 001489492 / 10010:00 - 11:20 T,ThMC 4021Naomi Nishimura
TST 101489592 / 10016:30 - 18:20 Th Karen Anderson

UW Flow Ratings

Liked: 64.71%

64.71%

Easy: 66.41%

66.41%

Useful: 64.84 %

64.84%

CS 231 leads to

CS 338 - Computer Applications in Business: Databases

CS 370 - Numerical Computation

CS 431 - Data-Intensive Distributed Analytics

CS 487 - Introduction to Symbolic Computation

CO 432 - Information Theory and Applications