Ham was born on 20 October 1951 in Cairns, Queensland. His father was a Christian educator who settled his family in Brisbane, working as a school principal. Ham earned a Bachelor of Applied Science degree from Queensland Institute of Technology. He also earned a diploma in Education from the University of Queensland.