|
15-213/15-513: Introduction to Computer Systems (ICS)
Summer 2022
15-213: TWRF 12:20–1:40 PM, Baker A36 (directions: text, video)
15-513: Does not meet
Instructors:
Zack Weinberg
and
Kyle Liang
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
First day of class is Tuesday, May 17.
Getting Help
Piazza |
Piazza |
Email |
Please use Piazza for help, instead of email.
Posts to Piazza are private by default. |
Tutoring |
TBD |
Office Hours |
TA office hours use an online queue
for both in-person and remote office hours.
- In person: Please specify a room number when adding yourself to the queue.
- Remote: Please specify a Zoom meeting ID and select the REMOTE tag in the queue.
- If you are remote but do not select the tag, we reserve the right to kick you from the queue as we cannot filter your question to the remote TA's.
Faculty office hours will be at the locations and times listed at the bottom of this page.
|
Course Materials
Schedule |
Lecture schedule, slides, recitation notes, readings, and code |
Labs |
Details of the labs, due dates, and policies |
Assignments |
Details of the written assignments, due dates, and policies |
Exam |
Information about the final exam |
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 |
See above |
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%),
total written assignment performance (12%),
and exam performance (38%).
It is, unfortunately,
necessary to consult all three of Autolab, Canvas, and Gradescope
to get a complete picture of your grade.
|
Labs |
There are 8 labs (L0-L7), not evenly weighted. See
the labs page for
the breakdown. |
Exams |
There is one midterm exam, in class, closed book (14%).
There is a final exam, in class, closed book (24%). |
Home |
https://www.cs.cmu.edu/~213 |
Questions |
Piazza, office hours, email |
Canvas |
Canvas will be used (i) to handin written assignments, (ii) to post lecture videos, and (iii)
to conduct ungraded, in-class quizzes.
|
Course Directory |
/afs/cs/academic/class/15213-m22/ |
Instructors
Name |
Zack Weinberg |
Kyle Liang |
Contact |
zackw@cmu.edu |
kmliang@andrew.cmu.edu |
Office |
GHC 4124 |
TCS 312 |
|
Office Hours |
tbd |
Wed 11-12, Thu 3-4 |
|