A classic gate evolves or changes a classic state. For example, if we have two classic registers, containing the bits 0 and 1 respectively, an OR classic gate would take these two bits as input and produce the value of 1. Other examples of classic gates include AND, NOT, XOR (exclusive or), and NAND (negative and). Some gates, XOR, AND, and NAND, for example, require two bits as input, and output one bit. Other gates, NOT being an example, take one bit as input, and output one bit. Still other gates take m-bits as input, and output n-bits for some choice of integers m and n.
It turns out that, with just one type of gate, NAND, we can construct any other type of classic logic gate. Thus, any classic computation can be written to be made of only NAND gates. There are other subsets of classic gates where just those gates would be enough to perform any classic computation. Another example would be that we could perform any classic computation with the AND and NOT gates alone. We'll call a set of gates that is enough to perform any classic computation, a universal gate set. Two such sets we've already given examples of: the NAND gate forms a universal gate set and AND and NOT gates together form another universal gate set.