Michael Giles — mathematician and computer scientist