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(2019-01-08): 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(2019-01-10): 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(2019-01-15): Introduction to C Part I
Variables; printf; if statements; and loops
Practice Questions
Question goes here...

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


Week 03.
Tuesday(2019-01-22): 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(2019-01-24): 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(2019-01-29): 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(2019-01-31): 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(2019-02-05): 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...

Thursday(2019-02-07): Writing Mips Code for Local and Global Variables/Arrays

Week 06.
Tuesday(2019-02-12): First Exam Review
Thursday(2019-02-14): First Exam

Week 07.
Tuesday(2019-02-19): 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(2019-02-21): MIPS Assembly Programming Language Part VI

Week 08.
Tuesday(2019-02-26): MIPS Assembly Programming Language Part VII
Thursday(2019-02-28): MIPS Assembly Programming Language Part VIII
MIPS Assembly Programming Language Part VIII
Practice Questions Part I (MIPS to Binary)
Question goes here...

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


Week 09 (To be updated).
Tuesday(2019-03-05): 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...

Tuesday(2019-03-05): 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(2019-03-07): Adders, Subtracters, Functional Completeness, & Domino Computers
Adders, Subtracters, 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(2019-03-12): Sequential Logic Part I: Flip-Flops, the Bus, Enablers, and Decoders
Thursday(2019-03-14): Sequential Logic Part II: Flip-flops, The Bus, Enablers, Decoders, Accessing the Memory, Circuit Delay, & The Clock
Sequential Logic Part Ii: Flip-Flops, the Bus, Enablers, Decoders, Accessing the Memory, Circuit Delay, & the Clock
Practice Questions
Question goes here...


Week 11.
Tuesday(2019-03-19): Spring Break (No Class)
Thursday(2019-03-21): Spring Break (No Class)

Week 12.
Tuesday(2019-03-26): CPU Clock & Single-cycle Datapath Part I
CPU Clock & Single-cycle Datapath Part I
Practice Questions
Question goes here...

Thursday(2019-03-28): Single-cycle Datapath Part II & The Control Unit
Single-cycle Datapath Part II & The Control Unit
Practice Questions
Question goes here...


Week 13.
Tuesday(2019-04-02): Pipelining & Pipelining Hazards Part I
Thursday(2019-04-04): Second Exam

Week 14.
Tuesday(2019-04-09): Pipelining & Pipelining Hazards Part II
Thursday(2019-04-11): Floating-Point Representation Part I

Week 15.
Tuesday(2019-04-16): Floating-Point Representation Part II
Thursday(2019-04-18): Cache Part I & Part II

Others.
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: Thursday, Dec 6 from 04:00 to 07:00pm
Section 2: Tuesday, Dec 11 from 04:00 to 07:00pm