15-213/18-213/15-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.
||Please use Piazza for help, instead of email.
Posts to Piazza are private by default.
||Drop in tutoring at Mudge Reading room (time TBD: 8:30-11pm)
||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.|
|| Lecture schedule, slides, recitation notes, readings, and code
|| Canvas, and single sign-on to Piazza, TPZ, etc.
|| Details of assignments, due dates, and policies
|| Information about quizzes, exams, and final
| Lab Machines
|| Instructions for using the lab machines
|| Additional course resources
||See the course syllabus for details (below is just a few overview bits).
||TR 1:30-2:50 GHC 4401
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)
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%) and total exam performance (50%). |
||There are 8 labs, not evenly weighted. See
the assignments page for
||There is one midterm exam, in class, closed book (20%).
There is a final exam, in class, closed book (30%).
||Piazza and office hours
||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.
ECE Course Hub (HH 1112)
They are open 9am-5pm Monday-Friday.