Philosophy of science books every computer scientist should read