Computational thinking merupakan pendekatan yang digunakan dalam menyelesaikan masalah dengan 4 fondasi yaitu :
Decomposition adalah keterampilan seseorang dalam menguraikan atau menjabarkan sebuah masalah menjadi sub-bab atau bagian-bagian yang sederhana atau lebih agar dapat dengan mudah diidentifikasi informasi-informasi penting guna merumuskan alternatif masalah yang bisa diajukan
Pattern recognition Merupakan keterampilan untuk mengidentifikasi pola-pola tertentu baik itu persamaan, perbedaan, bentuk dari informasi yang didapat pada tahap decomposition,
Abstraction, merupakan keterampilan mengeneralisir pola-pola yang didapat dari tahap pattern recognition, yang kemudian dijadikan dasar dalam perumusan alternatif pemecahan masalah /solusi
Algorithms, merupakan keterampilan menjabarkan alternatif pemecahan masalah/solusi kedalam langkah-langkah yang terstruktur dan sistematis