Integrating Computational Thinking with STEM disciplines: The Why, What, and How