15-213/18-243 Introduction to Computer Systems

Fall 2009
TR 1:30-2:50, DH 2210
12 units

This 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.

Syllabus (pdf) (includes rules on cheating, late assignments etc.)

Prerequisites: 15-123 Effective Programming in C and UNIX

What's New?

  • The final exam and solutions are now available on the "exams" page.

Help (Labs, technical questions)

Email: 15-213-staff@cs
Office Hours:

  • Mon 1:00-2:00, Ganger, CIC 2208
  • Mon 4:30-5:30, Harbuck, GHC 4122 or 4126
  • Tue 3:00-4:00, Thomas Tuttle, WeH 5205
  • Tue 4:00-5:00, Tessa Eng, GHC 4122 or 4126
  • Wed 1:00-2:00, Hunter Pitelka, WeH 5205
  • Wed 3:30-4:30, Dannenberg, GHC 7003
  • Wed 4:30-5:30, Sean Stangl, WeH 5205
  • Thu 3:00-4:00, Blum, WeH 5205
  • Thu 5:00-6:00, Martin, GHC 5201 (Note room change due to relocation of computers in WEH 5419A)
  • Fri 4:00-5:00, Joshua Primero, WW Clusters

Course Material

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 GHC 4401
Recitations Section A: Mon 10:30-11:20, WEH 5310
Section B: Mon 10:30-11:20,WEH 6423
Section C: Mon 11:30-12:20, GHC 4215
Section D: Mon 12:30-1:20, DH 1212
Section E: Mon 1:30-2:20, PH 226B
Section F: Mon 1:30-2:20, DH 1211
Section G: Mon 2:30-3:20, WEH 5310
Section H: Mon 3:30-4:20, SH 214
Textbooks Randal E. Bryant and David R. O'Hallaron,
Computer Systems: A Programmer's Perspective, Prentice Hall, 2003
(The authors are donating the royalties from CMU book sales to CMU, to be used for CMU undergraduates)
  Brian W. Kernighan and Dennis M. Ritchie,
The C Programming Language, 2nd edition, Prentice Hall, 1988
Credit 12 units
Grading Composed from total lab performance (L) and total exam performance (E).
The lower of the two is weighted with 0.6, the higher of the two is weighted with 0.4
Labs There are 6 labs not evenly weighted
Midterms There are 2 midterm exams, in class, open book:
Exam 1, Chapters 1-3, 5-6, weight: 1/4 of the exam grade
Exam 2, Chapters 7-8,10, weight: 1/4 of the exam grade
Final There is a final exam, open book:
weight: 1/2 of the exam grade
Home http://www.cs.cmu.edu/~213
Questions Email to 15-213-staff@cs.cmu.edu, office hours (see above)
Directory /afs/cs/academic/class/15213-f09/


  Greg Ganger Roger B. Dannenberg
Contact ganger@ece or x8-1297 rbd@cs or x8-3827
Office CIC 2208 GHC 7003
Office Hours Mon 1:00-2:00 Wed 3:30-4:30 (or by appointment, for either instructor)

Course Assistant

  Bara Ammoura
Contact bammoura@ece
Office ECE Course Management Hub (HH D-A10)