Fundamentals of Computer Systems
|Offered this year?||Yes|
|When Offered?||Every year|
Covers fundamental concepts, principles, and abstractions that underlie the design and engineering of computer systems. Students will learn how a computer works, how to write safe and performant systems software, and what systems abstractions support today’s complex, high-performance systems developed in industry. Specific topics include machine organization, systems programming and performance, key concepts of operating systems, isolation, security, virtualization, concurrent programming, and the basics of distributed systems. Combined lectures, labs, and several hands-on projects involving programming exercises in C/C++.
Prerequisites: CSCI0160 or CSCI0180 or CSCI0190, or permission of the instructor.