Class Schedule

Week Date Topic Reading Assignment
1 Jan 30 Introduction Problem Set 0: Syllabus
Feb 1 Assembly Language Zybook 1.3 & 1.4
Feb 3 Computer Organization Zybook 1.5
2 Feb 6 Assembly Programming Zybook 2.2 Problem Set 1: MIPS
Feb 8 Assembly Continued Zybook 2.3
Feb 10 Number Representation Zybooks 2.4
3 Feb 13 Negative Numbers Zybooks 2.5 Lab 1: MIPS
Problem Set 2: Number Representation
Feb 15 Representing Instructions Zybooks 2.6
Feb 16 Bitwise Operations Zybooks 2.7
4 Feb 20 Branches Zybooks 2.8 Lab 2: Bitlevel Operations
Problem Set 3: Bitlevel Operations
Feb 22 Procedures Zybooks 2.9 through 2.9.2
Feb 24 The Stack Zybooks 2.9
5 Feb 27 MIPS Addressing Zybooks 2.10 Lab 3: MIPS Fibs
Problem Set 4: MIPS
March 1 Pointers in MIPS Zybooks 2.11
March 3 Digital Logic Zybooks 3.2
6 March 6 Boolean Algebra Zybooks 3.3 Decoders & Multiplexors section Lab 4: MIPS Array
Problem Set 5: Digital Logic
March 8 Combinatorial Logic Zybook 3.3 (skip don't cares)
March 10 ALU Zybook 3.4
7 March 13 Clocks Zybook 3.6 Lab 5: 7-segment display
Problem Set 6: Multiplexors & Adders
March 15 Clocks and FlipFlops Zybooks 3.7
March 17 Performance Zybooks 1.7
Spring Break
8 March 27 Floating Point Zybooks 4.4 through 4.4.8 Lab 6: Adder/Subtractor
Problem Set 7: Flipflops
March 29 Floating Point Zybooks 4.4 to end
March 31 Datapath Zybooks 5.2
9 April 3 Datapath Zybooks 5.3 Lab 7: Counter
Problem Set 8: Floating Point & Performance
April 5 Control Path Zybooks 5.4
April 7 Control Path Zybooks 5.4
10 April 10 Pipelining Zybooks 5.6 Lab 8: Floating Point
Problem Set 9: The Data Path
April 12 Pipelining Zybooks 5.7
April 14 Data Hazards Zybooks 5.8
11 April 17 Control Hazards Zybooks 5.9 Problem Set 10: Pipelining
April 19 Control Flow
April 21 Caches Zybooks 6.2
12 April 24 Caches Zybooks 6.3 Problem Set 11: Branch Prediction
Final Project: Caches
April 26 Caches Zybook 6.4 to choosing which block
April 28 Caches Zybooks 6.4
13 May 1 Caches Problem Set 12: Caches
May 3 Advanced CPUs Zybooks 5.11
May 5 Class Wrap Up