Computational Thinking Practices and Skills