Course Description
Instruction sets, pipelining, code optimization, caching, virtual memory management, dynamically linked libraries, exception processing, execution time of programs.
Average difficulty
Average quality
Roughly bi-weekly quizzes that allow retakes for an 80% grade replacement. The final is extremely difficult. Make sure to do well on the quizzes and it retakes so you can go into the final exam needing a lower score to pass.
| Difficulty: | 4.5 | |
| Quality: | 4.5 |
CPSC313 covers a wide range of systems material, but each section of the course builds very logically on the next. The workload is challenging, with (open-book) quizzes every other week, weekly lab assignments, and pre-readings, but it’s designed well to make sure you keep up. CPSC313 really makes you feel like you understand how computers work, particularly if you use Linux or are interested in more of the internals. Exams are fair, with some more straightforward problems taken from previous practice material and some challenging problems that require a deeper level of understanding. Asking ‘why’ each design decision was made and its tradeoffs was helpful for doing well on the more challenging problems.
| Difficulty: | 4.5 | |
| Quality: | 5 |
It was not an easy course, but it is 100% doable for CPSC students. It’s pretty heavy (should be worth 4 credits really); assignments pretty much every week plus multiple quizzes on top. Assignments were not too hard in my opinion, it’s just that it took some time to think carefully and thoroughly. I spent a good chunk of my evenings attending office hours to truly understand the materials. Nonetheless, Steve and Norm were superb, the TAs were fabulous, and I think this is the most well-designed CPSC course. You can mess up a quiz or two, and even the midterm, and not be too worried about it, because weights are evenly spread out.
| Difficulty: | 4 | |
| Quality: | 5 |
A wonderful course like its predecessor 213. Probably easier than 213 (which I think might be the toughest core CPSC course) but certainly not easy. The tests will probe your ability to deeply and conceptually understand course content rather than regurgitate it or robotically grind practice problems. I took the course with Steve and Norm who did a great job but I also had recordings of Margo from a prior term. Her lectures are absolutely phenomenal. We are truly lucky that she decided to come to UBC. The labs are the highlight of this course, especially the 4 percenters. They can be tough but not too bad if you start early. They are a lot of fun and will sharpen up your C coding skills and reinforce core course content. Like all systems courses, I come out of this course more capable in my ability to use computers to solve problems and happy that I learned a little bit more about what happens inside what is just a black box to most.
| Difficulty: | 3.5 | |
| Quality: | 4.5 |
It is very hard, I really struggled with midterm 2
| Difficulty: | 5 | |
| Quality: | 3 |
deserving of 4 credits imho, but interesting material although difficult. you don’t need too much knowledge frmo 213 to do well in this class
| Difficulty: | 4 | |
| Quality: | 4 |
Great course, which is mandatory for students majoring in Computer Science. This course teaches students how the hardware works and how to optimize programs by utilizing caching, the system’s virtual memory, etc. A lot of what you learn can be applied to software development and is needed if you want a deeper understanding of a low-level software system. I took this course with Margo and Patrice and had a great time learning from them.
| Difficulty: | 4 | |
| Quality: | 5 |
Great courses specially you are taking it with Margo. Course content is managed well on PrairieLearn. A lot of programming assignments especially the second half of the course.
Systems can be messy but you will learn a lot for sure
| Difficulty: | 3 | |
| Quality: | 5 |
well organized. has more work than some other cpsc classses (has quizzes, assignments, pre-lecture videos, inclass assignments…), but very manageable imo
| Difficulty: | 2.5 | |
| Quality: | 4 |
Very well-organized course with most assessments on PrairieLearn. Course content is pretty difficult though.
| Difficulty: | 4 | |
| Quality: | 5 |