A new approach to computer science in the liberal arts