CSCI 237
Computer Organization
Home | Schedule | Assignments | Links | Slack | Williams CS
Home
Instructor: | Kelly Shaw |
Email: | kshaw AT cs.williams.edu |
Phone: | x2772 |
Office: | TCL 309 |
Help Hours: | Mon. 1-2:30pm, Th. 2-3:30pm, and by appt on request |
Lecture Meeting Times: | MWF 10-10:50pm in Clark 105 |
Lab Meeting Times: | W 1:00-2:30pm, 2:30-4:00pm in TBL 301 |
Required Textbooks: | Computer Systems: A Programmer's Perspective (3rd Edition),
by Randal E. Bryant and David R. O'Hallaron |
The C Programming Language (2nd Edition),
by Brian W. Kernighan and Dennis M. Ritchie |
TAs: | Nick Canora, Brij Howard-Sarin, Tanatswa Manyakara, Valeria Starkova, and David Wang |
TA meeting location: | TBL 301 |
TA schedule: | calendar below |
Peer tutor: Alex Root | Schedule appointments using Accudemia |
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 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, and memory organization and management.
As a secondary objective of the course, students enhance their software development skills, specifically in the Unix environment. In addition to learning to write programs in the x86 assembly language and the C programming language, students learn how to use some helpful Unix commands as well as various tools including the emacs editor, gdb debugger, valgrind and address sanitizer memory analysis tools, and Makefiles.
Policies
Course Syllabus
Department Honor Code and Account Agreement
Williams College Policy on Classroom Recordings and Use of Class Materials
Course Support Schedule (TAs in the Ward lab)