Foundations of discrete mathematics. -- Groups. -- The PĆ³lya theory of enumeration. -- Applications of group theory to computer design. -- Group codes. -- Semigroups. -- Finite-state machines. -- Rings and fields. -- Linear -finite-state machines. -- Boolean algebra with applications to computer design.