Boolean algebra, logical gates. Simplification of logical functions. Combinatorial circuits (analysis and design of adders, subtracters, code converters, comparators, multiplexers, decoders, ROMs, PLAs, etc.). Clocked sequential circuits (latches and flip-flops, analysis and synthesis of clocked sequential circuits). Registers, counters and memory circuits. Algorithmic state machines. Asynchronous sequential circuits.