www.cs.amherst/~ccm/cs14/syllabus.html

Computer Science 14 Syllabus

Here is a week-by-week listing of the course topics and lab projects in the course.

  1. (J28) Read Wirth Chapter 2.
    Course Overview: Virtual layers, parts of a computer.
    Logic, truth tables, gate symbols, Boolean Algebra.
    Basic combinational circuits: muxes and demuxes, voter circuits, parity circuits, adders, comparers, etc.
    Lab 1: Introduction to the lab, build a simple circuit (half-adder).

  2. (F4) Computer arithmetic. Wirth Chapter 2 and PH Chapter 3.
    Number representation and binary arithmetic.
    ALU design
    Floating point numbers; multiplication circuits.
    Lab 2: Build a bit-sliced incrementer/decrementer.

  3. (F12) Memories. Wirth Chapter 3.
    Latches and flipflops; registers; memories.
    Shift registers, counters.
    Circuits with state.
    Lab 3:A clocked combinatorial/memory circuit.

  4. (F18) Control. Wirth Chapter 4.
    Design Project I: Design a controlled datapath/state machines.
    State Machines design and implementation: Examples.
    Example: Multiplier Circuit..
    Lab 4: Start working on design project. Designs Due.

  5. (F25) MIPS Instruction set. Chapter 2, Chapter 5.
    Types of instructions.
    Instruction sets: Addressing modes, operators and operands.
    More instructions. Writing assembly language fragments.
    Lab 5:Circuit design project.

  6. (M3) Instruction sets and datapaths. PH Chapter 5.
    MIPS Instruction formats.
    Review for test.
    TEST on logic, combinational and combinatorial circuits, instruction sets, memory circuits, state machines, and instruction sets.

    Lab 6:Work on circuit design project.

  7. (M10) Instruction sets and Datapath PH Chapter 5
    Jumps, branching, and the PC.
    Single-cycle datapath to implement the MIPS instruction set.
    Controlling the datapath: control signals, timing, state machines, multi-cycle datapath.
    Lab 7:Work on design project.
  8. (M17)SPRING BREAK

  9. (M26) The pipelined datapath.
    Pipelined datapaths. Pipeline hazards: structural, data, branch.
    Measuring and evaluating datapaths.
    Lab 8:Finish design project.

  10. (M31) Introducton to Robots and PIC assembly language.
    How the robots work; PIC ASM. Design project II: Dancing robots.
    The PIC cpu and datapath.
    Lab 8:Programming in PIC ASM

  11. (A7)
    Review for test.
    Test on Instruction Set Design; Datapaths and Control; Assembly Language programming.
    Lab 9:Programming in PIC. Designs due.

  12. (A14) Memory Heirarchy: Cacheing
    Types of caches; how they work.
    Evaluating caches.
    Lab 10:Programming a robot. Develop robot designs.

  13. (A21) Memory Heirarchy: Virtual Memory
    How VM and Cache work together
    Lab 11 Robots

  14. (A28) (Handouts) Operating Systems.
  15. Program management.
  16. Interactions with the outside world: interrupts, busses, networking.
    LAB 12Robots

  17. (M5) (Handouts) Operating Systems.
    LAB 13Robot demos
  18. Final Exam.