Computational Thinking Four Main Types