Patterson and Hennessy, Computer Organization and Design, 3rd Edition.


Problem Sets: 40%
First Midterm: 10%
Second Midterm: 20%
Final Exam: 30%

Late Policy

Assignments are due at the beginning of class on the specified due date. No credit will be given for late assignments but the lowest 2 scores on assignments will be dropped.

Make up policy

Serious illness, a death in the family, and activities such as intramural meets and student exchange programs can justify waiving or relaxing the usual rules for class work and examinations. But the vicissitudes of student life, including the consequences of procrastination and commitments to other courses, cannot. In circumstances that merit special treatment, documentation is usually available to the student, and I feel most comfortable when a request for special consideration is accompanied by appropriate written material supporting the request. In cases where events that will interfere with course work are foreseen, a student should discuss the matter with me well before the work is due.


An incomplete will only be given for serious emergencies. Documentation (such as a physician’s note) is required.


  • Programming
    • Information Encoding
    • Instruction Sets
    • Addressing Modes
    • Assembly Language
    • Stacks and Procedures
    • Assemblers and Compilers
    • Operating Systems and IO (DMA, direct mapped, concurrency)
  • Implementation
    • Transistors and gates (from switches and wires to logical operations)
    • Arithmetic Circuits (arithmetic operations, 2’s complement)
    • Multiplication and Division
    • Floating Point Arithmetic (emphasis on sources of error)
    • Control and Execution (logic + registers = FSM, fetch/decode/execute)
    • Memory (RAM, DRAM, external)
  • Performance
    • Measuring Performance
    • Pipelining
    • Memory Hierarchy
    • Caches and Virtual Memory