Introduction to Computer Systems Course ID 15513 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, memory organization and management, networking technology and protocols, and supporting concurrent computation. Key Topics Machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation. Course Relevance This class is offered in an online-only format. International students present in the U.S. cannot enroll in more than one remote class per semester. Summer offerings are 6 units to reflect expected student preparedness, schedule compression, and instructional support. A late edition of the in-person final exam will be offered to students not in Pittsburgh during the summer. This course is for Master's students only. Undergraduates should enroll in 15-213. Exams may be in-person.