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

Fall 2016
15-213/18-213 Lecture 1: TR 1:30-2:50, DH 2210, Randy Bryant and Phil Gibbons
15-513: Panopto and 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 2016. The TAs will be hosting a Linux Bootcamp tonight in Rashid Auditorium (GHC 4401) from 7:30–9:00 PM. Please bring your laptops to this session.
  • 04 September 2016. Office hours are cancelled tomorrow for Labor Day.
  • 01 September 2016. Lab 1 is now available via Autolab. Those of you who do not yet have Autolab accounts can get a copy of the documentation and the supplied files from the schedule web page. You can work on this lab using one of the class (Shark) machines, or one of the Andrew Linux machines.

Getting Help

Piazza www.piazza.com/cmu/fall2016/152131821315513/home
Email 15-213-staff@cs.cmu.edu
Tutoring: Drop in tutoring at Mudge Reading room (Monday: 8:30-11pm, Wednesday: 8:30-11pm)
Office Hours WeH 5207, Sunday-Thursday, 5pm-9pm (5:30pm on Thursday)
Office hour specifics can be found here.

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, Maitreyee & Anna
Section B: Mon 10:30-11:20, PH 226B, Dimitris & Amolak
Section C: Mon 11:30-12:20, WEH 5310, Jack
Section D: Mon 11:30-12:20, GHC 4101, Nikhil
Section E: Mon 12:30-1:20, WEH 5310, Raghav & Sanhita
Section F: Mon 12:30-1:20, PH 225B, Shantanu & Nancy
Section G: Mon 1:30-2:20, GHC 4301, Calvin
Section H: Mon 1:30-2:20, WEH 5310, Deep & Jocelyn
Section I: Mon 2:30-3:20, WEH 5310, Isaac
Section J: Mon 3:30-4:20, GHC 4301, Stanley
Section K: Mon 4:30-5:20, PH 226B, Eshan
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 7 labs, 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, email
Blackboard We are not using Blackboard for this course.
Course Directory /afs/cs/academic/class/15213-f16/

Instructors

Name Randy Bryant Martin Carlisle Phil Gibbons Brian Railing
Contact Randy.Bryant@cs.cmu.edu
x8-8821
mcarlisl@andrew.cmu.edu
x8-7899
gibbons@cs.cmu.edu
bpr@cs.cmu.edu
x8-3143
Office GHC 9125 INI, 4616 Henry St, Rm. 125 GHC 7221 GHC 6005
Office Hours TBA TBA TBA Thurs 3-4pm

ECE Course Hub (HH 1112)

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