Fostering ethical thinking in computing