Course Review: CPSC 313

Computer Hardware and Operating Systems

“Virtual memory is one of the greatest ideas in the history of computer science.”

Text: Computer Systems: A Programmer’s Perspective by Randal Bryant, David O’Hallaron 3rd Edition

Prof: Dr. Donald Acton

Dr. Acton is a nice person and a passionate lecturer. His assignments are interesting and he adds a historical angle to the material. Unfortunately, certain administrative mishaps greatly hindered the delivery of the course. If the readings and online quizzes for each week were clearly outlined, assignments were screened by TA’s for errors and more TA’s staffed with monitoring piazza the course would have been a lot more enjoyable.

Difficulty

After returning from a systems heavy co-op, I found the material much less intimidating then CPSC 213. The assignments were lengthy but very doable and had a high average. The quizzes were more challenging, but if you practiced the exercises from the book and practice quizzes you should be fine. Readings are really important to get the most out of this course, especially as the slides are not amenable to self-study.


Key Concepts

Pipelining

Caching

Virtual Memory

Locality

File Systems

Exceptions

 Hard Concepts

Calculating cache miss rate for C code: Need to clearly visualize the cache and how the data structure fits into it.

Assembly implementation: Need to remember how the stack and registers can be used to pass parameters and store stack pointers and return addresses.

Conclusion

Somewhat interesting course. I found it a lot more detailed and less mind-blowing then CPSC213.

Leave a Reply

Your email address will not be published.