Computer science and computational thinking