Berpikir Komputasional
Kerangka dan proses berpikir tentang perangkat keras (hardware), perangkat lunak (software), dan menalar (reasoning) tentang sistem dan persoalan sehari-hari. Menggunakan mode berpikir (thinking mode) yang didukung dengan pengetahuan teoritis dan praktis, serta teknik untuk menganalisis, memodelkan dan menyelesaikan persoalan.
Rekursi
Fungsi atau barisan dimana nilai dari fungsi atau barisan tersebut ditentukan/tergantung dari nilai fungsi/barisan itu sendiri secara rekursif, pada urutan nilai-nilai sebelumnya.
Suatu masalah dapat didekomposisi menjadi permasalahan yang serupa, namun ukurannya lebih kecil. Saat kita diminta untuk memindahkan satu kardus buku yang sangat berat dan tidak dapat kita angkat, kita akan membagi kardus tersebut ke dalam beberapa kardus yang lebih ringan sehingga pekerjaan tersebut menjadi lebih mudah untuk dikerjakan. Etika menghitung satu nilai faktorial, kita pun harus menghitung nilai faktorial yang lebih kecil. Misalnya, ketika menghitung 10 faktorial, kita juga harus menyelesaikan 1 faktorial, 2 faktorial, hingga 9 faktorial terlebih dahulu.
Algoritma Greedy
Greedy secara harfiah berarti rakus atau tamak. Meskipun dalam pengertian sehari-hari, kata “rakus” dan “tamak” memiliki konotasi negatif, namun dalam konteks Informatika, kita mengartikan greedy dalam konteks sebagai sebuah strategi penyelesaian masalah yang dapat berguna dalam merancang sebuah algoritma atau solusi bagi sebuah permasalahan komputasional. Oleh karena itu, diharapkan tidak ada konotasi negatif pada kata greedy dalam konteks ini.
Pemograman Dinamis
Saat menyelesaikan sebuah permasalahan optimasi (mencari nilai terbesar/terkecil), terkadang kita harus memperhitungkan beberapa kemungkinan pengambilan langkah untuk menyelesaikan permasalahan tersebut. Kemungkinan-kemungkinan tersebut mungkin memiliki akibat/konsekuensi terhadap langkah-langkah selanjutnya, sehingga pendekatan seperti teknik greedy mungkin tidak akan menghasilkan jawaban yang optimal. Dalam hal ini, teknik pemrograman dinamis atau dynamic programming (DP) mungkin akan lebih sesuai diterapkan.
Dekomposisi
Dekomposisi artinya membagi masalah kompleks ke bagian yang lebih kecil agar mudah diselesaikan.
Pengenalan Pola
Pengenalan pola artinya mencari kesamaan dan pola di antara bagian-bagian masalah kompleks yang sudah dipecah.
Abstraksi
Abstraksi artinya fokus pada informasi yang penting saja, mengabaikan detail yang tidak diperlukan.
Algoritma
Algoritma artinya membuat langkah-langkah penyelesaian atau membuat aturan yang diikuti untuk menyelesaikan masalah.