您現在的位置是:首頁 > 動作武俠首頁動作武俠
為什麼說學習程式設計能培養孩子的邏輯思維?
- 2022-12-24
貪吃蛇為什麼撞別人自己死
前次推文中簡要的說了一下程式設計學習的好處,之後有好幾位家長私信詢問詳情,想知道如何透過程式設計培養自家孩子的邏輯思維。
那今天樂哥就來說一說程式設計和邏輯思維的那些事兒。
為什麼樂哥會說孩子能從中獲得自己的“邏輯感”,因為程式設計有幾大關鍵性步驟!
拆:化繁為簡
化繁為簡,這四個字很容易理解,不過不容易做到。
很多時候我們看到一個難題的第一反應會是:
天啊,這麼大的事情我一個人怎麼完成哦。
我不知道
我不行
我做不到。
卻不知道將問題分成一個個能力之內、力所能及的小事情。這一點很多人都需要跟愚公學習。
愚公移山的故事大家肯定都知道,一個想依靠人力將王屋、太行兩座大山搬移開來的老頭,在很多人看來愚公是十分的痴心妄想。
就像隔壁家另一個老頭所說,這是非常愚蠢的做法。
甚矣,汝之不惠。以殘念餘力,曾不能毀山之一毛。——《愚公移山》智叟,語
但是換個角度來看,愚公其實是一個很懂得程式設計“化繁為簡”的思路。
他並不把王屋太行當做兩座難以逾越的大山,而是把他們看成一筐筐的土石,一點一點的搬移,總能清除掉的。
雖我之死,有子存焉;子又生孫,孫又生子;子又有子,子又有孫;子子孫孫無窮匱也,而山不加增,何苦而不平?
——《愚公移山》愚公,語
以遊戲編寫為例,對於新手來說哪怕是最簡單的遊戲貪吃蛇,想要編寫成功也是件不小的難題,可是如果將這個問題拆解開來,我們需要做的事情是,設定輸入方式和反應方式。
根據遊戲特性,貪吃蛇沒吃到食物時繼續遊動,吃到食物後會變大,撞到牆會死,撞到自己沒事。
然後我們在設計程式時將這四種分開,針對一種情況設定遊戲,比如“貪吃蛇吃到食物”:
貪吃蛇張開嘴巴→食物被吃掉→貪吃蛇閉上嘴巴→貪吃蛇身體長大一截。
另外幾種情況也依次分解,那麼這個複雜的問題看起來也就沒那麼麻煩了,不是麼?
同時,在這個過程中,孩子能親身到“條分縷析”“有條不紊”的真正含義。
整:發現整合
任何一個程式中都不是相互分割無關的資料組成,相反,一個程式中會存在很多“重複”內容。
比如,貪吃蛇中的“吃食物”動作,一個遊戲中貪吃蛇會吃到很多次食物,這也就是前面說到的“重複”。
程式設計過程中,孩子需要一直做這樣的訓練,發現程式中會一直持續的動作,然後將它打包起來,讓計算機自己重複,以提高編寫效率。
這一點,類似於數學中的“合併同類項”計算題。
3ab-4ab+8ab-7ab+ab=(3-4+8-7+1)ab
只不過相對於數學的單一,程式設計的趣味性更強。
學會利用這一點,孩子就能學會整合訊息的能力。
因為整合並不是簡單相加,而是對現狀的最佳化,也是推陳出新的方式之一。
析:邏輯解讀
其實程式設計也是 一種語言,只不過和人與人之間溝通不同的是,這種語言是人與計算機的溝通。
理性、嚴謹是計算機的特性,所以與它對話的語言也必須是理性的,嚴謹的,不能出半點偏差的
。
“較真”,是外界對程式設計師們的評價,也是每一個程式設計師所遵守的信念。
仍舊以貪吃蛇遊戲程式為例,如果某處思考出現漏洞,遊戲過程中就可能會出現“貪吃蛇撞了牆沒死”或者“貪吃蛇吃到食物沒有變大”等bug,那麼這就是一個失敗的遊戲程式。
因此,學習程式設計,就是在對孩子的邏輯思維和邏輯判斷能力進行訓練。
改:查缺補漏
人的一生不可能不犯錯。其實犯錯也沒什麼,改了就好。
而“改正”就是程式設計帶給孩子的邏輯能力中最重要的一項
。
上面樂哥提到,遊戲中會存在一些bug,這是最初設計時的思維漏洞,需要糾正。其實不止於此,但凡程式中出現與預期不一樣的執行結果,都需要進行調適、修正。
這個過程很麻煩,因為
有些bug不是一下子就能找到的,常常需要從頭梳理,十分考驗人的耐心和細心程度
。
不過也正因此,才更能磨練出孩子的品性,同時也能教會孩子反思反省意識。
其實,即便不學習,隨著年齡增長,孩子也會逐漸擁有自己的邏輯思維。透過其他見識的增加,邏輯思維也能獲得補充。
但是程式設計賦予孩子的更具理性化,也更趨嚴謹。
最重要的是,少兒程式設計能將這種邏輯思維帶入孩子的成長過程中,使其更早從理性邏輯思維中獲得助益!