Fundamentals of Computer Systems

CSCI1310: Fundamentals of Computer Systems

The Collaboration Policy can be found here. The Collaboration Policy must be handed in before any of your assignments can be graded, please hand it in to the professor or a TA on hours.

All assignments and labs can be found on the schedule, and details on the final project can be found here.

This class was under the course number CSCI1950S last year, when it was capped and being taught for the first time, but has now been renamed to CSCI1310.



Covers the fundamental concepts, principles, and abstractions that underlie the design and engineering of computer systems. Topics include computer systems organization, modularity, virtualization, communications, atomicity, fault tolerance, security, and performance. Combined lectures and presentation and discussion of case studies. Several hands-on labs and written assignments, as well as a semester-long project that is incrementally worked on throughout the semester.


Saltzer, Jerome H., and M. Frans Kaashoek. Principles of Computer System Design: An Introduction. Morgan Kaufmann. 2009.