Using the Game Development Process to Teach Computational Thinking