{"id":332,"date":"2017-12-21T21:23:21","date_gmt":"2017-12-22T05:23:21","guid":{"rendered":"https:\/\/blogs.ubc.ca\/organizingchaos\/?p=332"},"modified":"2018-02-06T17:39:04","modified_gmt":"2018-02-07T01:39:04","slug":"course-review-cpsc-313","status":"publish","type":"post","link":"https:\/\/blogs.ubc.ca\/organizingchaos\/2017\/12\/21\/course-review-cpsc-313\/","title":{"rendered":"Course Review: CPSC 313"},"content":{"rendered":"<blockquote><p><span style=\"font-style: normal;\"><b>Computer Hardware and Operating Systems<\/b><\/span><\/p>\n<p>&#8220;Virtual memory is one of the greatest ideas in the history of computer science.&#8221;<\/p><\/blockquote>\n<p><strong>Text:\u00a0<\/strong>Computer Systems: A Programmer&#8217;s Perspective by Randal Bryant, David O&#8217;Hallaron 3rd Edition<\/p>\n<p><strong>Prof:<\/strong>\u00a0Dr. Donald Acton<\/p>\n<p>Dr. Acton is a nice person and a passionate lecturer. His assignments are interesting and he adds a\u00a0historical angle to the material. Unfortunately, certain administrative\u00a0mishaps greatly hindered the delivery of the course. If the readings and online quizzes for each week were clearly outlined, assignments were screened by TA&#8217;s for errors and more TA&#8217;s staffed with monitoring piazza the course would have been a lot more enjoyable.<\/p>\n<p><strong>Difficulty<\/strong><\/p>\n<p>After returning from a systems heavy co-op,\u00a0I 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.<\/p>\n<hr \/>\n<p><strong>Key Concepts<\/strong><\/p>\n<p>Pipelining<\/p>\n<p>Caching<\/p>\n<p>Virtual Memory<\/p>\n<p>Locality<\/p>\n<p>File Systems<\/p>\n<p>Exceptions<\/p>\n<p><strong>\u00a0Hard Concepts<\/strong><\/p>\n<p>Calculating cache miss rate for C code: Need to clearly visualize the cache and how the data structure fits into it.<\/p>\n<p>Assembly implementation: Need to remember how the stack and registers can be used to pass parameters and store stack pointers and return addresses.<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>Somewhat interesting course. I found it a lot more detailed and less mind-blowing then CPSC213.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Computer Hardware and Operating Systems &#8220;Virtual memory is one of the greatest ideas in the history of computer science.&#8221; Text:\u00a0Computer Systems: A Programmer&#8217;s Perspective by Randal Bryant, David O&#8217;Hallaron 3rd Edition Prof:\u00a0Dr. Donald Acton Dr. Acton is a nice person and a passionate lecturer. His assignments are interesting and he adds a\u00a0historical angle to the [&hellip;]<\/p>\n","protected":false},"author":28516,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[281864],"tags":[1171214,1171215,1171217,1171216],"class_list":["post-332","post","type-post","status-publish","format-standard","hentry","category-course-reviews","tag-acton","tag-cpsc-313","tag-dr-donald-acton","tag-hardware-and-operating-systems"],"_links":{"self":[{"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/posts\/332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/users\/28516"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/comments?post=332"}],"version-history":[{"count":2,"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/posts\/332\/revisions"}],"predecessor-version":[{"id":338,"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/posts\/332\/revisions\/338"}],"wp:attachment":[{"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/media?parent=332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/categories?post=332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ubc.ca\/organizingchaos\/wp-json\/wp\/v2\/tags?post=332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}