Error detection and correction codes. Minimization of switching functions by Quine-McCluskey (tabular) methods. Minimization of multiple-output circuits. Reed-Muller polynomials and exclusive-OR circuits. Transient analysis of hazards. Hazard-free design. Special properties of switching algebra. Programmable logic devices. Analysis and synthesis of fundamental-mode and pulsed-mode sequential circuits. Test sets and design for testability.