Computational Thinking and Computer Science Defined