This PDF explains in detail the cause of bounce and circuits that can be used to debounce the circuit. The paper also provides the math that can be used to figure out the best component values to use for the capacitor and resisters and how to use NAND Gates for more sophisticated debounce circuits.