Course Description
Software architecture, operating systems, and I/O architectures. Relationships between application software, operating systems, and computing hardware; critical sections, deadlock avoidance, and performance; principles and operation of disks and networks.
Average difficulty
Average quality
A friend described this course as a “religious experience”. Surely a joke, but 213 is definitely an experience. Probably the hardest CPSC I’ve ever taken. I spent hours upon hours reviewing slide decks and grinding practice problems and exams for this course. I left most lectures feeling confused and would have to spend at least an hour if not more going over things to “unconfuse” myself. However, this is also one of the most satisfying courses I ever taken. Every unit and topic covered is extremely interesting imo. In particular, the final unit on concurrency is one of my favourite units of any CPSC course. I enjoyed cracking open what is a black box to most people and taking a look at the internals. I also feel knowing some of these internals has improved my ability to use computers to solve problems. The assignments are all great. However, the last assignments (for the concurrency unit) are a significant step up in difficulty. The tests in this class are hard but if you put in work things should work out fine in the end (likely due to some scaling magic).
| Difficulty: | 4 | |
| Quality: | 4 |
what I took away was the foundational relationships between how hardware was designed and how software programming languages are built on top of one another.
topics in my term
- assembly and hardware-to-software design
- using c and java to abstract parts of hardware instructions
- asynchronous code
| Difficulty: | 4.5 | |
| Quality: | 5 |
This course teaches a lot about how computers work on the hardware side and how low level code works. Fun course that teaches you a lot but not an easy one for sure. I liked the concepts of deadlocks the most. Took this course with Robert Xiao and had a great time!
| Difficulty: | 4 | |
| Quality: | 5 |
Was quite fun. Assembly was a bit annoying at first, and it remained annoying unfortunately. But, It was interesting. I recommend to all CS students.
| Difficulty: | 4.5 | |
| Quality: | 3.5 |