This page is under construction

15-213/18-213/15-213: Introduction to Computer Systems (ICS)

Summer 2015
Lecture 1: TWR 12:00-13:20, DH A302, Nathaniel "nwf" Filardo
12 units

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 (includes rules on cheating, late assignments, etc)

Prerequisites: 15-122

What's New?

  • Tue, May 14: The slides for the C boot camp can be found here (pdf) and here (pptx). The code we demo'd and the C puzzles can be found here
  • Tue, May 14: Office hours and classes begin on Tuesday, May 19th.
  • Tue, May 14: Please don't contact the instructors with waitlist questions. The following two people can help you with all of your wait list questions:
    • 15-213: Catherine Fichtner (
    • 18-213: Chelsea Mastilak (
  • Getting Help

    Instructor Office Hours Tue, Wed, Thu: 15:30 (3:30pm) - 17:00 (5:00 pm); Location TBA

    Course Materials

    Schedule Lecture schedule, slides, recitation notes, readings, and code
    Assignments Details of assignments, due dates, and policies
    Exams Information about quizzes, exams, and final
    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 TWR 12:00-1:20pm DH A302
    Recitations Friday 12:00-1:30pm, GHC 4211.
    TA Office Hours Weekdays 5:30pm - 8:00pm in GHC 5208.
    Textbooks Randal E. Bryant and David R. O'Hallaron,
    Computer Systems: A Programmer's Perspective, Second Edition, Prentice Hall, 2011
      Brian W. Kernighan and Dennis M. Ritchie,
    The C Programming Language, Second Edition, Prentice Hall, 1988
    Credit 12 units
    Grading Composed from total lab performance (50%) and total exam performance (50%).
    Labs There are 7 labs, not evenly weighted. See the assignments page for the breakdown.
    Exams There is one midterm exam, online, proctored, closed book (20%).
    There is a final exam, online, proctored, closed book (30%).
    Questions Email to Visit office hours (see above)
    Blackboard We are not using Blackboard for this course.
    Piazza We are not using Piazza for this course.
    Course Directory /afs/cs/academic/class/15213-m15/


    Name Nathaniel Filardo
    Office TBA (For the moment, GHC 5202)
    Office Hours TWR 15:30-17:00 (or by appt)

    Course Assistant

    There are many TAs for the course this summer, to whom we are forever grateful.
    Name Email Picture TA Office Hour Days Info
    Shelton Dsouza sdsouza@andrew Thursday, Saturday ECE first year Masters student who enjoys reading novels and playing football.
    Dhruven Shah dhruvens@andrew Thursday, Saturday ECE first year Masters student who enjoys sports, travelling, and music.
    Monil Shah monilsha@andrew Wednesday, Friday ECE Masters student (class of 2016) and fitness enthusiast who enjoys music, biking, and outdoor sports.
    Tarun Karuturi-Venkata-Raghava tkarutur@andrew Wednesday, Friday ECE Masters student (class of 2016)
    Dipayan Bhattacharya dipayan@cmu Monday, Tuesday ECE Masters student (class of 2015) who enjoys computer gaming
    Richard Ha rkh@andrew Monday, Tuesday
    Shen Chen Xu shenchex@andrew Sunday PhD 3rd year
    Vishvesh Mohanarangam Selvakumaar vmohanar@alumni Recent ECE graduate; 213 TA for the past 3 semesters