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.

What's New?

07 October 2016. You can sign up for a slot for the midterm exam at this website. You will be allowed four hours to complete
your exam, starting from the beginning of your time slot.

03 October 2016. The TAs will be hosting a C Programming Bootcamp on Thursday, Oct. 6 in Rashid
Auditorium (GHC 4401) from 7:30–9:00 PM. Please bring your laptops to this session.

06 September 2016. The TAs will be hosting a Linux Bootcamp tonight in Rashid
Auditorium (GHC 4401) from 7:30–9:00 PM. Please bring your laptops to this session.

04 September 2016. Office hours are cancelled tomorrow for Labor Day.

01 September 2016. Lab 1 is now available via
Autolab.
Those of you who do not yet have Autolab accounts can get a copy of
the documentation and the supplied files from
the schedule web page. You can work on this lab using one of the
class (Shark) machines,
or one of the Andrew Linux machines.