
從業(yè)以來,經(jīng)常有學(xué)生的家長咨詢我:“老師,我家孩子數(shù)學(xué)成績一般,能學(xué)編程嗎?”
我的回答始終是:能,而且很可能正是因為數(shù)學(xué)不好,才更應(yīng)該學(xué)編程。
先別急著劃等號
很多家長下意識覺得:編程 = 敲代碼 = 數(shù)學(xué)要好。這個想法其實把編程想窄了。
編程的核心是什么?是邏輯,不是算術(shù)。是解決問題,不是背公式。是把大問題拆成小步驟,不是解方程。
一個孩子算術(shù)慢、分數(shù)算不清,不代表他邏輯混亂、不會思考。我教過的孩子里,有的數(shù)學(xué)考試剛及格,寫起游戲腳本來卻頭頭是道——因為他能想明白“如果角色碰到障礙物,就往回走一步”這個因果關(guān)系。
編程需要的“數(shù)學(xué)”,不是你想的那種
編程確實會用到數(shù)學(xué),但主要集中在幾個方向:
· 圖形化編程(Scratch)需要坐標(biāo)、方向、角度
· Python入門需要比較大小、判斷奇偶
· 算法進階需要邏輯推理、找規(guī)律
這些本質(zhì)上都是小學(xué)中高年級就能掌握的基礎(chǔ)邏輯,跟奧數(shù)、微積分沒什么關(guān)系。
而且,編程有個好處:錯了立刻能看到結(jié)果。一個循環(huán)寫錯了,程序不運行;變量名寫反了,輸出不對。這種即時反饋,反而能幫孩子慢慢建立對“邏輯”和“數(shù)字”的體感。
我見過太多“數(shù)學(xué)不好,編程卻不錯”的孩子
在我的課堂上,有個男孩小陳,五年級,數(shù)學(xué)經(jīng)常七十多分。家長猶豫要不要讓他學(xué)編程,我說試試看。
結(jié)果他學(xué)Scratch不到一個月,自己做了一個“大魚吃小魚”的小游戲,還加上了計分和倒計時。為什么?因為他喜歡玩游戲,編程讓他有機會自己創(chuàng)造規(guī)則。這種成就感,他在數(shù)學(xué)試卷上很少體驗到。
還有個女孩,數(shù)學(xué)應(yīng)用題讀題慢,但學(xué)Python做海龜繪圖時,能很耐心地調(diào)整每一步的坐標(biāo)和角度,畫出特別漂亮的對稱圖形。她說:“數(shù)學(xué)題我看不懂,但這個圖形我知道怎么一步一步畫出來?!?/p>
那編程到底能幫數(shù)學(xué)什么?
這才是問題的關(guān)鍵。編程不是數(shù)學(xué)的替代品,但可以是數(shù)學(xué)的腳手架。
· 編程讓孩子看到抽象概念的實際應(yīng)用:變量、坐標(biāo)、隨機數(shù),在游戲里都是活生生的。
· 編程訓(xùn)練“步驟化思維”:解數(shù)學(xué)應(yīng)用題,其實就是把文字拆成可執(zhí)行的步驟——這和寫程序完全一致。
· 編程帶來的自信,可以反哺數(shù)學(xué):當(dāng)孩子發(fā)現(xiàn)自己能寫出一段可運行的程序,他會覺得“我也能學(xué)好邏輯”,這種心態(tài)變化,對數(shù)學(xué)學(xué)習(xí)很有幫助。
當(dāng)然,我也不會說大話
如果孩子數(shù)學(xué)基礎(chǔ)實在太薄弱——比如兩位數(shù)加減都經(jīng)常錯、完全看不懂簡單的圖表——那確實建議先把最基礎(chǔ)的計算和閱讀理解補一補,再來學(xué)編程會更順暢。
但對于絕大多數(shù)“數(shù)學(xué)一般”“數(shù)學(xué)不太好”“害怕數(shù)學(xué)”的孩子來說,編程不僅不是障礙,反而可能是一個新的起點。
給淮南家長們的三點建議:
1. 別用數(shù)學(xué)成績預(yù)判編程能力。先讓孩子試一兩次課,看他有沒有興趣、能不能跟上邏輯。
2. 從圖形化編程(Scratch)開始,不要一上來就學(xué)C++或Python代碼。拖拽積木的方式對數(shù)學(xué)弱的孩子非常友好。
3. 關(guān)注過程,別只看結(jié)果。孩子能把一個角色的移動邏輯說清楚,比能不能寫出完美代碼更重要。
最后說句實在話
我們的孩子,不比任何地方的孩子差。數(shù)學(xué)成績只是一個切面,編程看的是另一面——有沒有好奇心,能不能堅持,愿意思考“如果……那么……”。
如果你家孩子數(shù)學(xué)不好,但喜歡玩游戲、喜歡問為什么、喜歡搭樂高或者拆東西,不妨帶他來試試編程。
也許他缺的不是數(shù)學(xué)能力,而是一個讓他覺得“我能行”的戰(zhàn)場。