18-600: Foundations of Computer Systems

Class times: MW 5:00-6:50pm (Pacific), DH A302 (Pittsburgh), B23 118 (SV), JIE 214 (China)

This course provides a broad 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 computer architecture, compilers, operating systems, and computer networks, 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. 18-600 models after 15-213/18-213/15-513 with expanded contents. The course is presented at the graduate level and intended for ECE MS students. The expanded contents include: Processor Architecture and Design, and Techniques for Instruction Level and Thread Level Parallelisms.

Course Syllabus


Instructors

Name John P. Shen Zhiyi Yu
Contact jpshen@cmu.edu zhiyiyu@andrew.cmu.edu
Office B23 201B TBA
Office Hours via email TBA

Course Information

For details See the course syllabus for details.
Recitations Section A: Tue, 8:00pm to 9:20pm (ET), HH 1107, Mila Kankanala, Steffi Dsouza
Section B: Tue, 8:00pm to 9:20pm (ET), DH A302, Preeti Murthy
Section SA: Tue 4:30pm to 5:50pm (PT), B23 118, Kevin Xu, Abhinav Jauhri
Section SB: Tue, 4:30pm to 5:50pm (PT), B23 109/110, Jenna MacCarley
Section GZ: Wed, 8:00am to 9:20am (CST), JIE 214, Zhen Hu, Kangyi Lu
TA Office Hours Silicon Valley (PT): Wed (7-9pm), Sun (3-5pm), Thursday (7-9pm, only when labs are due) @ B23 228
Pittsburgh (ET): Wed (6-8pm) & Thursday (6-8pm, only when labs are due) @ Porter Hall A18A; Sun (3-5pm) @ WeH 5201 & 5203
Required Textbooks Randal E. Bryant and David R. O'Hallaron,
Computer Systems: A Programmer's Perspective, Third Edition, Pearson, 2016
  Brian W. Kernighan and Dennis M. Ritchie,
The C Programming Language, Second Edition, Prentice Hall, 1988
Optional Textbook John Shen and Mikko Lipasti
Modern Processor Design: Fundamentals of Superscalar Processors, 2005; reissued by Waveland Press Inc, 2013. ISBN 13: 978-1-4786-0783-0
Grading Composed from total lab performance (50%) and total exam performance (50%).
Piazza For all course related communication use piazza.com/cmu/fall2016/18600/home. Please post your questions according to our guidelines here: Piazza Guidelines
Course Directory /afs/ece.cmu.edu/class/ece600/

Course Assistants

Name Brittany Jade Reyes Michelle Mahouski
Contact bjreyes@andrew.cmu.edu, 650-335-2854 mmahousk@andrew.cmu.edu
Office B19 1052 HH 1112