CSCI 2321 (Computer Design):

The table below shows what we will be discussing in each class meeting, readings, dates of exams, and due dates for homeworks. Dates of exams are approximate for now, as we all try to adapt to the move online. Other items are subject to change. Readings are from the textbook unless otherwise indicated. Written problems are due at 6pm on the date shown, programming problems at 11:59pm, unless otherwise indicated.

Note that starting March 23, class will meet via Zoom. For Zoom information about meetings and recordings, see "Useful links and information".

Lecture date Topics Reading Assignments
January 15 (W) About the course; overview and introduction (Notes)    
January 20 (M) Holiday    
January 22 (W) Overview/introduction continued; defining and measuring performance (Notes) 1 (except 1.7, 1.9)  
January 27 (M) Machine-level instructions (Notes) 2.1, 2.2, 2.3, 2.4  
January 29 (W) Machine-level instructions, continued (Notes) 2.5, 2.6 Homework 1: HTML, PDF
February 3 (M) Machine-level instructions, continued; support for procedures (Notes) 2.7, 2.8 Quiz 1
February 5 (W) Support for procedures, continued; addressing modes; system calls (Notes) 2.9, 2.10, A.1, A.2, A.3, A.4, A.5, A.6, A.9, A.10 (introduction), A.11  
February 10 (M) (No class)    
February 12 (W) Addressing modes continued; system calls; writing complete programs for SPIM; assembly language revisited. (Notes)   Homework 2: HTML, PDF
February 17 (M) Review; extended MIPS programming example(s) (Notes)   Quiz 2
February 19 (W) Assembling and linking revisited, with example(s); no class; video lecture (two parts) available via echo360.org (Notes)   Homework 3: HTML, PDF (accepted without penalty through 2/21)
February 24 (M) No class    
February 26 (W) No class    
March 2 (M) Source to executable revisited; more MIPS programming (Notes)   Homework 4: HTML, PDF
March 4 (W) More MIPS programming (Notes)   Quiz 3
March 9 (M) Spring break    
March 11 (W) Spring break    
March 16 (M) No class (all classes cancelled by University)    
March 18 (W) No class (all classes cancelled by University)    
March 23 (M) Plans for remote teaching; review for Exam 1 (Notes)    
March 25 (W) MIPS support for parallelism; more exam review (Notes)    
March 26 (W, 5pm-7pm), March 27 (R, 4pm-6pm) (Not class days) (Review in HTML, PDF) Exam 1
March 30 (M) Numbers and arithmetic (Notes) 3.1, 3.2, 3.3, 3.4 (skim), 3.5 (skim), 3.6 (skim), 3.9, 3.10  
April 1 (W) Numbers and arithmetic, continued (Notes)    
April 6 (M) Introduction to designing a processor; a little about circuit design (Notes) 4.1, B.1, B.2, B.3, B.5, B.7, B.8, B.9, B.10, B.13  
April 8 (W) More about designing a processor (Notes) 4.2, 4.3  
April 13 (M) Designing a processor, continued (Notes) 4.4 Quiz 4; Homework 5 (Optional) HTML, PDF (accepted without penalty through last day of class);
Homework 6 HTML, PDF (okay to turn in optional problems later)
April 15 (W) Designing a processor, continued; introduction to pipelining (Notes) 4.5, 4.6  
April 20 (M) Pipelining, continued; exceptions (Notes) 4.7 (skim), 4.8 (skim), 4.9, 4.14, 4.15  
April 22 (W) A little about memory hierarchies and caching (Notes) 5.1, 5.2, 5.3, 5.6, 5.7, 5.8, 5.10, 5.16 (skim all) Quiz 5; Homework 7 HTML, PDF
April 27 (M) A little about virtual machines; a little about parallel computing (Notes)   Quiz 6
April 29 (W) Review for Exam 2; a little more about parallelism; course wrap-up and evaluations (Notes)   Homework 8 HTML, PDF (accepted without penalty through 5/01)
May 7 (R, 4pm-6pm), May 12 (T, 4pm-6pm) (Not class days) (Review in HTML, PDF) Exam 2
May 14 (R) (Not a class day)   Final deadline to submit homeworks, minute essays