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

Spring 2018
15-213/18-213 Lecture 1: TR 1:30-2:50, GHC 4401, Seth Goldstein, Franz Franchetti, and Brian Railing
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


Getting Help

Piazza Piazza
Email Please use Piazza for help, instead of email. Posts to Piazza are private by default.
Tutoring: Drop in tutoring at Mudge Reading room (time TBD: 8:30-11pm)
Office Hours WEH 5207, Sunday-Thursday, 5pm-9pm (5:30pm on Thursday)
GHC 5th Floor Citadel Commons, Friday, 3pm-5pm
We use an online queue. You can add yourself from anywhere, but you must be in the room when your name is called.

Course Materials

Schedule Lecture schedule, slides, recitation notes, readings, and code
Canvas Canvas, and single sign-on to Piazza, TPZ, etc.
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 GHC 4401
Recitations Section A: Mon 9:30-10:20am, DH 1217 (TA: Kashish)
Section B: Mon 10:30-11:20am, DH 2122 (TAs: Stephen, David)
Section C: Mon 11:30-12:20pm, WEH 5312 (TAs: Blair, Aayush)
Section D: Mon 12:30-1:20pm, DH 1209 (TAs: Satoru, Jiayi)
Section E: Mon 1:30-2:20pm, DH 1117 (TAs: Nolan, Josh)
Section F: Mon 2:30-3:20pm, DH 1117 (TAs: Zack, Val)
Section G: Mon 3:30-4:20pm, GHC 4301 (TAs: Gabriel, Raghav)
Section H: Mon 4:30-5:20pm, GHC 4301 (TAs: Ian, Fernando)
Section I: Mon 9:30-10:20am, DH 1209 (TA: Aarohi)
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, 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 and 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-s18/

Instructors

Name Seth Goldstein Franz Franchetti Brian Railing
Contact seth@cmu.edu
x8-3828
franzf@ece.cmu.edu
x8-8297
bpr@cs.cmu.edu
x8-3143
Office GHC 7111 HH A312 GHC 6005
Office Hours Wed. 2pm Tues. 4pm Wed. 1pm

ECE Course Hub (HH 1112)

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