|  | 15-213/15-503 Introduction to Computer Systems (ICS)Summer 2025 
15-213 Pittsburgh: Tue, Wed, Thu, Fri 12:30 PM-01:50 PM, SH 105,
  Brian Railing
  
   
  12 units (213), 6 units (503)
 
  The ICS 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.
 
Course Syllabus
 
Prerequisites: 15-122  
 What's New?
  First day of class is Tuesday, May 13th. Getting Help
  
    | Ed | Ed |  
    | Email | Please use Ed for help, instead of email.
      Posts to Ed are private by default. |  
    | Tutoring | TBD |  
    | Office Hours | TA office hours use an online queue
 for both in-person and remote office hours. 
      Faculty office hours will be at the
locations and times listed at the bottom of this page.In person: Please specify a room number when adding yourself to the queue.Remote: Please specify a Zoom meeting ID and select the REMOTE tag in the queue.If you are remote but do not select the tag, we reserve the right to kick you from the queue as we cannot filter your question to the remote TA's. |  Course Materials
 
   | Schedule | Lecture schedule, slides, recitation notes, readings, and code |  
   | Labs | Details of the labs, due dates, and policies |  
   | Assignments | Details of the written assignments, due dates, and policies |  
   | Exam | Information about the final exam |  
   | Lab Machines | Instructions for using the lab machines |  
   | Resources | Additional course resources |  Course Information
 
   | For details | See the course syllabus for details (below is just a few overview bits). |  
   | Lectures | See above |  
   
  
   | 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
 |  
   | Credit | 12 units (213), 6 units (503) |  
   | Grading | Composed from total lab performance (50%), total written assignment performance (20%) and final exam performance (30%). 
 |  
   | Labs | There are 9 labs (L0-L8), not evenly weighted. See
   the labs page for
   the breakdown. |  
   | Exam | There is a final exam, held during exam week, closed book. |  
   | Home | https://www.cs.cmu.edu/~213 |  
   | Questions | Ed, office hours |  
   | Canvas | Canvas will be used (i) to handin written assignments and (ii)
     to conduct ungraded, in-class quizzes.  Your grading information will be kept up to date
     in Autolab, not in Canvas. |  
   | Course Directory | /afs/cs/academic/class/15213-m25/ |  Instructors
  | Name | Brian Railing |  
  | Contact | bpr@cs.cmu.edu |  
  | Office | GHC 6005 |  
  | Office Hours | , |  |