The essence of computational thinking is abstraction and automation.