uwloo

CS 240Data Structures and Data Management

Units
0.50
Faculty
Mathematics
Subject
Computer Science

When it runs

  1. F24
  2. W25
  3. S25
  4. F25
  5. W26
  6. S26
  7. F26
  8. W27
  9. S27

Ran in 7 of the last 7 terms. Winter 2027: scheduled, 3 lecture sections. Spring 2027: schedule not out yet.

Introduction to widely used and effective methods of data organization, focusing on data structures, their algorithms, and the performance of these algorithms. Specific topics include priority queues, sorting, dictionaries, data structures for text processing.

Prerequisites

Antirequisites

  • Not completed nor concurrently enrolled in any of the following:
    • BME122 - Data Structures and Algorithms (0.50)
    • CS234 - Data Types and Structures (0.50)
    • CS240E - Data Structures and Data Management (Enriched) (0.50)
    • ECE250 - Algorithms and Data Structures (0.50)
    • MTE140 - Algorithms and Data Structures (0.50)
    • SYDE223 - Data Structures and Algorithms (0.50)

Leads to

Fall 2026 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 001599767 / 90TTh 10:00–11:20
LEC 002622684 / 90TTh 14:30–15:50
TUT 101593633 / 60F 08:30–09:20
TUT 102652459 / 60F 09:30–10:20
TUT 103652559 / 60F 12:30–13:20
TST 2016526151 / 180Oct 22 16:30–18:20

Winter 2027 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 00155990 / 90TTh 11:30–12:50
LEC 00257700 / 90TTh 14:30–15:50
LEC 7012178127 / 9999Online or by arrangement
TUT 10158360 / 60F 12:30–13:20
TUT 10258370 / 60F 13:30–14:20
TUT 10358380 / 60F 14:30–15:20
TST 20156790 / 180Mar 4 16:30–18:20

Resources

Around the web

Found by uwloo’s link finder, which checks that each page names CS 240.

5 more links

Suggest a resource.

Reviewed on UW Flow

59% liked it56% easy63% useful

From 848 ratings and 138 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.

  • Meow

    Aug 2024 · liked it · 7 found this helpfulOn UW FlowRemove this

  • 2nd most useful course I've taken so far at UW, behind CS246. The quality and quantity of things learned in this course is astounding, and it has already benefitted me with interviews. Had a dev interview a week after we learned AVL trees, boom, question on AVL trees.

    Jul 2016 · liked it · 3 found this helpfulOn UW FlowRemove this

  • i wish it either chose to be theory heavy or application heavy. trying to get some of each isn't working very well for the course (no details). the assignments are enjoyable and extend lecture content well. the exams are fine.

    Aug 2024 · liked it · 2 found this helpfulOn UW FlowRemove this

  • It is math-heavy throughout, more so before the midterm, which needs to be done well for CS 341 I feel. There are many algorithms and their implementation & analysis throughout, study them regularly and they should be fine. Assignments can be long and sometimes challenging, the midterm was tough but the straightforward final made up for it.

    Aug 2024 · liked it · 1 found this helpfulOn UW FlowRemove this

  • Useful but not hard. Very poor organization, assignment gradings are arbitrary, TAs are your enemies

    Apr 2024 · didn’t like it · 1 found this helpfulOn UW FlowRemove this

Discussed on r/uwaterloo

1,558 posts and comments in 1,044 threads mention CS 240, December 2011 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.

Fall 2024

2B CS Course Selection 1 point, 1 comment

u/Scapedd: “… path to go for, mainly looking to maintain a decent GPA, but ideally also want to get to CS 240 (for interviews) and CS 350 as soon as possible. …”

u/amsyed10385: “… If you took CS240 during workterm instead of 241 maybe you can fit CS 341 into 3A. CS 348 isn’t really a good course, would prioritize 341/350 over 348. …”

View on RedditRemove this

2B CS course selection 2 points, 3 comments

u/Standard-Lecture-950: “… Option 1: CS 246, 245, 251, math 239 in 2B and then CS 240, 241, Stat 231, CS 3xx in 3A 2. …”

u/iamanaybaid555: “Your best combination would be: • CS 246 (pre-requisite for CS 241 and CS 240) • CS 251 (pre-requisite for CS 350) • MATH 239 (pre-requisite for CS 341) • CS 245 (pre-requisite for CS 240) • One elective Two reasons for not taking 231 with this would be a heavier workload and no …”

View on RedditRemove this

CS135 Withdrawing 4 points, 5 comments

“I barely passed the CS135 midterm and I need a 50% in the final exam to pass the course. Is it doable to get a 50% in the final or should I consider withdrawing?”

u/iamanaybaid555: “… If this ever happens to you again while you're doing CS 136, 246, 240, 341; you'll face it with some experience rather than going in blind. …”

View on RedditRemove this

2B CS course suggestion 1 point, 4 comments

“i'll be heading into 2B in Winter 2025 (sequence 4) and will also be searching for 2nd co-op in Spring 2025. …”

u/wer2slay: “CS246 is probably one of the most useful courses I've taken at waterloo. Highly recommend you spend around 15-20 hours a week on that alone. …”

u/Standard-Lecture-950: “… I think ill do stat 231 cuz doing 239 will make no difference cuz ill have to get done with cs 240, cs 241 to take cs 341 and cs 350 so ill do them in 3A”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar