| Date | Topics | Homework |
| Wed, 1/6 | Introduction, simple gates, combinational circuits, the game NIM | Read Ch 3 and 4, and do the tutorial (pp 47-63) Implement a binary-to-unary decoder for NIM |
| Thu, 1/7 | Subcircuits, a circuit for NIM | Implement the optimal move circuit for NIM |
| Fri, 1/8 | Binary arithmetic, adders | Read Ch 5, and implement a circuit for a forced move for NIM |
| Wed, 1/13 | Sequential circuits, flip flops, registers, counters | Implement three counters (for an initial configuration for NIM) |
| Thu, 1/14 | Counters, shift registers, finite state machines | Start thinking about a user interface for NIM. Make the NIM circuit play against itself |
| Fri, 1/15 | The final phase of the NIM project | Finish the NIM circuit by implementing the user interface |
| Wed, 1/20 | Multiplication, memory, computer architecture, final project | Implement a 4-bit multiplier, and design an instruction set for your final project |
| Thu, 1/21 | Computer architecture, final project | Complete the high-level design of your computer, and start by implementing the clock and memory circuits |
| Fri, 1/22 | Computer architecture, final project | Implement a basic working version of your computer by Monday |
| Wed, 1/27 | Chip design | Add one new instruction to your computer; start working on the report |
| Thu, 1/28 | Final project | Finish your computer and write a report |
| Fri, 1/29 | Wrap-up |