CS 489Advanced Topics in Computer Science
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 6 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
See the Course Offerings List for topics available.
Prerequisites
- Complete all of the following
- Students must be in level 3B or higher
- Enrolled in H-BBA & BCS Double Degree, H-Computer Science (BCS), H-Computer Science (BMath), JH-Computer Science (BCS), JH-Computer Science (BMath), H-Computing & Financial Management, H-Data Science (BCS), or H-Software Engineering
Antirequisites
None listed.
Leads to
No course lists it as a requisite.
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 7897 | 50 / 60 | TTh 11:30–12:50 |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 489.
- ~cs489 Course website · student.cs.uwaterloo.ca Remove
- CS 459/698 - Privacy, Crypto, Network, Data Security - Spring 2025 Course website · Spring 2025 · cs.uwaterloo.ca · from Diogo Barradas’s site Remove
1 page from this site
- CS 459/698 - Privacy, Crypto, Network, Data Security - Winter 2025 Course website · Winter 2025 · cs.uwaterloo.ca · from Diogo Barradas’s site Remove
1 page from this site
- CS 489/698 - Privacy, Crypto, Network, Data Security - Spring 2024 Course website · Spring 2024 · cs.uwaterloo.ca · from Diogo Barradas’s site Remove
1 page from this site
- Fall 2007 CS 489/698: Computer Security and Privacy | Cryptography, Security, and Privacy (CrySP) Course website · Fall 2007 · crysp.uwaterloo.ca · from Ian Goldberg’s site Remove
- Remove
Course website, 2 pages sites.google.com · from Mohammad Hajiabadi’s site
- CS489 Course Notes Course notes · jaidenratti.com · from Jaiden Ratti’s site, CS webring Remove
- Course Notes Course notes · david-duan.me · posted on r/uwaterloo Mar 2022 Remove
6 more links
- CS 489 Software and Systems Security Review - ELL’s Blog Course notes · blog.elijahlopez.ca · posted on r/uwaterloo Apr 2024 Remove
- CS489 | Anthony Zhang Course notes · anthony-zhang.me · posted on r/uwaterloo Jul 2020 Remove
- cs489 notes Course notes · richardwu.ca · posted on r/uwaterloo Feb 2020 Remove
- Syllabus | CS 489/698 Course outline · Winter 2024 · cs.uwaterloo.ca · posted on r/uwaterloo Jun 2024 Remove
- CS 489 | SCS Other · cs.uwaterloo.ca · posted on r/uwaterloo Jan 2018 Remove
- CS489/698 Homepage Other · cs.uwaterloo.ca · posted on r/uwaterloo May 2017 Remove
Reviewed on UW Flow
76% liked it64% easy86% useful
From 38 ratings and 21 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Took software/systems security, which will be CS453 in the future. I thought it was a super interesting course. Also: 4x25% assignments with no midterm/final, which was really nice. I wish there were more programming assignments, as I feel like I learned the most working through A1.
Aug 2024 · liked it · 1 found this helpfulOn UW FlowRemove this
I took Big Data Infrastructure (soon to be known as CS 451 Data-Intensive Distributed Computing). The majority of the course is glancing over the slides and writing some pretty simple Hadoop and Spark programs for assignments. Despite the database prerequisite, I didn't really need to know much more about databases than SELECT statement syntax for assignments.
Mar 2017 · didn’t like it · 1 found this helpfulOn UW FlowRemove this
I do really hope that the NLP course gets offered again for future students with improvements, because while it's genuinely so interesting and important for current software developers, the way this offering was designed and managed was not good to say the least (especially on Piazza, holy fuck). Nothing was gained from the two smaller assignments, very little of the course content was actually assessed, and the final project was the equivalent of throwing a toddler into a lake to teach them how to swim.
Apr 2026 · didn’t like itOn UW FlowRemove this
Took Intro to NLP (W26) with Freda Shi and Victor Zhong. This course has very good potential but isn't there yet. First half of the content (Freda) is pretty theory heavy - learn some cool concepts. Second half of the course (Victor) all of the slides were AI generated, lectures would end 20 mins early, and the course ended 4 lectures early - content was more application based so still pretty useful (but stuff you could very easily have learned on your own). Quite a bit of disconnect between the first and second halves of the course. Two 25% assignments that were not related the lecture content at all, nothing learned in class helped - you just had to spam LLMs until it solved it. One 50%…
Apr 2026 · liked itOn UW FlowRemove this
Took the NLP course with Victor Zhong and Freda Shi. Honestly the most useful and up to date course in ML, specifically LLMs. They talked about multiple recent (2017-2025) papers about LLM architectures and training & evaluation pipelines. We were fully allowed to use AI in assignments and the final project. Assignments was kinda bs and not really useful for learning except for 1-2 questions. The project was very interesting and had real world constraints for memory and time. Communication over piazza was horrible.
Feb 2026 · liked itOn UW FlowRemove this
Discussed on r/uwaterloo
211 posts and comments in 154 threads mention CS 489, April 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
Thoughts on CS442? 3 points, 3 comments
“How easy/difficult is CS442? I am looking for an Easy cs course.”
u/ElusiveNirvana: “… Easier option would be something with group work, I find that people enjoy CS489 offerings.”
u/not_schizo_: “try to override into cs489 audio by Professor Mann this coming winter term. It is the last offering by the legend himself.”
Easy 4th year level courses? 1 point, 1 comment
“Preferrably no final exam”
u/YaffaOrange: “No final exam: CS 449, CS 492 Final exam: CS 489 (Software Delivery), CO 487, CS 445 Idk you provided like no other context”
Spring 2024
Lesser of the 2 evils: CS 484 or CS 453/489 (Software and Systems Security) 1 point, 1 comment
u/Ok-Conclusion-5481: “Which one should I take over coop? Both have no in-person assessment but CS 484 workload is insane and CS 453/489 has compilers as a pre-requisite which I haven't done but can probably override”
CS489: New Security Course 14 points, 2 comments
u/CS-PLEB: “… CS 489/698 Software and Systems Security and CS 489/689 Privacy, Cryptography, Network, and Data Security Which once is better and what is a good summary of each I am guessing one is more OS based and the other more networks and internet related? …”
u/Elibroftw: “I don't recommend Software and Systems Security. I've created a review here. The gist of my review is: assignments are just a go learn it yourself. 3 of 4 assignments are not applications of knowledge learned within the class. …”
u/ehhthing: “I'm a current student in CS 489 / 453, and while I agree that the course doesn't seem to teach you all of the relevant information required for the assignments, making them unnecessarily difficult, I don't the rest of your criticisms are valid. …”
u/ehhthing: “You are complaining that you purchased an Orange, got an Orange but you wanted a Banana. The course title and description are pretty explicit in what it covers, and the syllabus would've cleared it up even further. There could not be any more explicit "invalid" opinion. …”
Cyber Security in Waterloo? 1 point, 8 comments
“I am in high school currently and was looking through the subjects at Waterloo, and as it turns out there is no Cyber Security program?! Any advice on what and how should i do?”
u/ehhthing: “There's CS 453 (currently CS 489 but by next term it'll be CS 453). UW also has a few cryptography courses both in CS and ECE. CrySP has a list of all the cybersecurity related courses at UW but most of them are grad level: https://crysp.uwaterloo.ca/courses/”
CS 459 Co-requisites 3 points, 1 comment
u/Gauss_given_order: “… Adjacently, why are these co-reqs to CS 489: Secure Programming? …”
u/Jaffe240: “CS 489 courses don't typically have co-requisites because that's a placeholder course code that gets used in the development of a course. Once it gets its official course code, then co-requisites get added. …”
CS Minor Possible? (Math) 18 points, 12 comments
“I’m entering my 2A term for Math and want to pursue a Stats major and continue seeing CS minor as an option on the Math Faculty page. …”
u/jtnrnfjfj: “Math 239, cs 135, cs 136, cs 245, cs 246, cs 371, cs 475, cs 476, cs 489 cs 487 should all work I feel like this isn't as hard as others are making it sound”
CS 489: Software and Systems Security 1 point, 2 comments
u/OptionAccomplished37: “I am debating about taking this course over co-op. I haven’t done CS 350 yet and it isn’t a prerequisite but on the website it says it’s recommended. Does this course requires alot of concepts from CS 350? Is anyone taking this course or has taken it in the past? …”
Winter 2024
Cs 4A Course Load 8 points, 5 comments
u/snorawr: “… Cs349 user interfaces Cs449 human-computer interaction Cs456 computer networks Cs489 advanced topics: privacy, crypto, data security Stat231 I’m tryna knock out some credits before going on exchange so they err on the easier side but still wanted interesting courses.”
u/ivanivanchenchen: “… - CS 489 - I'm not sure how much this relates to CS 458 but 458 had pretty confusing and "different" assignments and a LOT of memorization of content for final; content taught in class was rarely applicable to assignments. - I've heard networks isn't that bad. …”
u/snorawr: “Thank you for your input! I’ve decided to drop cs489 to give myself an easier time”
u/_KareemCheese_: “… CS489: this is the only one on this list I haven’t personally taken, but from my understanding, you can’t really fail this class. …”
u/snorawr: “Thank you for your reply! I ended up dropping cs489, sounds like it’s a bit of a wild card”
CS 489 - Software Delivery 1 point, 0 comments
u/Creating_Me: “Did anyone take this course before with Shane Mcintosh? How did it go for you guys? Any insights about the project or the assessments will be very helpful. I'm taking the course right now. Thanks! :)”
CS489 Software Delivery 1 point, 0 comments
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