SE 465Software Testing and Quality Assurance
- Units
- 0.50
- Subject
- Software Engineering
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 2 of the last 7 terms. Winter 2027: scheduled, 2 lecture sections. Spring 2027: schedule not out yet.
Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.
Prerequisites
- Complete all of the following
- Must have completed at least 1 of the following:
- Enrolled in H-Software Engineering
Antirequisites
Leads to
No course lists it as a requisite.
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 7186 | 0 / 135 | MF 14:30–15:50 |
| LEC 701 | 2687 | 121 / 9999 | Online or by arrangement |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names SE 465.
- se465-notes: Notes for Patrick Lam's SE 465 course at uWaterloo Course notes · github.com · by AideTechBot on GitHub Remove
- AddressSanitizer - Clang Other · clang.llvm.org · from UWaterloo Links (SE) Remove
- AddressSanitizerComparisonOfMemoryTools · google/sanitizers Wiki Other · github.com · from UWaterloo Links (SE) Remove
- american fuzzy lop Other · lcamtuf.coredump.cx · from UWaterloo Links (SE) Remove
- Coverity Scan - Static Analysis Other · scan.coverity.com · from UWaterloo Links (SE) Remove
- Error Prone Other · errorprone.info · from UWaterloo Links (SE) Remove
- libFuzzer – a library for coverage-guided fuzz testing. - LLVM Other · llvm.org · from UWaterloo Links (SE) Remove
- Mockito framework site Other · site.mockito.org · from UWaterloo Links (SE) Remove
6 more links
- Overview :: JUnit User Guide Other · docs.junit.org · from UWaterloo Links (SE) Remove
- PIT Mutation Testing Other · pitest.org · from UWaterloo Links (SE) Remove
- PMD Other · pmd.github.io · from UWaterloo Links (SE) Remove
- SpotBugs Other · spotbugs.github.io · from UWaterloo Links (SE) Remove
- The Checker Framework Other · checkerframework.org · from UWaterloo Links (SE) Remove
- Valgrind Home Other · valgrind.org · from UWaterloo Links (SE) Remove
Reviewed on UW Flow
35% liked it85% easy44% useful
From 128 ratings and 22 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
It seems this course has undergone some reorganization in recent years. While previous cohorts may have wanted more theoretical content, current students appear to be looking for more practical, application-based learning. In this iteration, the theoretical material was presented in a way that felt somewhat disorganized, which unfortunately affected my engagement and interest in the course. Several assignments, such as those involving wlang, also felt loosely connected to the course content, adding to the confusion. The overall course structure and alignment between lectures and assessments could be significantly improved to better support student learning. With clearer objectives, better…
Mar 2025 · didn’t like it · 3 found this helpfulOn UW FlowRemove this
Oh my god this was horrible. Not a single redeeming quality about any part of this course. Professor? Unknowledgeable, abrasive, and egotistical. Content? Useless in real life while the somewhat interesting theoretical parts are a strict subset of SE 212. Organization? I think the first cities in Mesopotamia were better organized than whatever Patrick Lam put together.
The course focuses on formal verification but it only covers what was learned in SE 212 (in a worse, less-clear way!). Why don't we learn how to use testing libraries like PyTest in our code? What about CI/CD? What about testing at scale? No. Instead were spend 3 months doing Hoare logic again because Patrick Lam said…Aug 2025 · didn’t like it · 2 found this helpfulOn UW FlowRemove this
probably the worst course i've taken during my entire program. very disorganized and unenjoyable. prof patrick lam was a disaster for this course, extremely unprepared and clueless at times. he should not be allowed to teach this course again.
Mar 2025 · didn’t like it · 1 found this helpfulOn UW FlowRemove this
This course is such a trash, should've been garbage collected
Apr 2023 · didn’t like it · 1 found this helpfulOn UW FlowRemove this
i question how much purpose this course has with AI. seems like software is turning in the gambling "if it compiles just merge" era
Oct 2026 · didn’t like itOn UW FlowRemove this
Discussed on r/uwaterloo
20 posts and comments in 18 threads mention SE 465, March 2012 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 2023
Is CE or CS harder to get into? 1 point, 3 comments
u/suiyui: “… There's people who switch from SE to CS just to avoid the SE 463/464/465 courses (search up SE 463 on UWFlow - it's one of the most hated courses in the school by dislike:like ratio)”
Spring 2023
Alternatives on application 1 point, 3 comments
“Hi! This fall I'm strongly consideirng applying to UW Engineering, so I had a few questions - 1. Is there a difference in co-op opportunties in CE and SWE? 2. …”
u/robocop12321: “… SE drowns you out with chemistry reqs, SE 463/464/465, etc… useful but no fun.”
Fall 2022
How does the software engineering option (engineering) work? 1 point, 7 comments
u/Think-Journalist6629: “So for the SE option in engineering you're required to take: \-CS 445/ECE 451 or SE 463 \-CS 446/ECE 452 or SE 464 \-CS 447/ECE 453 or SE 465 Unlike the courses in other options it seems like these have prerequisites of being in CS/ECE/SE. …”
Winter 2021
Has anyone transferred to se? 0 points, 15 comments
“If so, can I pls PM you? I have a few questions. (From math)”
u/elegantpeacock: “Just go to CS lol”
u/harmonyIn3rdsNot4ths: “… The SE 465/464/463 sequence and design project courses are also offered as CS coded courses.”
Fall 2020
5x5 things i learned in 5 years at uw that have almost nothing to do with school 680 points, 142 comments
“1. learn how to say no to people 2. laurier library is amazing for studying if you live nearby 3. learn how to talk to old people without sounding like a zoomer - you will have to do it a lot on coop …”
u/tendstofortytwo: “Alright, who wants to be my token engineering friend? This is all pretty great advice, thanks a lot for this! Though it's too late for me to have done quite a lot of this. :')”
u/harmonyIn3rdsNot4ths: “… I'm taking CO 487, CS 341/349/492, MATH 213, and SE 350/465 next term. …”
Winter 2020
Anyone have experience with ECE653 or its offshoots CS447/ECE453/CS647/SE465 0 points, 1 comment
u/Hadokuv: “I'm picking courses for next semester. I'm an ECE grad student and this weird monstrosity of a course is one of the only software courses that are available that I'd be ok taking with just online delivery. Has anyone taken it and have some insight into it? …”
SE 350 automatic 100% on 50% final, CS 350 possible exam??? 101 points, 157 comments
“Software Engineering course (SE 350) gets automatic 100 on 50% final exam. Computer Science equivalent (CS 350) planning on online exam. …”
u/thinkerjuice: “What's the SE profs name”
u/UWSE2022: “Because we have SE-only courses such as SE350, 380, 463, 464, 465, etc. that are only offered once a year. They're not going to split a cohort (and thus the courses). Also, since most of our courses are pre-selected the courses have their place in making a balanced schedule.”
Fall 2019
To CS/SE alumni, what were your top 5 CS courses? 18 points, 13 comments
“That you found valuable/instructive/useful? This can be generalized to be your top N CS and non-CS courses (but focus is on CS).”
u/day711: “… (for interviews) SE 350 (for systems and understanding of how a computer actually works) SE 465 (practical, not hard, useful to know - every eng needs to write tests) CS 480 (useful if you want to do ML) ECE 358 (useful for systems and eventually web)”
Spring 2019
What is the difference between CS and Software Eng? 34 points, 19 comments
“I feel like I'm gonna get reamed for this since it seems most of you are CS, but I legit don't know. I'm just a Biology boy who knows nothing about computers”
u/pahgawk: “I know you're in biology and not actively deciding which to take between the two, but in case anyone reading this is in that situation, here's my SE graduate perspective on what I think the …”
u/Transcendate: “… Also, what is your opinion of the SE "software engineering" course-chain (SE 465, 464, 463)? …”
u/pahgawk: “… SE 465: Patrick Lam made this course surprisingly good. …”
Winter 2019
Urgent SE/CS study advice 5 points, 5 comments
“Hello everyone. I am a 2B Software Engineering student in dire need of study tips/advice. Ever since CS137, I've had trouble finding a way to study that I could actually follow along and not give up …”
u/I-Can-Explain: “If you can maintain low 80s without studying then you're probably fine to pass any semester so do whatever the fuck you want. What about CS240 bothers you so much? Its a pretty fundamental course.”
u/I-Can-Explain: “… Also I'd wait till taking SE 463/464/465 before saying you enjoy SE courses. …”
SE465 assignment due date for moved to Wednesday 1 point, 1 comment
u/lazysoldier: “It leaked here first.”
Winter 2017
Perfectly symmetrical exam poll distribution 123 points, 8 comments
u/mavvie: “SE465, bless plam.”
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