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 [slides]
[13] Mo: 03/09 Machine Level Programming: Arrays CSAPP 3.8 [slides]
[14] We: 03/11 Machine Level Programming: Structs CSAPP 3.9 [slides]
[15] Fr: 03/13 Intro to Y86-64 CSAPP 4.1-4.2 [slides]
[16] Mo: 03/16 Logic and HCL Overview CSAPP 4.3 [slides]
[17] We: 03/18 Sequential Implementation I CSAPP 4.3 [slides]
[--] 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 [slides]
[19] We: 04/08 Pipelining Concepts CSAPP 4.4 [slides]
[20] Fr: 04/10 Storage Technologies CSAPP 6.1-6.3 [slides]
[21] Mo: 04/13 The Memory Hierarchy & Caching CSAPP 6.4-6.5 [slides]
[22] We: 04/15 Cache Memories CSAPP 6.4-6.5 [slides]
[23] Fr: 04/17 Cache Organization CSAPP 6.4-6.5 [slides]
[24] Mo: 04/20 Cache Wrapup, VM Introduction CSAPP 9.1-9.5 [slides]
[25] We: 04/22 Virtual Memory: Systems CSAPP 9.6-9.7 [slides]
[26] Fr: 04/24 Virtual Memory: Systems II CSAPP 9.7-9.8 [slides]
[27] Mo: 04/27 Virtual Memory Wrapup CSAPP 9.7-9.8 [slides]
[28] We: 04/29 Dynamic Memory Allocation CSAPP 9.9 [slides]
[29] Fr: 05/01 Implicit Free and Explicit Free Lists CSAPP 9.9 [slides]
[30] Mo: 05/04 Free Lists Wrapup CSAPP 9.10-9.11 [slides]
[31] We: 05/06 Network Programming Intro CSAPP 11.1-11.4 [slides]
[32] Fr: 05/08 Network Programming: Sockets [slides]
[33] Mo: 05/11 Concurrent Programming I CSAPP 12.1-12.4 [slides]
[34] We: 05/13 Concurrent Programming II CSAPP Ch 12.1-12.4 [slides]
[35] Fr: 05/15 Synchronization CSAPP Ch 12.5 [slides]
[--] 05/20-
05/25
Final Exam Period TBD [Sample final]
[Sample solutions]