 Cotton was born in Lower Hutt on 27 March 1930, the son of Hilda Mary Josephine Cotton (née Gibbons) and geologist Sir Charles Cotton.He was educated at Hutt Valley High School, and then Christ's College from 1944 to 1947.He studied at Victoria University College, graduating with a Master of Arts with third-class honours in 1953, and then the London School of Economics.