CSCI 237
Computer Organization
Home | Schedule | Assignments | Links | Williams CS
Course Schedule
The table below lists the topics we will discuss
and the readings associated with each topic.
This schedule represents
our goals for this semester and is based on our previous experiences
exploring this material at Williams—it is tentative: we may get
ahead or behind as the semester progresses.
The calendar will be updated
to reflect any shift in topics or readings, so check back regularly.
Assigned readings
should ideally be completed before their associated
class meeting. (CSAPP is an abbreviation for your textbook.)
Lecture slides and additional digital resources (when used)
will be posted after each class.
Click on the topic to access the slides.
Some of these resources will only be accessible from within the
campus network.
If you are off campus, please use the Williams
VPN.
Such slides and course materials are to help you with the course.
Please do not post them publicly.
Book references:
| Date | Topic | Reading(s) | Handout(s) |
|---|---|---|---|
| [1] Fr: 02/06 | Course Overview | CSAPP Ch. 1 |
[Syllabus] [slides] |
| [2] Mo: 02/09 | Data as Bits | CSAPP 2.1 | [slides] |
| [3] We: 02/11 | Integers | CSAPP 2.2-2.3 | [slides] |
| [--] Fr: 02/13 | Winter Carnival | No Class | No Class |
| [4] Mo: 02/16 | Integers Wrapup | CSAPP 2.3 | [slides] |
| [5] We: 02/18 | Pointers and Arrays | K & R Ch 5 | [slides] |
| [6] Fr: 02/20 | Floating Point | CSAPP 2.4-2.5 | [slides] |
| [7] Mo: 02/23 | Machine Level Programming: Basics |
CSAPP 3.1-3.4 CSAPP 361-363 |
[slides] |
| [8] We: 02/25 | Machine Level Programming: Operations | CSAPP 3.5 | [slides] |
| [9] Fr: 02/27 | Machine Level Programming: Branches | CSAPP 3.6 | [slides] |
| [10] Mo: 03/02 | Machine Level Programming: Loops | CSAPP 3.6 | [slides] |
| [11] We: 03/04 | Machine Level Programming: Loops II | CSAPP 3.6 | [slides] |
| [12] Fr: 03/06 | Machine Level Programming: Procedures | CSAPP 3.7 |
[ |
| [13] Mo: 03/09 | Machine Level Programming: Arrays | CSAPP 3.8 |
[ |
| [14] We: 03/11 | Machine Level Programming: Structs | CSAPP 3.9 |
[ |
| [15] Fr: 03/13 | Intro to Y86-64 | CSAPP 4.1-4.2 |
[ |
| [16] Mo: 03/16 | Logic and HCL Overview | CSAPP 4.3 |
[ |
| [17] We: 03/18 | Sequential Implementation I | CSAPP 4.3 |
[ |
| [--] Fr: 03/20 | Canceled for Exam | No Class | No Class |
|
[--] 03/23- 04/03 |
Spring Break | Spring Break | Spring Break |
| [18] Mo: 04/06 | Sequential Implementation II | CSAPP 4.3 |
[ |
| [19] We: 04/08 | Pipelining Concepts | CSAPP 4.4 |
[ |
| [20] Fr: 04/10 | Storage Technologies | CSAPP 6.1-6.3 |
[ |
| [21] Mo: 04/13 | The Memory Hierarchy & Caching | CSAPP 6.4-6.5 |
[ |
| [22] We: 04/15 | Cache Memories | CSAPP 6.4-6.5 |
[ |
| [23] Fr: 04/17 | Cache Organization | CSAPP 6.4-6.5 |
[ |
| [24] Mo: 04/20 | Cache Wrapup, VM Introduction | CSAPP 9.1-9.5 |
[ |
| [25] We: 04/22 | Virtual Memory: Systems | CSAPP 9.6-9.7 |
[ |
| [26] Fr: 04/24 | Virtual Memory: Systems II | CSAPP 9.7-9.8 |
[ |
| [27] Mo: 04/27 | Virtual Memory Wrapup | CSAPP 9.7-9.8 |
[ |
| [28] We: 04/29 | Dynamic Memory Allocation | CSAPP 9.9 |
[ |
| [29] Fr: 05/01 | Implicit Free and Explicit Free Lists | CSAPP 9.9 |
[ |
| [30] Mo: 05/04 | Free Lists Wrapup | CSAPP 9.10-9.11 |
[ |
| [31] We: 05/06 | Network Programming Intro | CSAPP 11.1-11.4 |
[ |
| [32] Fr: 05/08 | Network Programming: Sockets |
[ |
|
| [33] Mo: 05/11 | Concurrent Programming I | CSAPP 12.1-12.4 |
[ |
| [34] We: 05/13 | Concurrent Programming II | CSAPP Ch 12.1-12.4 |
[ |
| [35] Fr: 05/15 | Synchronization | CSAPP Ch 12.5 |
[ |
|
[--] 05/20- 05/25 |
Final Exam Period | TBD |
[Sample final] [Sample solutions] |