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

Fall 2017
15-213/18-213 Lecture 1: TR 1:30-2:50, DH 2210, Randy Bryant and Phil Gibbons
15-513: Lecture slides and videos via course web page
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

Prerequisites: 15-122

What's New?

  • 06 September 2017. The following recitation sections are having their rooms changed:
    • E: DH 2105
    • H: SH 222
    • K: SH 208
  • 29 August 2017.
    • Lab 0 is available from the schedule web page. You do not need an Autolab, TPZ, or GitLab account to start working on it.
  • 28 August 2017.
    • Autolab accounts have been created for everyone enrolled in the course as of 12:00pm today. If you add the class, use this form to notify us, and then check again in 24 hours.
    • Office Hours start Tuesday September 5.
    • The Linux/Git Boot Camp will be at 7 pm on Monday September 4 in Rashid Auditorium (GHC 4401).
  • 18 August 2017.
    • First day of class is August 29.
    • Lab 0will be posted, which is due September 7.
    • No recitation on Monday August 28 or September 4.
    • There will be a Linux Boot Camp on September 4.

Getting Help

Piazza www.piazza.com/cmu/fall2017/152131821315513/home
Email Please use Piazza for help, instead of email. Posts to Piazza are private by default.
Tutoring: Drop in tutoring, place and time TBA.
Office Hours WeH 5207, Sunday-Thursday, 5pm-9pm (5:30pm on Thursday)
Office hour specifics can be found here.
Office hours for Profs. Bryant, Gibbons, and Railing are given below.

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 TR 1:30-2:50 DH 2210
Recitations Section A: Mon 10:30-11:20, WEH 5320
Section B: Mon 10:30-11:20, WEH 5310
Section C: Mon 11:30-12:20, WEH 5310
Section D: Mon 11:30-12:20, PH 126A
Section E: Mon 12:30-1:20, DH 2105
Section F: Mon 12:30-1:20, WEH 5316
Section G: Mon 1:30-2:20, GHC 5222
Section H: Mon 1:30-2:20, SH 222
Section I: Mon 2:30-3:20, WEH 5310
Section J: Mon 2:30-3:20, WEH 4709
Section K: Mon 3:30-4:20, SH 208
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
Grading Composed from total lab performance (50%) and total exam performance (50%).
Labs There are 8 labs (L0-L7), not evenly weighted. See the assignments page for the breakdown.
Exams There is one midterm exam, in class, closed book (20%).
There is a final exam, in class, closed book (30%).
Home http://www.cs.cmu.edu/~213
Questions Piazza, office hours
Canvas We are using Canvas for this course 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-f17/


Name Randy Bryant Phil Gibbons Brian Railing
Contact Randy.Bryant@cs.cmu.edu
Office GHC 9125 GHC 7221 GHC 6005
Office Hours Wed 3-4pm Mon 2-3pm Thurs 3-4pm

ECE Course Hub (HH 1112)

They are open 9am-5pm Monday-Friday.