Required Textbook

Patterson and Hennessy- Computer Organization and Design 5th (or 4th) ed. (Morgan Kaufmann ISBN-13: 978-0-12-407726-3

Tentative Schedule

Week 01.
Tuesday(2018-01-09): Number Representation Part I
Converting between Binary, Decimal, & Hexadecimal; and representing Negative Numbers (Sign-Magnitude)
Assigned Reading: (4th) P&H 2.4 | (5th) P&H 2.4
Practice Questions
Question goes here...

Thursday(2018-01-11): Number Representation Part II
Representing Negative Numbers (1s Complement and 2s Complement)
Assigned Reading: (4th) P&H 2.4 | (5th) P&H 2.4
Practice Questions
Question goes here...


Week 02.
Tuesday(2018-01-16): Introduction to C Part I
Variables; printf; if statements; and loops
Practice Questions
Question goes here...

Thursday(2018-01-18): Introduction to C Part II
Functions and Pointers Part I
Practice Questions
Question goes here...


Week 03.
Tuesday(2018-01-23): Introduction to C Part III
Arrays and Pointers Part II
We didn't cover this part in class, hence won't be in Quiz. Practice Questions Part I (Pointer to a Pointer)
Question goes here...

Practice Questions PART II (Arrays and Pointers Part II)
Question goes here...

Thursday(2018-01-25): MIPS Assembly Programming Language Part I
MIPS Assembly Programming Language Part I
Assigned Reading: (4th) P&H 2.1 & 2.2 | (5th) P&H 2.1 & 2.2
Practice Questions
Question goes here...


Week 04.
Tuesday(2018-01-30): MIPS Assembly Programming Language Part II
MIPS Assembly Programming Language Part II
Assigned Reading: (4th) P&H 2.2 & 2.3 | (5th) P&H 2.2 & 2.3
Practice Questions Part I (Trace MIPS Code)
Question goes here...

Practice Questions Part II (Convert C to MIPS)
Question goes here...

Thursday(2018-02-01): MIPS Assembly Programming Language Part III
MIPS Assembly Programming Language Part III
Assigned Reading: (4th) P&H 2.7 | (5th) P&H 2.7

Week 05.
Tuesday(2018-02-06): Class Canceled
Thursday(2018-02-08): MIPS Assembly Programming Language Part IV
MIPS Assembly Programming Language Part IV
Practice Questions Part I
Question goes here...

Practice Questions Part II
Question goes here...


Week 06.
Tuesday(2018-02-13): MIPS Assembly Programming Language Part V
MIPS Assembly Programming Language Part V
Assigned Reading: (4th) P&H 2.8 & Appendix B.6 | (5th) P&H 2.8 & Appendix A.6
Thursday(2018-02-15): MIPS Assembly Programming Language Part VI

Week 07.
Tuesday(2018-02-20): First Exam
Thursday(2018-02-22): MIPS Assembly Programming Language Part VII
MIPS Assembly Programming Language Part VII
Practice Questions Part I (MIPS to Binary)
Question goes here...

Practice Questions Part II (Binary to MIPS)
Question goes here...


Week 08.
Tuesday(2018-02-27): MIPS Assembly Programming Language Part VIII
Thursday(2018-03-01): Combinational Logic Part I: Gates
Combinational Logic Part I: Gates
Assigned Reading: Appendix B.1 (Introduction) & Appendix B.2 (Gates, Truth Tables, and Logic Equations)
Practice Questions
Question goes here...


Week 09.
Tuesday(2018-03-06): Combinational Logic Part II: Half adder, Full adder, & Muxes
Combinational Logic Part II: Half Adder, Full Adder, & Muxes
Assigned Reading: Appendix B.3 (Subtopics "Multiplexors" & "Don't Cares") & Appendix B.5 (Subtopics "A 1-Bit-ALU" & "A 32-Bit ALU")
Thursday(2018-03-08): Combinational/Sequential Logic Part I: Adders, Subtracters, Functional Completeness, & Domino Computers
Combinational/Sequential Logic Part I: Adders, Subtractors, Functional Completeness, & Domino Computers
Practice Questions Part I (No Dont Cares)
Question goes here...

Practice Questions Part II (With Dont Cares)
Question goes here...


Week 10.
Tuesday(2018-03-13): Combinational/Sequential Logic Part II: Flip-flops, The Bus, Enablers, Decoders, Accessing the Memory, Circuit Delay, & The Clock
Thursday(2018-03-15): CPU Clock & Single-cycle Datapath Part I
CPU Clock & Single-cycle Datapath Part I
Practice Questions
Question goes here...


Week 11.
Tuesday(2018-03-20): Spring Break (No Class)
Thursday(2018-03-22): Spring Break (No Class)

Week 12.
Tuesday(2018-03-27): Single-cycle Datapath Part II & The Control Unit
Single-cycle Datapath Part II & The Control Unit
Practice Questions
Question goes here...

Thursday(2018-03-29): Second Exam

Week 13.
Tuesday(2018-04-03): Pipelining & Pipelining Hazards Part I
Thursday(2018-04-05): Pipelining & Pipelining Hazards Part II

Week 14.
Tuesday(2018-04-10): Floating-Point Representation Part I
Thursday(2018-04-12): Floating-Point Representation Part II

Week 15.
Tuesday(2018-04-17): Cache Part I
Thursday(2018-04-19): Cache Part II

For CSCI220.
Thursday(2017-11-30): Revisionist History (Ep. 4 to Ep. 7)
Episode 4: Carlos Doesn't Remember
Episode 5: Food Fight
Episode 6: My Little Hundred Million (Interview with John Hennessy)

Final Exam

Section 1: Tuesday, May 1 from 04:00pm to 07:00pm
Section 2: Thursday, April 26 from 07:30pm to 10:30pm