15-213/15-513/14-513 Introduction to Computer Systems (ICS)
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.
- First day of class is Monday, Aug 28th.
||Please use Piazza for help, instead of email.
Posts to Piazza are private by default.
TA office hours use an online queue
for both in-person and remote office hours.
Faculty office hours will be at the
locations and times listed at the bottom of this page.
- 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.
|| Lecture schedule, slides, recitation notes, readings, and code
|| Details of the labs, due dates, and policies
|| Details of the written assignments, due dates, and policies
|| Information about the final exam
| Lab Machines
|| Instructions for using the lab machines
|| Additional course resources
||See the course syllabus for details (below is just a few overview bits).
| 15-213 Recitations
|15-213 Section A:||Fri 10:00 AM–10:50 AM||WEH 6423|
|15-213 Section B:||Fri 10:00 AM–10:50 AM||WEH 4708|
|15-213 Section C:||Fri 11:00 AM–11:50 AM||WEH 5328|
|15-213 Section D:||Fri 11:00 AM–11:50 AM||WEH 6423|
|15-213 Section E:||Fri 12:00 PM–12:50 PM||GHC 4101|
|15-213 Section F:||Fri 12:00 PM–12:50 PM||DH 2105|
|15-213 Section G:||Fri 01:00 PM–01:50 PM||PH 225B|
|15-213 Section H:||Fri 01:00 PM–01:50 PM||GHC 4101|
|15-213 Section I:||Fri 02:00 PM–02:50 PM||GHC 4101|
|15-213 Section J:||Fri 02:00 PM–02:50 PM||WEH 6423|
|15-213 Section K:||Fri 03:00 PM–03:50 PM||GHC 4101|
|14-513 Section A:||Fri 10:00 AM–10:50 AM||CIC 1201|
|14-513 Section B:||Fri 04:00 PM–04:50 PM||INI DEC|
|14-513 Section C:||Fri 01:00 PM–01:50 PM||INI DEC|
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
|| 12 units
||Composed from total lab performance (50%), total written assignment performance (20%) and final exam performance (30%). |
||There are 8 labs (L0-L7), not evenly weighted. See
the labs page for
||There is a final exam, held during exam week, closed book.
||Piazza, office hours
||Canvas will be used (i) to handin written assignments, (ii) to post lecture videos, and (iii)
to conduct ungraded, in-class quizzes. Your grading information will be kept up to date
in Autolab, not in Canvas.
| Office Hours
Wed 11:00 AM–12:00 PM, GHC 6005
Thurs 02:00 PM–03:00 PM, GHC 6005
Tues 02:00 PM–03:00 PM, GHC 7221
Fri 01:30 PM–02:30 PM, Zoom (Link on Piazza)