Course Information

18-600SA: Foundations of Computer Systems

Units:

12

Description:

This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, processor architecture, memory organization and management, networking technology and protocols, and supporting concurrent computation. This course is modeled after 15-213/18-213/15-513, and is intended for ECE MS students with expanded course contents presented at the graduate level. It prepares students for other graduate level computer systems courses as well as working in the industry.

Anti-requisites: 15213, 18-213, 15513

Last Modified: 2018-05-03 4:46PM

Current session:

This course is currently being offered.

Semesters offered:

  • Fall 2018
  • Spring 2018
  • Fall 2017
  • Fall 2016