CS 241EFoundations of Sequential Programs (Enriched)
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
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.
Enriched version of CS 241.
Prerequisites
- Complete all of the following
- Complete 1 of the following
- Complete all of the following
- Earned a minimum grade of 85% in each of the following:
- CS138 - Introduction to Data Abstraction and Implementation (0.50)
- 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), H-Data Science (BMath), or H-Software Engineering
- Complete 1 of the following
Antirequisites
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 8422 | 111 / 130 | TTh 11:30–12:50 |
| TUT 101 | 8424 | 111 / 130 | W 14:30–15:20 |
| TST 201 | 8425 | 111 / 130 | Nov 4 16:30–18:20 |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 241E.
- CS 241E - Foundations of Sequential Programs (Enriched) Course website · student.cs.uwaterloo.ca Remove
Reviewed on UW Flow
94% liked it46% easy92% useful
From 126 ratings and 41 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Amazing course, definitely better than 241, their assignments, midterms, and finals were annoying and weird. This course's assignments were still hard, but not too much of a leap and always felt doable, with great course support. Course notes were also super well-made, and the midterm was not a surprise at all. Enrolling in 241E was the best decision I've made at UW.
Jan 2025 · liked it · 1 found this helpfulOn UW FlowRemove this
2018 lebron
Dec 2024 · liked it · 1 found this helpfulOn UW FlowRemove this
A great course and not very difficult as well. At the end, we have a fully working compiler with garbage collection.
Dec 2024 · liked it · 1 found this helpfulOn UW FlowRemove this
Ts is a full time job
May 2026 · liked itOn UW FlowRemove this
This course uses Scala to build a compiler from scratch, compiling Lacs, a simplified version of Scala, into MIPS. The compiler supports type checking, closure creation and invocation, tail-recursion optimization, and garbage collection. Unlike CS 241, this course is taught in a bottom-up order, starting from machine code and assembly, then moving through variable access, the stack, expressions, procedure calls, register allocation using graph colouring, closure creation, scanning, parsing with the CYK algorithm, type checking, and garbage collection using Cheney’s algorithm. The course explains in detail how each layer of a compiler is constructed step by step, and the notes include many…
May 2026 · liked itOn UW FlowRemove this
Discussed on r/uwaterloo
87 posts and comments in 77 threads mention CS 241E, August 2015 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
compsci program 1 point, 16 comments
“could anyone tell me what sets apart waterloo's comp sci program from other comp sci programs in other universities? would be greatly appreciated :)”
u/Opening_Kiwi6441: “as far as the actual academics go, i’d say it’s on par with most other unis, like UofT, UBC, McGill, Mac, etc. …”
u/mreifslp: “… For CS 241E, it was a pretty standard introduction to compilation of programs. The entire course was basically building a compiler from scratch for a subset of Scala. …”
Spring 2024
Is it possible to take CS 241E during co-op? 5 points, 5 comments
u/Time_Technology_1938: “My coop term is in the fall, and my coop is hybrid in Toronto, so I can only attend one lecture per week in person (rather than both), and I cannot attend the tutorial. …”
Is CS 241E doable over co-op remotely? 8 points, 6 comments
u/Pretend_Photograph97: “I will move to Toronto for co-op next term but I also want to take CS 241E. Folks who have taken it before or taking it now - is it doable online? I understand that I will have to be in person for the midterm/final, but apart from that, can I do it without attending any classes? …”
u/UnboxTheCat: “Yes, CS241E is a lot easier than CS241. You can even get away by just reading the prof's lecture notes (the condensed pdf that's basically a compiler textbook), assume ur prof is Ondrej. CS241E was such an enjoyable course, not recommend doing it online tho.”
u/Pretend_Photograph97: “Thank you all for the replies. My other choice is to take CS241 in the winter term (no CS241E in the winter). Which is better: CS241e online or CS241 in person?”
u/Josh-Jo1: “CS 241E > CS 241 any day imo”
Course suggestion - CS/MATH/CO 2 points, 1 comment
u/Able_Park_2562: “Currently 2A going into first coop, which one should I take first, Math 249 or CO 255? Also is CS 241E worth it?”
Winter 2024
When are the CS enriched courses available? 1 point, 5 comments
u/Regular_Maybe5937: “When are courses like CS 240E, 241E, 245E, etc. available? On the courses website it says Offered: As permitted by demand and available resources. What does this mean? &x200B;”
Fall 2023
which course is the most useful/useless of ur major? 24 points, 44 comments
u/confusedstatcskid: “Context: Intention after graduation was to faang/hf and ended up faang Useful: CS136, CS240, CS241E, CS 246, CS350, CS341 Useless: mostly all other courses.”
CS 240E/241E from CS 136 1 point, 2 comments
u/planarsimplex: “Are these two doable coming from CS 136 (after taking 246E)? Worried about the extra compilers stuff that was covered in 146 but not 136.”
u/Ylvy_reddit: “I'm currently taking CS 241E (and 246E, although there isn't really much of an overlap between those courses aside from the occasional remarks about C++ compilers) and I took taken CS 146 last year. …”
Winter 2023
Does CS get better in 2nd year? 0 points, 16 comments
“So I am in 1B CS and up till now nothing much interesting has been covered. The math courses are fine but most of the stuff taught is like bs and only some of the stuff looks like it's gonna be of …”
u/UnboxTheCat: “you may be interested in CS241E. a very cool compiler course taught by the genius prof Ondrej. u learn how stack, heap, assembly, garbage collector, closure, parsing tree work in details, and code ur own language in scala.”
Fall 2022
Take CS241 to take over Co-op? 5 points, 6 comments
u/Osteospermum: “I too both CS 241E and MATH 239 over separate coops and found it very doable. Each course is probably about 5-10 hours a week depending on how comfortable you are with the material.”
Spring 2022
Reviewing CS courses (Up until 2B) 42 points, 12 comments
“Since I started CS, I’ve wanted to review all the mandatory courses we’re meant to take for the first two years. Some good, some horrendous. …”
u/Osteospermum: “My stance on these courses MATH 247 = CS 146 > MATH 135 > MATH 146 > CS 241E > CS 246 > STAT 241 > CS 135 >>> CS 240E > MATH 239 > MATH 137 > CS 245 > CS 251 > MATH 235 >>> MATH 148 (online snew :( )”
CS students, what courses have you taken each term 9 points, 21 comments
“Inspired by https://www.reddit.com/r/uwaterloo/comments/v3b8nj/can\any\current\mathcs\students\let\me\know\their/ but recognizing that one term is a very narrow view, What courses have you taken each …”
u/Osteospermum: “1A CS 135, MATH 135, MATH 137, CLAS 104, ENGL 109 1B CS 146, MATH 146, MATH 148, STAT 230, CHEM 120 2A CS 245, CS 246, CS 251, MATH 235, MATH 247 Coop 1 CS 241E 2B CS 240E, PMATH 351, STAT 241, CLAS 252 Coop 2 MATH 239 I’m in 3A in the fall, going to (hopefully) take CS 341, …”
Winter 2022
CS 241 Assignments 4 points, 15 comments
u/stillnointerviews: “if possible, I'd recommend taking CS 241E (with Lhotak), the assignments are less hassle and there is more focus on practical compiler implementation concepts than theoretical formal languages stuff”
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