ECE 250Algorithms and Data Structures
- Units
- 0.50
- Faculty
- Engineering
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 5 of the last 7 terms. Winter 2027: scheduled, 3 lecture sections. Spring 2027: schedule not out yet.
Data structures, abstract data types, recursive algorithms, algorithm analysis, sorting and searching, and problem-solving strategies.
Prerequisites
- Complete all of the following
- Students must be in level 2A or higher
- Enrolled in H-Computer Engineering, or H-Electrical Engineering
Antirequisites
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 4619 | 131 / 155 | TWTh 09:30–10:20 Sep 21 10:30–11:20 Oct 5 10:30–11:20 Oct 26 10:30–11:20 Nov 9 10:30–11:20 Nov 23 10:30–11:20 Dec 7 10:30–11:20 |
| LAB 201 | 4684 | 36 / 40 | Sep 25 13:30–16:20 Oct 9 13:30–16:20 Nov 6 13:30–16:20 Nov 20 13:30–16:20 Dec 4 13:30–16:20 |
| LAB 202 | 4707 | 39 / 40 | Sep 22 13:30–16:20 Oct 6 13:30–16:20 Nov 3 13:30–16:20 Nov 17 13:30–16:20 Dec 1 13:30–16:20 |
| LAB 203 | 4708 | 41 / 40 | Sep 23 13:30–16:20 Oct 7 13:30–16:20 Nov 4 13:30–16:20 Nov 18 13:30–16:20 Dec 2 13:30–16:20 |
| LAB 204 | 5157 | 15 / 32 | Sep 24 13:30–16:20 Oct 8 13:30–16:20 Nov 5 13:30–16:20 Nov 19 13:30–16:20 Dec 3 13:30–16:20 |
| TUT 101 | 4620 | 131 / 155 | M 13:30–14:20 |
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 4380 | 140 / 155 | TWTh 09:30–10:20 Jan 13 11:30–12:20 Jan 27 11:30–12:20 Feb 10 11:30–12:20 Mar 3 11:30–12:20 Mar 17 11:30–12:20 Mar 31 11:30–12:20 |
| LEC 002 | 4470 | 114 / 145 | TWTh 14:30–15:20 Jan 14 12:30–13:20 Jan 28 12:30–13:20 Feb 11 12:30–13:20 Mar 4 12:30–13:20 Mar 18 12:30–13:20 Apr 1 12:30–13:20 |
| LEC 701 | 1943 | 0 / 9999 | Online or by arrangement |
| LAB 201 | 5208 | 38 / 40 | Jan 21 13:30–16:20 Feb 4 13:30–16:20 Feb 25 13:30–16:20 Mar 18 13:30–16:20 Apr 1 13:30–16:20 |
| LAB 202 | 5209 | 38 / 40 | Jan 18 13:30–16:20 Feb 1 13:30–16:20 Feb 22 13:30–16:20 Mar 15 13:30–16:20 Mar 29 13:30–16:20 |
| LAB 203 | 5210 | 37 / 40 | Jan 19 13:30–16:20 Feb 2 13:30–16:20 Feb 23 13:30–16:20 Mar 16 13:30–16:20 Mar 30 13:30–16:20 |
| LAB 204 | 5211 | 27 / 35 | Jan 20 13:30–16:20 Feb 3 13:30–16:20 Feb 24 13:30–16:20 Mar 17 13:30–16:20 Mar 31 13:30–16:20 |
| LAB 205 | 5212 | 32 / 40 | Jan 21 08:30–11:20 Feb 4 08:30–11:20 Feb 25 08:30–11:20 Mar 18 08:30–11:20 Apr 1 08:30–11:20 |
| LAB 206 | 5213 | 30 / 40 | Jan 18 08:30–11:20 Feb 1 08:30–11:20 Feb 22 08:30–11:20 Mar 15 08:30–11:20 Mar 29 08:30–11:20 |
| LAB 207 | 5214 | 30 / 40 | Jan 19 08:30–11:20 Feb 2 08:30–11:20 Feb 23 08:30–11:20 Mar 16 08:30–11:20 Mar 30 08:30–11:20 |
| LAB 208 | 5215 | 22 / 25 | Jan 20 08:30–11:20 Feb 3 08:30–11:20 Feb 24 08:30–11:20 Mar 17 08:30–11:20 Mar 31 08:30–11:20 |
| TUT 101 | 4381 | 140 / 155 | T 16:30–17:20 |
| TUT 102 | 4471 | 114 / 145 | Th 16:30–17:20 |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names ECE 250.
Reviewed on UW Flow
81% liked it54% easy93% useful
From 252 ratings and 49 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Boring course. Extremely generic stuff that could be learned on youtube. Had Ladan as prof. Really bad. She's lowkey evil. Insane marking. Would rather have DW Harder.
Dec 2024 · didn’t like it · 3 found this helpfulOn UW FlowRemove this
I had Ladan. Make sure you practice the past midterm and finals (e.g. hashing question, stack/queue, b-tree question was exactly the same as some of the previous midter ones). She goes over topics covered for the exams and outlines how many marks each section will be worth. If you're behind, create you're exam study schedule based on the sections worth the most. E.g in midterm, I focused on hashing problems, AVL and B-tree, recurrence (master method and repeated sub) and got a decent mark.
They mark rly strict so even if you know you're stuff, but you make silly mistakes, you will not get the mark.
I watched a youtube video for each topic of her lectures, then I read over her lecture…Apr 2023 · didn’t like it · 3 found this helpfulOn UW FlowRemove this
Its data structures and algorithms of course it will be useful
Apr 2022 · liked it · 2 found this helpfulOn UW FlowRemove this
Very important course.
Dec 2014 · liked it · 2 found this helpfulOn UW FlowRemove this
W Patrick W course. His lectures are very clear, slidos make it a bit more engaging, and he recently got an award for teaching, so you know he's good!!
in terms of exam, a lot of people did poorly on the midterm for various reasons. there was a big curveball question that a lot of people didn't understand. but after he really emphasized understanding the concepts and gave us lots of support and tips on how to study or prepare for the final, and it ended up fine.Apr 2025 · liked it · 1 found this helpfulOn UW FlowRemove this
Discussed on r/uwaterloo
202 posts and comments in 165 threads mention ECE 250, May 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
When ECE250😭 9 points, 1 comment
u/VeryGood-667: “When will we have our ECE250 grades out Even Trudeau’s government is more efficient than you Mr. ECE250markingteam”
ECE 250 Grades have not been released yet 😭 13 points, 0 comments
ECE 250 6 points, 1 comment
u/Cultural_Leg5355: “Why😫”
Spring 2024
Transfer: CE -> SE and CE -> CS 1 point, 8 comments
“I'm going to CE in the fall, but my interests lie in math and programming, so I'd like to transfer to SE or CS. (I applied CE, CS, CS + BBA, got rejected from last 2. …”
u/Many_Quiet_3887: “… Transfer from Math to CS form, generally for CE you do this in 2A, as this is when you get ECE 250. If all goes well for transferring into CS, you’ll get an email about it early the next term. …”
u/Rauguz: “… Marks are the most important factor, for SE: 90+ average overall and aim for cs/math marks in the mid-high 90s For cs: your introductory DSA (I believe it’s ECE250 for you) mark is the most important, since ur from eng they apply an adjustment factor which lowers your grade …”
ECE 252 3 points, 1 comment
u/bomankleinn01: “… Since the prerequisite is ECE 250: Data Structures and Algorithms, which common dsa concept(s) should I expect and hone in from this to best prepare. …”
ECE 252 Override? 3 points, 2 comments
u/bomankleinn01: “… So far I heard that other Eng courses are easy to override into but particularly curious about this one since the requirements are ECE 250 (Algorithms and Data Structures) which could be covered by CS 341 or CS 231/34. …”
Incoming mech eng student, can't decide if I should apply for a transfer to tron 1 point, 10 comments
u/sai2654: “… Over the summer I plan to learn ece 155 and ece 250 and work on my passon project of making my own sim racing wheel. I just wanted to know if it would make more sense to continue self study or switch to tron. …”
Fall 2023
For those of you who took ece 250 6 points, 11 comments
u/Fun-Stay-177: “What should I prepare? The only course I didn't do well on is ece 150 so I'm pretty afraid of what to expect. Any concepts or videos I should be aware of before starting?”
u/footloooops: “Basically, ECE250 is all about learning data structures and algorithms using only HTML and CSS. GL!”
u/torido314159: “… Did okish on midterm and final in ECE 250 (80s on midterm + final's not been released yet but i think 80+), got fucked by labs cuz Im bad at coding. If you are good at logic/108 stuff then you shouldnt have any problem learning 250 content at all. …”
u/VerifiedECE: “Honestly ECE 250 was pretty light. It’s more conceptual like how the basic data structures and algorithms work and the labs are mostly implementing these structures from scratch so linked lists, queues, stacks, trees and etc. I think it’s easier than ECE 150. …”
ECE 150 Final 34 points, 12 comments
“What was that.”
u/superspud9: “… I got this wipe harder for ece250, he should not be teaching any course. …”
u/zharguy: “This guy probably cares too much, once got an email from him about my ece250 GitHub repo halfway through the following coop term lol”
Can I still take ece 250 after failing 150? 4 points, 6 comments
u/CrazyDolphin16: “Title.”
Fucking hate Coding 46 points, 22 comments
“As an Electrical Engineering student , I signed up for EE and not CE to avoid programming. After getting my ass widened by harder on the 150 final, I never want to touch code EVER AGAIN! …”
u/anlxi: “we still have ece250 to pass lol”
Applying to management engineering or SYDE, need advice 1 point, 15 comments
“Hello, I am applying to either management eng or SYDE for this coming fall term. I am interested in a career in probably software, but I would like to get a P.Eng, a shiny lil ring, and a sexy coop …”
u/suiyui: “TL;DR apply to SYDE if you think you can get in, MGMT is not worth it at all Cons of MGMT: You study in one of the worst buildings on campus. …”
u/StatusNew7262: “… They take ECE 250 for DSA like how we take MSCI 240 for DSA. A lot of what you’re complaining about sounds like a motivation issue. …”
Check it elsewhere for Fall 2026
- Undergraduate Calendar, 2026–27The official entry
- Requirements for Fall 2026Waterloo’s requisite checker
- Schedule of Classes, Fall 2026Instructors, rooms, live seats
- Quest Class SearchWhere you enrol
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them