uwloo

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

  • CS 350 lists it as an antirequisite
  • MTE 241 lists it as an antirequisite
  • SE 350 lists it as an antirequisite

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 understand

    Dec 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

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”

View on RedditRemove this

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.”

View on RedditRemove this

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. …”

View on RedditRemove this

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. …”

View on RedditRemove this

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)”

View on RedditRemove this

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.”

View on RedditRemove this

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. …”

View on RedditRemove this

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. …”

View on RedditRemove this

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. …”

View on RedditRemove this

Check it elsewhere

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.

1970–71 1 calendar