Home | Lectures | Labs | CS@Williams
|Office Hours:||M 2p-3:30p, W 9a-10:30a or email for appt (recommended)|
|Class Meeting Times:||MWF 12-12:50 in Schow 030A|
|Lab Meeting Times:||R 1-2:25, 2:35-4 in TPL 312 or TCL 217|
|Required Textbook:||Computer Systems: A Programmer's Perspective (3rd Edition),
by Randal E. Bryant and David R. O'Hallaron
|Recommended Textbook:||The C Programming Language (2nd Edition),
by Brian W. Kernighan and Dennis M. Ritchie
Note: You do not have to buy this book, but it is a great reference.
|Lab instructor:||Steve Van Wert|
|Steve's lab hours:||Tue 2:30-4:30 in TCL 312|
|TAs:||Matheus Cruz Correia de Carvalho Souza, Riwaz Poudyal,
Tuan Tran, Ari Ball-Burack, Jack Ferguson, Alex Pankhurst, Adly Templeton
|TA Hours:||Click for schedule. TAs will be in TPL 312 (and maybe TCL 312).|
This 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, distributed systems, and graphics, where a deeper understanding of systems-level issues is required. At the same time, a model of computer hardware organization is developed from the gate level upward. Topics covered include: machine-level code and its generation, performance evaluation and optimization, computer arithmetic, memory organization and management, and (maybe) networking protocols and supporting concurrent computation.
Department Honor Code and Account Agreement