CSCI 237

Computer Organization

Home | Lectures | Labs | CS@Williams

Home

Instructor: Jeannie Albrecht
Email: jeannie@cs.williams.edu
Phone: x4251
Office: TCL 305
Office Hours: Mon 1:30-2:30pm, Wed 10-11am, Thur 10-11am, or email for appt
Class Meeting Times: MWF 12-12:50 in Schow 030A
Lab Meeting Times: WR 1-2:30 in Ward Lab (TBL 301)
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.
TAs: David Goetze, Matt Laws, Marcus Lee, Tanatswa Manyakara,
Andrew Megalaa, Natalia Nolan, Alex Root
TA Hours: Sun 7-10pm, Mon 7-11pm in TCL 312 (Unix lab)
Tue 7-11pm, Wed 7-11pm, Thur 8-11pm in TBL 301 (Ward lab)

Course Description

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 advanced topics, such as security, 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.

Policies

Course Syllabus
Department Computer Usage Policy