很多家長都在疑惑,孩子學編程可以培養他們的編程思維,而編程思維是什麼?對孩子有什麼幫助?
今天,小編就這個問題和大家詳細聊一聊~
Part 01
什麼是編程?
在了解編程思維之前,首先要和大家說一說什麼是編程。
編程就是和電腦對話,用電腦能聽懂的語言,告訴它我們想讓它做的事情。
舉個例子來說:
如果我想休息一下,會這麼和孩子說:「把那個凳子搬過來。」
如果我們想讓電腦聽懂這句話,就需要這麼和電腦表達:
定義對象:什麼是「凳子」;
把凳子向上移動20釐米;
往前移動兩米;
把凳子向下移動20釐米
這樣,電腦就完成了我們想要它做的事情。
大家有沒有發現?相比於人類之間交流的隨意與感性,和電腦對話時,必須具備嚴謹、理性的思路,每一步都要給出準確的指令,這樣就能讓電腦按照自己的想法行動,不會讓結果跑偏。
想要讓電腦聽懂我們說的話,需要讓自己變得理性、嚴謹,思維具有條理。當孩子試著從電腦的角度去思考問題時,也就學習並鍛鍊到了我們常說的「編程思維」。
Part 02
編程思維是什麼?
很多人都聽過編程思維,但對它了解的卻不多,甚至會產生這種誤解——編程思維就是編程算法。
其實,編程思維並不是編寫程序的技巧,而是一種高效解決問題的思維方式,它是「理解問題——找出路徑」的高效思維過程,由分解、模式識別、抽象、算法四個步驟組成。
1、分解——鍛鍊拆解複雜問題的能力
分解,就是把一個複雜的大問題,拆解成更可執行、更好理解的小步驟。
假如孩子要為家庭出遊做一次旅遊規劃。「全家旅遊規劃」聽起來非常龐大、繁瑣,而學會分解的孩子則會把這個難題拆分成幾個容易解決的小任務——確立目的地、安排行程、預定機票和酒店、準備行李清單。
這是一位編程學員想要設計畢業作品,就用思維導圖拆解整個作品的邏輯思路,一步步解決了這些問題。
孩子在編程的過程中,就是在不斷地訓練他們把複雜的問題拆解、理順的過程。這個過程是解決問題的基礎,把問題拆解清楚,才有接下來實現的可能。正如麻省理工學院的計算機教授Mitchel Resnick所說:「 在學編程的過程中教孩子們學會拆分問題,這才是最重要的。」
2、模式識別——鍛鍊發現並整合「重複規律」的能力
模式識別,就是識別不同問題的模式和趨勢(共同點)的過程,在我們的經驗庫裡找出類似問題的解決辦法,套用解決。識別的模式越多,解決問題的速度也就越快。
例如,如果需要畫100隻貓,你會怎麼辦?是找100隻貓來臨摹還是找出貓的「模式」?
對貓進行模式識別,我們會發現貓有這些共同點:有眼睛、耳朵、尾巴、四條腿……我們根據這些特點建立起貓的「模式」,按照這個模式就能批量畫貓了。不用每次畫一個新動物,只需要變換局部特徵(例如毛髮顏色、尾巴長短)就能輕鬆解決。
這樣看來是不是效率瞬間飆升?
在編程過程中,孩子一直在進行著這樣的訓練,當發現一些可重複的步驟,就會把它們整合起來,建立模式;在遇到類似問題時就能讓計算機套用此模式,快速解決。
3、抽象——鍛鍊找出問題本質的能力
抽象,是指聚焦最重要的信息,忽視無用細節。簡單來說就是找到問題的本質,過濾掉其他無關緊要的因素。
例如,面前有一套房子,我們看到的是這樣的:
但是在建築師眼中,這套房子可能是這樣的:
通過抽象,建築師過濾掉對他來說無用的因素,找到了房子最重要的信息。
抽象思維高的孩子,能在大量信息中抓住關鍵信息,提高學習效率。不論是在做語文還是英語的閱讀理解中,抽象思維能力強的孩子總能很容易地找出關鍵句和中心思想,學習會更加輕鬆。
在編程世界裡,包含「子系統、模塊、包、類、方法和語句」等不同等級的抽象,孩子能夠通過編程的學習不斷提升聚焦關鍵信息的能力。
4、算法——鍛鍊高效解決問題的能力
算法是一步步解決問題的過程。根據前面對問題的分析與理解,設計每一步的路徑方法,解決整個問題。
在具體解決問題的過程中,最關鍵的是邏輯思維能力和調試糾錯能力。
電腦程式需要很強的邏輯性,邏輯順暢才能順利運行。例如,正確代碼呈現出的五角星動態圖這樣的:
而只是把其中兩行代碼交換下順序,結果就成了這樣:
孩子需要遵循編程的規則,把解決問題的步驟轉換成計算機能理解的語言。在這個過程中,孩子的邏輯思維能力能得到很好地鍛鍊。
而調試糾錯,就是當出現結果與預期不符時,需要找出算法之中的漏洞並解決。
在編程練習中,任何一行代碼出問題,程序都會出錯無法正常運行下去。這時,孩子就必須要自己一步步執行步驟、梳理邏輯,找出問題並想辦法解決。
這樣的過程可以鍛鍊孩子的耐心和抗挫能力,讓他以更加平和的心態面對挫折和失敗,同時觀察力和專注力也會得到很好的培養。
蘋果CEO賈伯斯曾說過:「每個人都應該學習編程,因為它教會你如何思考。」編程思維在各個行業都用得到,是未來人工智慧時代每個孩子都應具備的一種思維,在孩子思維成長期學編程不得不說是一個非常有遠見、明智的選擇。