ECE 254Operating Systems and Systems Programming
- Faculty
- Engineering
- Last listed
- Spring 2024
No longer offered. It was in Waterloo’s course catalog since at least Winter 2020 (as far back as Open Data goes) to Spring 2024. It isn’t in the 2024–25 or later calendars.
In the course catalog from Winter 2020 to Spring 2024; Open Data has no classes for it in that time.
Concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, synchronization, and concurrency; memory management, segmentation, and paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; protection, security, and privacy. [Offered: F,S]
Requirements, as last listed
Prereq: ECE 103, 150, 155, 250; Level at least 2B Computer Engineering or Electrical Engineering. Antireq: CS 343, 350, MTE 241, SE 350
In today’s calendar
Reviewed on UW Flow
87% liked it63% easy94% useful
From 75 ratings and 9 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
very cool concepts with lot of breadth and not a lot of depth.
coding in C and implementation of synchronization patterns were the hardest concepts. I found that even upper year ECE courses (compilers, databases) were simpler to understandDec 2018 · liked itOn UW FlowRemove this
You may discover your hidden love for systems programming. Or you may dread going to the labs because of their lack of logic and organization. It could be both, too.
In any case, the course is fairly easy to follow, largely due to the instructors' detailed notes which are easy to follow along. The labs are poorly structured, hopefully that changes in the future.Jan 2018 · liked itOn UW FlowRemove this
Very interesting course. It's like process engineering for bits.
Jul 2016 · liked itOn UW FlowRemove this
Study past finals and review the notes thoroughly, not just major concepts
Jan 2016 · liked itOn UW FlowRemove this
Probably my favourite course before 4th year ECE.
Jul 2015 · liked itOn UW FlowRemove this
Discussed on r/uwaterloo
75 posts and comments in 53 threads mention ECE 254, January 2013 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
Overriding into Eng courses for Math majors 9 points, 10 comments
u/bomankleinn01: “… Feel free to add in additional information on CS equivalents (ex: CS 350 ≈ SE 350/ECE 254) and other info I haven’t considered.”
Winter 2024
Best Eng Program to get into Machine Learning? 19 points, 32 comments
“I'm applying to Waterloo Engineering this year. What is the best engineering programs besides software eng to get into machine learning?”
u/kawaiiggy: “theres so much to ML. the mathematical architecture behind models? cs/math/co/software if u take a lot of math courses the systems and infrastructure to run ML? …”
u/kawaiiggy: “… courses like ECE254, ECE350, ECE351 i would imagine would be good to know”
Fall 2021
Asking for course notes from ECE254 - Waterloo Alumni 4 points, 9 comments
u/killspeed: “&x200B;”
u/TheRealArjun: “Zarnett has a repo for all 254 content here. More recently the ECE dept. split up 254 into systems programming (252) and OS (350) so these 350 notes here might also be useful.”
u/happyludicolo: “Also seconding Zarnett. Used his material to prep for my interviews this time around. He also taught me ECE 254 when I did the course. His content is excellent. If you somehow manage to get hold of the labs do them as well.”
Spring 2021
CE 2B 0 points, 2 comments
“Our classes just started and I'm already starting to feel overwhelmed. Which classes do I need to focus the most on, in terms of hardest content and useful content for future classes? …”
u/natobott: “… ECE 254 (now ECE 252) was difficult but with Jeff Zarnett it was the most rewarding course in the entire program. You learn how to program with the OS using threads, channels, pipes, etc. All keywords a CE should know. …”
Winter 2021
Damen is a child 167 points, 37 comments
“I recommend anybody in ECE avoid him at all costs. I have never had a prof be so incompetent yet so proud. …”
u/napabobawhore: “Is this ECE 318?? I’m so sorry he’s like this... These dismissive guys are what adds so much stress to our program. …”
u/SombreroSculpture: “Took ECE 254 in 2B and ECE 459 this term with him. Both were very well taught with notes & slides available on his github. My class seems to agree as well, seeing that he is one of the highest rated prof in our exit survey.”
u/clas201sendnotes: “i took ece254 with the class (2021) that did this survey. you may not have taken it at the same time so i understand if you don't feel the same way. i believe most of the class found it quite easy as basically no one showed up to the lectures. …”
Fall 2020
Is there no more ECE 242? 7 points, 5 comments
“I was just checking the undergrad schedule for Computer Engineering and ECE 242, which was taught before, isn't there. Current or recent 2B students, did you not have 2B? …”
u/Frozen-Penis: “I don't think 2B was ever 6 courses. Before the curriculum change it was ECE 242, 207, 224, 254, and an elective for CE (and replace 224 and 254 with 206, 209, and 204A for EE)”
Spring 2020
ECE 252 vs MTE 241 2 points, 10 comments
u/kpetkar: “… They seem to cover similar content and seem to be antireqs of each other (in a weird chained way with MTE 241 and ECE 252 both being antireqs of ECE 254, but not of each other). …”
u/uwre: “ECE 254 no longer exists, unfortunately. It is split into ECE 252 and another OS course in 3A. There might have an equivalent course to 254 in CS though.”
I'm having a hard time deciding whether or not to accept transfer (UTSC CS to Waterloo CE 1A), can anybody give insight on CE and Waterloo? 0 points, 5 comments
u/a2xia: “… helpful, I guess ECE 150 (Intro to Programming), ECE 250 (Algorithms and Data Structures), ECE 252/254 or whatever number it has now (Operating Systems), ECE 356 (Databases) are the 'helpful' ones. …”
Winter 2019
ECE 2B - need pointers/inputs on profs 7 points, 14 comments
u/The-Original-Goose: “… ECE 252 - Systems Program & Concurrency: Jeffrey Zarnett \-- offered for the first time next term, but apparently the old ECE 254 and some other course were redivided into this and ECE 350 5. …”
u/MyGaussianCurve: “… ECE 254 with Jeff Zarnett: We coded in C. Yeah this course was pretty much self-learning, atleast for me. Not gonna lie, this course had a lot of content. Like a lot. Jeff is ok-ish. I just felt like he was reading off the slides. His exams were pretty hard tho, but fair. …”
Can someone provide me the names of the textbooks for these courses 3 points, 3 comments
u/badteeth1999: “ECE 207 ECE 224 ECE 254”
u/a2xia: “For ECE 254, Prof. Jeff Zarnett has all his course notes and slides on GitHub , they’re very well-written and worth a read!”
Is ECE 455 Embedded Software a useful course? 5 points, 4 comments
“I'm a 3B ECE student preparing to select my 4A elective courses. I want to work in the embedded system field after I graduate and am thinking about taking this course. …”
u/sleekit_moose: “… A couple topics, such as scheduling, were a review if you took the OS course ECE254 but there was lots of new content as well. If you're interested in working in the embedded field then I do recommend taking ECE455. …”
Fall 2018
Failed my CS350 Midterm 6 points, 6 comments
“I'm pretty sure I have failed my CS350 midterm, the max I'll get is probably a 40%, what are the chances of me passing the course? &x200B; And any tips on what I should do to get through the course?! …”
u/Elivaras: “… The current engineering equivalent to CS350, ECE254, the course I'm currently enrolled in, is also the hardest course for me at the moment. …”
Check it elsewhere
- Undergraduate Calendar, 2023–24Its last calendar entry, on ucalendar
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them
In the scanned calendars
How it read in each calendar from 1970–71 to 1970–71, newest first. The text is OCR of the scanned pages; years whose wording matches are shown once, from the clearest scan. Each year links to its page on uwloo and to that page of the scanned PDF.