Computational Thinking (CT) adalah sebuah pendekatan dalam proses pembelajaran. CT memang memiliki peran penting dalam pengembangan aplikasi komputer, namun CT juga dapat digunakan untuk mendukung pemecahan masalah disemua disiplin ilmu, termasuk humaniora, matematika dan ilmu pengetahuan. Siswa yang belajar dimana CT diterapkan dalam kurikulum (proses pembelajaran) dapat mulai melihat hubungan antara mata pelajaran, serta antara kehidupan di dalam dengan di luar kelas.
pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun suatu program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan pada banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
mengapa pemrograman dengan computational thinking berhubungan erat satu sama lain dikarenakan mengimplementasikan computational thinking pada pemrograman diperlukan untuk pemrosesan algoritma sampi dengan pembuatan source code