“編程,從娃娃抓起”是現(xiàn)在流行的一句話(huà),少兒編程的核心理念是培養(yǎng)孩子們的編程思維,但是這只是給家長(zhǎng)闡述的結(jié)果,很多家長(zhǎng)不知道少兒編程如何塑造孩子的編程思維。
例如:假設(shè)我們要編寫(xiě)一個(gè)程序來(lái)構(gòu)建一個(gè)房子的雛形,首先我們需要分解成將“房子”拆分成“房間”,分別確定不同區(qū)域的裝修風(fēng)格、電路設(shè)計(jì)等,然后通過(guò)尋求共同點(diǎn),拋開(kāi)分歧,忽略一些小細(xì)節(jié),形成整體解決方案,然后再執(zhí)行。
下面,我們將對(duì)編程思維再進(jìn)行分解,分析孩子們?cè)诰幊讨锌梢詫W(xué)習(xí)到的各種邏輯思維方式。
分解思維
當(dāng)然,首先要說(shuō)的是:把復(fù)雜的、巨大的問(wèn)題分解成小問(wèn)題的思維途徑。
以烹飪?yōu)槔?,我們首先可以把活?dòng)分解成三個(gè)任務(wù):“買(mǎi)食物”、“洗食物”和“做飯”。實(shí)際上,每個(gè)小任務(wù)都可以進(jìn)一步分解為不同的小任務(wù)來(lái)解決。
框架思維
分解問(wèn)題之后,第二步是識(shí)別,這意味著單獨(dú)地查看每個(gè)小問(wèn)題,思考它,并尋找解決方案。
在這里,我們必須把我們?cè)诘谝徊街蟹纸獾膯?wèn)題集合起來(lái),構(gòu)建一個(gè)框架,然后用東西填充它。以烹飪?yōu)槔?。按時(shí)間順序安排這三個(gè)任務(wù),并深入挖掘每個(gè)任務(wù)的行動(dòng)細(xì)節(jié)。這樣更容易避免遺漏和混淆,提高解決方案的效率。
抽象思維
在完成了一般框架的構(gòu)建之后,我們需要關(guān)注幾個(gè)節(jié)點(diǎn),忽略一些細(xì)節(jié)來(lái)形成解決方案的思路。
這一步,我們要學(xué)會(huì)中斷,分析問(wèn)題的核心,很多不必要的細(xì)節(jié)要模糊,刪除,減少浪費(fèi),提高效率。
計(jì)算思維
我們還是以烹飪場(chǎng)景為例。假設(shè)今天有客人在家里,我們會(huì)根據(jù)客人的口味來(lái)考慮今天的菜式。然后問(wèn)題來(lái)了,我們需要買(mǎi)什么材料?我們?cè)撛趺刺幚磉@些材料?這些都是需要解決的問(wèn)題。
而計(jì)算思維是解決方案的核心。例如,在購(gòu)買(mǎi)蔬菜的過(guò)程中,我們會(huì)選擇更新鮮、更劃算的攤位來(lái)購(gòu)買(mǎi)蔬菜。這就是“在線(xiàn)算法”。
當(dāng)我走出市場(chǎng),我發(fā)現(xiàn)仍然有未購(gòu)買(mǎi)的成分。根據(jù)剛才走的路線(xiàn)去回憶和尋找合適的店主來(lái)購(gòu)買(mǎi)的這個(gè)行為,就是計(jì)算思維中的“推回”。
當(dāng)然,對(duì)于不從事計(jì)算機(jī)行業(yè)的普通人來(lái)說(shuō),這些行為可以用另一種方式來(lái)更好地理解——社會(huì)經(jīng)驗(yàn)。