CPSC 221

Basic Algorithms and Data Structures

Course Description

Design and analysis of basic algorithms and data structures; algorithm analysis methods, searching and sorting algorithms, basic data structures, graphs and concurrency.

Average difficulty
3.5 / 5
Average quality
4.75 / 5
Scroll to see reviews

Add a Review for this course

Please ensure that your review is respectful and constructive. Read about UBC's aim for creating a safe and inclusive learning environment here. These reviews may take several days to process and will be scanned for inappropriate or malicious content.

Please enter a name/username.
Enter a valid url including the 'https://' prefix. (https://www.example.com)
Please enter your course review. [minimum length: 50 characters]
3
3

Typical DSA course and therefore very important material is covered here. Changed the way I think about coding by giving me tools and concepts to better reason about it. I loved the programming assignments. I felt that they challenged me but at the same time were fun. The other assignments arenโ€™t as fun and interesting imo but are still good. The examlet structure is great in my view. There is some research showing frequent low stakes testing is superior to a handful of big tests. I was apprehensive before taking this course because Iโ€™m a product of the traditional way (a few big tests), but this course converted me.
Difficulty:3
Quality:4
ushankab, Dec 17 2023, course taken 2021W2
Enjoyed the course and the way it was structured. Content is pretty interesting and not too bad to learn, but the assignments can be challenging. All in all good course with goated profs.
Difficulty:4
Quality:5
Arman, Nov 25 2022, course taken 2021W2
Great intro to Data Structure and Algorithms course. Prepares you for basic Technical interviews. Loved the prof (Cinda Heeran) and rate her 5/5.
Difficulty:3
Quality:5
Shubh, Oct 25 2022, course taken 2021W2
An introductionary course into algorithms and data structures, such as sorting algorithms, and linked list. The class covers the basics, so not a lot of prior knowledge is required. Most importantly, this is the first class that introduces asymptotics notation (big O notation, like O(n)) and using them for algorithm analysis formally, so this could be handy for job interviews. You also learn about C++ and pointers.
2020 CPSC 221 TA, Aug 26 2020
Introduction to algorithm design. The course can be difficult and the assignments can be time consuming. Make sure to study well for this one.
Difficulty:4
Quality:5
Eugene, Nov 4 2022, course taken 2019W1

Historical grade information

Grades information from UBC Grades Database