ECE 150Fundamentals of Programming
- Units
- 0.50
- Faculty
- Engineering
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 3 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
Software design process in a high-level programming environment. Programming fundamentals, language syntax, simple data types, control constructs, functions, parameter passing, recursion, classes, arrays and lists, list traversals, introduction to searching and sorting algorithms, basic object-oriented design, polymorphism and inheritance, simple testing and debugging strategies, pointers and references, basic memory management.
Prerequisites
- Complete all of the following
- Students must be in level 1A or higher
- Enrolled in H-Computer Engineering, or H-Electrical Engineering
Antirequisites
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 4580 | 142 / 140 | M 08:30–09:20 TTh 10:30–11:20 Sep 18 16:30–17:20 Oct 23 14:30–16:20 TTh 10:30–11:20 Oct 30 16:30–17:20 M 08:30–09:20 Nov 13 16:30–17:20 Nov 27 16:30–17:20 |
| LEC 002 | 4581 | 140 / 140 | MWF 13:30–14:20 Sep 25 15:30–16:20 Oct 9 15:30–16:20 Oct 23 14:30–16:20 MWF 13:30–14:20 Nov 20 15:30–16:20 |
| LEC 003 | 4582 | 140 / 140 | T 13:30–14:20 WF 14:30–15:20 Oct 1 09:30–10:20 Oct 23 14:30–16:20 T 13:30–14:20 WF 14:30–15:20 Oct 29 09:30–10:20 Nov 12 09:30–10:20 |
| LAB 201 | 4679 | 142 / 140 | Sep 10 12:30–13:20 Th 12:30–14:20 Oct 1 12:30–13:20 Oct 8 12:30–14:20 W 08:30–10:20 Nov 5 12:30–14:20 Nov 12 12:30–13:20 Th 12:30–14:20 Dec 2 08:30–10:20 |
| LAB 202 | 5080 | 140 / 140 | Sep 9 08:30–09:20 W 08:30–10:20 Oct 7 08:30–09:20 Oct 28 08:30–10:20 Nov 4 08:30–09:20 W 10:30–12:20 Nov 18 08:30–09:20 Dec 2 08:30–10:20 Dec 2 10:30–12:20 Nov 11 08:30–10:20 Nov 25 08:30–10:20 |
| LAB 203 | 4680 | 140 / 140 | Sep 10 08:30–09:20 Th 08:30–10:20 Oct 1 08:30–09:20 Oct 8 08:30–10:20 Oct 29 08:30–09:20 M 08:30–10:20 Nov 5 08:30–10:20 Nov 19 08:30–10:20 Th 08:30–10:20 Nov 30 08:30–10:20 Nov 12 08:30–09:20 |
| TUT 101 | 4583 | 142 / 140 | F 08:30–09:20 F 08:30–09:20 |
| TUT 102 | 5079 | 140 / 140 | Th 16:30–17:20 Th 16:30–17:20 |
| TUT 103 | 4584 | 140 / 140 | W 09:30–10:20 W 09:30–10:20 |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names ECE 150.
- ECE 150 Fundamentals of Programming | Department of Electrical and Computer Engineering Course website · ece.uwaterloo.ca Remove
- Werner Dietl at the University of Waterloo Other · Fall 2022 · ece.uwaterloo.ca · from Werner Dietl’s site Remove
- Werner Dietl at the University of Waterloo Other · Fall 2021 · ece.uwaterloo.ca · from Werner Dietl’s site Remove
- Werner Dietl at the University of Waterloo Other · Fall 2020 · ece.uwaterloo.ca · from Werner Dietl’s site Remove
- Werner Dietl at the University of Waterloo Other · ece.uwaterloo.ca · from Werner Dietl’s site Remove
Reviewed on UW Flow
74% liked it66% easy87% useful
From 442 ratings and 72 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Studio Apt Install Opsec
all jokes aside tho this course will be somewhat easy if you just experiment with your code outside of labs and lectures + leetcode practice, also the TA's are very lenient in exam marking, if you just write the algorithm required for the code then ur guaranteed half the marks of that questionSep 2026 · liked it · 2 found this helpfulOn UW FlowRemove this
Harder's slideshows are a bunch of yap, use Claude to summarize it and to learn C++
Be prepared for this course. Actually do practice questions (make some with AI or something), if you just do the projects and study the days before exams, it WILL be difficult if you do not know programming.Dec 2025 · didn’t like it · 2 found this helpfulOn UW FlowRemove this
make sure to always use goto statements
Jan 2025 · liked it · 2 found this helpfulOn UW FlowRemove this
The lecture slides are unbelievablely confusing so you're going to either be forced to attend the lectures and make notes or watch the YouTube videos. If you already have prior experience in programming this course will be a cakewalk. Be wary as the TA's will diddle you during the midterm marking.
Dec 2025 · didn’t like it · 1 found this helpfulOn UW FlowRemove this
Very useful and relevant course, but is 100% self-taught
Dec 2025 · liked it · 1 found this helpfulOn UW FlowRemove this
Discussed on r/uwaterloo
488 posts and comments in 369 threads mention ECE 150, August 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
Question 1 point, 1 comment
u/ButtonIndividual5235: “How have you not got 150 back? Every 1A ECE Ik already has got grades back from all courses.”
u/ButtonIndividual5235: “bro, ECE 150 got released on Dec. 20th. Ur post said 1 day ago at the time I responded. And u calling me dumb.”
Will doing bad in 1A affect my 2nd co-op chances? S4 EE 6 points, 4 comments
u/Soccerfan2203: “… but I was able to pass all my courses but one and i finished with an average around 64% ( ECE 150 I failed badly and it brought my avg down ). …”
Admission / High School Megathread (Fall 2024) 24 points, 20 comments
“This megathread is for prospective frosh and current high school students interested in Waterloo. Ask your questions here. …”
u/Legitimate-Garlic315: “I’m a grade 12 student and I really like circuit Analysis and I’m interested in EE at uw If you got accepted what was your avg and how are you liking the program at uw? Does grade 11 matter? …”
u/itzjackybro: “… Kostadinka Bizheva [ECE 105: Classical Mechanics], Werner Dietl [ECE 150: Fundamentals of Programming]) Things to prepare for - ECE 150: Fundamentals of Programming - LEARN TO CODE if you do not already know how! …”
Is 75% average good for first year? 14 points, 7 comments
“I'm kind of worried as a software engineering major”
u/Psychologicaltears39: “I was 75 in 1a ce(pretty similar courses as se except ece150) and I was just about average”
Where did I go wrong 44 points, 5 comments
u/Valuable-Call2924: “… I'm worried about what'll happen now, ECE 150 wasn't amazing either, math 117 had one of its hardest finals in a while, I don't want to repeat the term but I don't even understand how I got myself in this position at all. …”
Scared to freaking death 24 points, 4 comments
u/Motor-Resolution-852: “… Scared to death that I'm going to fail my ECE 150 exam tmrw. I have one more day to prep and Ive only just finished reviewing midterm content. I had to review it extensively since I got dirt poor on the midterm (\35%). …”
u/anlxi: “… I took ECE150 in 2023 so I can't speak on the chance harder will curve but I will say that the few people I saw fail 150 were the ones who did bad on the midterm and put the same effort on towards the final. …”
ece 1a term 6 points, 6 comments
u/anxjaiem: “… the ece150 final is coming up in a day, and its difficult because i dont have a strong background in programming and the course content was super hard for me to understand and apply. …”
anyone got old ece105 or 150 finals 1 point, 0 comments
u/Embarrassed-Hold-426: “HELP”
Does ECE150 get curved? 1 point, 1 comment
ECE 1A Exam tips 1 point, 5 comments
u/ButtonIndividual5235: “Anyone have any pointers on how to do well on ECE 105, MATH 117, MATH 115, ECE 190 and/or ECE 150. I feel kinda cooked given that i did bad on midterms.”
u/itzjackybro: “for ECE150: practice paper coding. I know lots of people who certainly know how to code, but struggle with paper coding. Also practice tracing through programs; it's genuinely a useful technique to figure out why your code is doing something it shouldn't.”
How to get better at programming? (ece150) 5 points, 4 comments
u/Valuable-Call2924: “… ECE150 I don't understand anything. Got dirt poor on the midterm (sub 40%). Stopped attending lectures because harder goes too fast only to learn his video lectures arent much better. …”
u/itzjackybro: “… Harder provides a lot of coding challenges on the ECE150 website that can help you practice your skills. …”
u/UncleGuma: “I'm taking ECE150 right now, I'm not the greatest when it comes to programming, but I am roughly class average. …”
Preparing for ECE150 final 2 points, 2 comments
u/whatsalamp: “Hi, I'm a 1A ECE student and was hoping to get any thoughts/ideas/advice on how to prepare for the ECE150 final? I've heard the midterm is significantly easier (despite a 61% mean...), and there aren't many practice finals available. …”
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