Bago ka magsimulang mag-coding upang turuan ang isang computer na lutasin ang isang partikular na problema, karaniwang kailangan mong unawain ang problema sa iyong sarili, maghanap ng solusyon, at pagkatapos ay turuan ang isang computer na harapin ito. Ang computational thinking ay isang paraan upang gawing mas mabilis at mas madali ang prosesong ito, ngunit hindi ito limitado lamang sa programming at maaaring ilapat sa iba't ibang bahagi ng ating buhay.

Ang Computational Thinking (CT) ay isang konsepto na tinatawag ng mga eksperto sa industriya bilang 'code to success' at 'vital skill'. Kahit na ito ay medyo simple, ang CT ay maaaring makatulong na higit pa sa software programming. Ang termino ay unang iminungkahi noong 1980 ni Seymour Papert, isang mathematician at computer scientist, bilang isang paraan upang mas mahusay na malutas ang iba't ibang mga problema at gawain na nauugnay sa programming.

Ang CT ay isang hanay ng mga pamamaraan na nagsasangkot ng pagkuha ng isang kumplikadong problema at paghahati-hati nito sa isang serye ng mga mas maliliit na problema na mas madaling pamahalaan, pati na rin ang pagpapahayag ng kakanyahan ng isang problema at ang solusyon sa mga paraan na maaaring isagawa ng isang computer.

Paano gumagana ang Computational Thinking?

Ang Computational Thinking bilang isang pamamaraan ay binubuo ng apat na pangunahing pamamaraan, na ang decomposition, generalization/abstraction, pattern recognition/data representation, at algorithm. Ang mga ito ay pantay na mahalaga at epektibo kapag inilapat (sa isang problema) sa tamang pagkakasunud-sunod.

Pagkabulok

Magsisimula ka sa decomposition, na naghihiwalay sa isang problema sa ilang mas maliliit na problema na mas madaling lutasin nang paisa-isa.

Abstraction (paglalahat)

Pagkatapos ay magpapatuloy ka sa isang partikular na gawain/problema, na eksklusibong nakatuon sa impormasyong mahalaga upang malutas ito at binabalewala ang lahat ng iba pa.

Pagkilala ng pattern (representasyon ng data)

Ang susunod na hakbang ay naghahanap ng mga pagkakatulad sa pagitan ng problemang kasalukuyan mong ginagawa at iba pang mga problema na nalutas na dati (na may magagamit na solusyon). Ang layunin ay makahanap ng mga pattern na maaaring ilapat sa iyong kasalukuyang gawain.

Algorithm

At sa wakas, pagkakaroon ng mga resulta ng paglalapat ng mga nakaraang hakbang sa lugar, bumuo ka ng isang algorithm para sa isang hakbang-hakbang na solusyon sa problema. Ang isang algorithm pagkatapos ay maaaring isagawa ng isang computer (o ang iyong utak, na siyang pinakahuling gawain sa paglutas ng computer sa iyong buhay).

Paggamit ng Computational Thinking

Ang pag-alam kung paano gamitin ang CT kapag nakikitungo sa mga isyu at gawain na regular na kinakaharap ng karamihan ng mga developer ng software ay maaaring maging lubhang kapaki-pakinabang sa iyong karera sa coding.

Narito ang isang mabilis na gabay sa kung paano simulan ang paglalapat ng computational na pag-iisip sa alinman sa mga gawain sa pag-coding o halos anumang mga seryosong problema na maaari mong harapin sa iyong personal na buhay.

Paglalapat ng agnas

Ang decomposition ay medyo simple ngunit makapangyarihang pamamaraan, na makakatulong sa iyo na harapin ang mga problema/gawain na tila masyadong kumplikado sa unang tingin, at sa gayon ay kadalasang nagdudulot ng pagpapaliban at iba pang kahirapan. Ang susi dito ay upang sanayin ang iyong utak na gumamit ng decomposition sa isang regular na batayan, paghahati ng isang gawain sa ilang mas maliliit na gawain na mas madaling lutasin. Kahit na ang agnas ay maaaring mukhang isang napaka-simple at kahit na malinaw na paraan, magugulat ka kung gaano karaming mga tao ang hindi nakakaalam nito, na ginagawang mas mahirap para sa kanila na magsimulang magtrabaho sa malalaking, pandaigdigang mga gawain (tulad ng pag-aaral ng Java, Halimbawa).

Paglalapat ng abstraction

Ang pag-alam kung paano mag-apply ng abstraction ay isang malakas na kakayahan kung alam mo ang pamamaraan at sinanay ang iyong utak na gamitin ito nang walang kamalayan. Ang abstraction ay tungkol sa eksklusibong pagtuon sa impormasyong kinakailangan upang malutas ang gawain habang binabalewala ang lahat ng iba pa. Ginagamit sa kumbinasyon ng agnas, ito ay karaniwang paraan upang lapitan ang halos anumang problema o isyu sa iyong buhay. Kapag nakikitungo sa mahigpit na mga gawain sa pagprograma, ang abstraction ay nakakatulong upang tumutok at maiwasan ang iyong utak na maubos nang masyadong mabilis.

Paglalapat ng pattern recognition

Ang pagkilala sa pattern ay isang mahalagang kasanayan sa coding, dahil pinapayagan ka nitong malutas ang mga gawain nang mas mabilis sa pamamagitan ng paglalapat ng mga pattern ng pag-iisip na pamilyar at komportableng gamitin ng iyong utak. Ito rin ay isang makapangyarihang pamamaraan upang magamit sa mga pangkalahatang problema sa buhay: subukan lamang na suriin ang anumang mga isyu na kinakaharap mo sa iyong buhay at hanapin (at humiram) ng mga pattern mula sa mga bahagi ng iyong buhay na gumagana nang kasiya-siya, na inilipat ang mga ito sa kasalukuyang problema.

Paglalapat ng mga algorithm

Kung iisipin mo, ang buhay natin ay tungkol sa pagbuo ng mga algorithm. Tinatawag natin silang mga gawi. Ang aming utak ay may posibilidad na umasa sa mga gawi sa bawat solong araw, dahil lamang ito ay mas mahusay at sa gayon, praktikal. Ang tanging problema ay karamihan sa atin ay may posibilidad na gawin ito nang hindi sinasadya, na kadalasang nagreresulta sa pagbuo ng mga mali at nakakapinsalang algorithm (tinatawag natin silang masamang gawi o pagkagumon). Ang pag-alam kung paano bumuo ng mga kapaki-pakinabang na algorithm nang sinasadya ay maaaring maging lubhang kapaki-pakinabang na kasanayan sa buhay, na nagbibigay-daan sa iyong makamit ang iyong mga layunin at maging matagumpay. Pagdating sa programming, ang pag-alam kung paano bumuo ng isang algorithm upang malutas ang isang partikular na problema sa pinakamabilis at mahusay na paraan ay kung ano ang pagkakaiba ng isang tao na alam lamang kung paano mag-code mula sa isang may karanasan na propesyonal na computer programmer.