ECE 320Computer Architecture
- Units
- 0.50
- Faculty
- Engineering
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 4 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
Organization and performance of uniprocessors, pipelined processors, dynamically scheduled processors, parallel processors and multiprocessors; memory and cache structures; multiprocessor algorithms and synchronization techniques; special-purpose architectures.
Prerequisites
- Complete all of the following
- Must have completed the following:
- Students must be in level 3B or higher
- Complete 1 of the following
- Enrolled in CS-Digital Hardware Specialization, or H-Software Engineering
- Enrolled in a BASc program
Antirequisites
- Not completed any of the following:
Leads to
No course lists it as a requisite.
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 5090 | 184 / 200 | MF 10:00–11:20 Sep 15 16:00–17:20 Oct 6 16:00–17:20 Nov 3 16:00–17:20 Nov 24 16:00–17:20 |
| LAB 201 | 5092 | 40 / 40 | Sep 22 08:30–11:20 Oct 6 08:30–11:20 Nov 3 08:30–11:20 Nov 17 08:30–11:20 Dec 1 08:30–11:20 |
| LAB 202 | 5093 | 36 / 40 | Sep 23 08:30–11:20 Oct 7 08:30–11:20 Nov 4 08:30–11:20 Nov 18 08:30–11:20 Dec 2 08:30–11:20 |
| LAB 203 | 5094 | 36 / 40 | Sep 24 08:30–11:20 Oct 8 08:30–11:20 Nov 5 08:30–11:20 Nov 19 08:30–11:20 Dec 3 08:30–11:20 |
| LAB 204 | 5473 | 36 / 40 | Sep 15 08:30–11:20 Sep 29 08:30–11:20 Oct 20 08:30–11:20 Nov 10 08:30–11:20 Nov 24 08:30–11:20 |
| LAB 205 | 5474 | 36 / 40 | Sep 16 08:30–11:20 Sep 30 08:30–11:20 Oct 21 08:30–11:20 Nov 11 08:30–11:20 Nov 25 08:30–11:20 |
| TUT 101 | 5091 | 184 / 200 | W 20:00–20:50 |
Reviewed on UW Flow
93% liked it58% easy98% useful
From 28 ratings and 7 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
This course is by far my favourite 3B technical elective. You learn a lot about how real computer architecture is done and the project is to create a pipelined RISCV core which is a very gratifying experience. Overall one of the best courses of my undergrad.
Dec 2022 · liked it · 1 found this helpfulOn UW FlowRemove this
Pretty cool, I guess. You get to learn how multicore works. Final exam was easy after the crushing midterm.
Dec 2025 · liked itOn UW FlowRemove this
Took this course with Andrew Morton. Super fun and highly recommend for an ECE TE. Can confirm labs still involve building out a pipelined RISCV processor in Verilog with all the test cases for the first 5 out of 6 deliverables already given to you. The exams were more concept-based, relative to other ECE courses. This is where you pull out your high-school flash cards.
Jan 2025 · liked itOn UW FlowRemove this
I thought the course was relatively easy and straight forward. Granted I was interviewing for positions where knowledge of cpu cache and pipeline behavior mattered, so I had already studied the content a bit previously.
Professor Patel is a clear lecturer and takes time to answer all questions.Oct 2023 · liked itOn UW FlowRemove this
Very enlightening, I took this in 3B as an EE and it took far more time than any other course. I don't recommend if you don't hate yourself.
The lab instructor Renier is a POS he does not respond to emails and comes up with excuses all the time. I strongly dislike him and do not recommend ever approaching himJul 2022 · liked itOn UW FlowRemove this
Discussed on r/uwaterloo
12 posts and comments in 10 threads mention ECE 320, July 2020 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.
Spring 2024
HELP: I Got Offered Admission To CS and CE. Any Advice On How To Decide? 9 points, 18 comments
“Hi, I am a grade 12 student who applied to the computer engineering and computer science programs at the University of Waterloo. …”
u/sjc96s: “… I personally loved ECE320 and ECE327. The program is quite well rounded in later years as well coving operating systems and networking for more software topics. …”
Fall 2023
Any old exams for ECE 320/429 5 points, 0 comments
u/MrT3kkers24: “title\ anyone have any old exams for either of those courses?”
Spring 2023
What are your core courses? 8 points, 11 comments
“Basically title - What are several courses that you think really define your program? Any thoughts on them, and how they went? Looking forward to the discussion (ノ◕ヮ◕)ノ\:・゚✧”
u/Xierumeng: “Computer engineering: ECE 224 ECE 320 ECE 327 ECE 350 ECE 423 ECE 455 Honourable mention: ECE 105 ECE 106 Douglas Harder Peter Levine Paul Ward The ECE advisors”
ECE 3B TEs 9 points, 8 comments
u/NFLYoungGuy: “… There are also other things in the 3rd TE list: “One of ECE 313, ECE 320, ECE 331, ECE 351, ECE 356, ECE 358, ECE 360, ECE 373” The dilemma rn is between: databases -> easier content wise (for me at least) vs architechure -> more challenging but no paul ward. …”
u/anonymousgoosetown: “ECE320 was pretty challenging (especially the last lab, be warned). But it was one of the best courses in undergrad for actually learning the structure of a CPU. Really learned a lot, even as someone who ended up in software it was useful.”
Winter 2023
best engineering courses to take as a cs major 10 points, 11 comments
“\ im an almost 4th year, interested more in lower level/systems/ece kinda stuff”
u/Math_IB: “Some good digital hardware/cpu architecture courses: ece124, ece222, ece327, ece320”
Fall 2022
how hard is Comp Eng 2B? 21 points, 16 comments
“How hard is 2B compared to 2A for comp eng? Which courses tend to be the hardest or most time consuming? Have the courses changed at all after COVID?”
u/superuwu1000: “… Then, as long as you don't take ECE 320 in 3B, you're chill for the rest of your program, unless you take a heavy lab course electively. …”
Winter 2022
ECE courses to learn about FPGAs/Verilog/etc 0 points, 4 comments
u/mywaterlooaccount: “ECE 124, 327, 320 are a place to start.”
Fall 2021
Meanwhile in ECE '26 395 points, 33 comments
u/1000Ditto: “yifan is actually a goated ta who saved my ass that man came in 9am to 9pm every day to help people”
u/TheColoneI: “Yup, he saved my ass once in ece320 with his test programs. Havent been able to repay the favour yet unfortunately, but would certainly help him out if he ever needed it.”
Winter 2021
CS 450 vs ECE 320 vs ECE 429 2 points, 1 comment
Spring 2020
ece 320 w/ Hiren Patel 1 point, 2 comments
u/napabobawhore: “Does anyone know how he is as a prof for online ece 320? Exam, labs, grading wise? Apparently his exams are tough for ece 429 but idk if he’s different for ece 320”
u/a2xia: “I looked this up on the Undergraduate Course Calendar and it turns out ECE 320 is just going to be the new number for ECE 429. I’m in 429 this term with Hiren Patel and so far honestly it’s been great, my favourite course this term. …”
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