15-213/18-243 Introduction to Computer Systems

Spring 2011
Lecture 1: Gregory Kesden, TR 6:30-7:50, GHC 4401
Lecture 2: Anthony Rowe, TR 1:30-2:50, GHC 4401
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.)

Prerequisite: 15-123 Effective Programming in C and UNIX

What's New?

  • The final exam is not open book.

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

Lectures (split) Lecture 1: TR 6:30-7:50 GHC 4401
Lecture 2: TR 1:30-2:50 GHC 4401
Recitations Section A: Mon 9:30-10:20, WEH 5302
Section B: Mon 10:30-11:20, WEH 5302
Section C: Mon 11:30-12:20, WEH 5302
Section D: Mon 12:30-1:20, WEH 5302
Section E: Mon 1:30-2:20, WEH 5302
Section F: Mon 11:30-12:20, WEH 6423
Section G: Mon 12:30-1:20, WEH 6423
Section H: Mon 1:30-2:20, WEH 6423
Section I: Mon 2:30-3:20, WEH 6423
Section J: Mon 3:30-4:20, WEH 6423
Office Hours Sunday - Thursday, 6:30pm - 9:30pm, Wean Hall 5207 Cluster
Textbooks Randal E. Bryant and David R. O'Hallaron,
Computer Systems: A Programmer's Perspective, 2nd ed, Prentice Hall, 2011
  Brian W. Kernighan and Dennis M. Ritchie,
The C Programming Language, 2nd edition, Prentice Hall, 1988
Credit 12 units
Grading Exams - 60% (final exam - 30%, 2 mid-terms - 15% each)
Labs - 40%
Labs There are 7 labs not evenly weighted
Midterms There are 2 midterm exams, in class:
Exam 1, Chapters 1-3, 5-6, weight: 1/4 of the exam grade
Exam 2, Chapters 7-11, weight: 1/4 of the exam grade
Final There is a final exam:
weight: 1/2 of the exam grade
Home http://www.cs.cmu.edu/~213
Questions Email to 15-213-staff@cs
Blackboard Not used
Directory /afs/cs/academic/class/15213-s11/


  Gregory Kesden Anthony Rowe
Contact gkesden@cs or x8-1590 agr@ece or x8-4856
Office GHC 7711 CIC 2217
Office Hours schedule Mondays, 4:30 - 5:30pm