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-08-21): 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-08-23): 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-08-28): Introduction to C Part I
Variables; printf; if statements; and loops
Practice Questions
Question goes here...

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


Week 03.
Tuesday(2018-09-04): 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-09-06): 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-09-11): 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-09-13): 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-09-18): 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(2018-09-20): 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

Week 06.
Tuesday(2018-09-25): MIPS Assembly Programming Language Part VI
Thursday(2018-09-27): First Exam

Week 07.
Tuesday(2018-10-02): MIPS Assembly Programming Language Part VII
Thursday(2018-10-04): 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 08.
Tuesday(2018-10-09): MIPS Assembly Programming Language Part VIIII
Thursday(2018-10-11): 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-10-16): 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-10-18): 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-10-23): Combinational/Sequential Logic Part II: Flip-flops, The Bus, Enablers, Decoders, Accessing the Memory, Circuit Delay, & The Clock
Thursday(2018-10-25): CPU Clock & Single-cycle Datapath Part I
CPU Clock & Single-cycle Datapath Part I
Practice Questions
Question goes here...


Week 11.
Tuesday(2018-10-30): Single-cycle Datapath Part II & The Control Unit
Single-cycle Datapath Part II & The Control Unit
Practice Questions
Question goes here...

Thursday(2018-11-01): Pipelining & Pipelining Hazards Part I

Week 12.
Tuesday(2018-11-06): Fall Break (No Class)
Thursday(2018-11-08): Second Exam

Week 13.
Tuesday(2018-11-13): Pipelining & Pipelining Hazards Part II
Thursday(2018-11-15): Floating-Point Representation Part I

Week 14.
Tuesday(2018-11-20): Floating-Point Representation Part II
Thursday(2018-11-22): Thanksgiving Holiday (No Class)

Week 15.
Tuesday(2018-11-27): Cache Part I & Part II
Thursday(2018-11-29): Review

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