Explain the four pillars of computational thinking found in the article by Yadov et al. (2019): Abstraction, Decomposition, Pattern and Debugging.