15-213 (18-213): 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.
Course Syllabus (includes rules on cheating, late assignments, etc)
Saturday, October 4: The slides for the C boot camp can be found here (pdf) and
here (pptx). The code we demo'd and the C puzzles can be found
Thu, Aug 28: For students who aren't yet enrolled and are
still waiting to add in, we've made the datalab handout and writeup
available from the schedule page.
Thu, Aug 28: Academic Development is offering walk-in
tutoring for 213 students on Tuesdays, 8:30-11:00pm, Mudge Reading Room.
Thu, Aug 21: Office hours begin on Tuesday, Sept 2.
Thu, Aug 21: Please don't contact the instructors with
waitlist questions. The following two people can help you with all of your wait list questions:
- 15-213: Catherine Fichtner (firstname.lastname@example.org)
- 18-213: Chelsea Mastilak (email@example.com)
|TA Office Hours
||Sun, Mon, Tue, Wed, Thu: 5:30-8:30pm, WeH 5207, no appt needed
||Tue, 8:30-11:00pm, Mudge Reading Room, no appt needed
|| Lecture schedule, slides, recitation notes, readings, and code
|| 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 DH 2315 and TR 6:30-7:50 WeH 7500
| Recitations [Office hours]
Section A: Mon 10:30-11:20, SH 222, Vinay Bhat [Sun]
Section B: Mon 10:30-11:20, PH 226B, Jack Biggs [Wed]
Section C: Mon 11:30-12:20, SH 220, Lou Clark [Tue]
Section D: Mon 12:30-1:20, DH 2105, Arjun Hans [Thu]
Section E: Mon 1:30-2:20, PH A19, Jimmy Jin [Thu]
Section F: Mon 1:30-2:20, WEH 5302, Vishvesh [Sun]
Section G: Mon 2:30-3:20, WEH 5302, Vinay Venkatesh [Mon]
Section H: Mon 3:30-4:20, PH 125C, Sajjan [Wed]
Section I: Mon 10:30-11:20, WEH 5310, TJ O'Connor [Thu]
Section J: Mon 11:30-12:20, WEH 5310, Omkar Gawde [Mon]
Section K: Mon 12:30-1:20, WEH 5310, Aditya Gupta [Tue]
Section L: Mon 1:30-2:20, WEH 5310, Shailin Desai [Tue]
Section M: Mon 2:30-3:20, PH 226B, Shiva [Mon]
Randal E. Bryant and David R. O'Hallaron,
Computer Systems: A
Programmer's Perspective, Second Edition, Prentice Hall, 2011
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 7 labs, not evenly weighted. See
the assignments page for
||There is one midterm exam, online, proctored, closed book (20%).
There is a final exam, online, proctored, closed book (30%).
||Email to firstname.lastname@example.org. Visit office hours (see above)
||We are not using Blackboard for this course.
||We are not using Piazza for this course.
| Office Hours
||TBD (or by appt)
||See schedule (or by appt)
||Tue 3:00-4:30 (or by appt)