breadwalk
2016
發(fā)布于 2019-03-05
正好這兩天在看scratch,寫點想法。

首先,業(yè)界大拿的傳送門:https://www.ted.com/talks/mitch_resnick_let_s_teach_kids_to_code?language=en#t-962452

我個人認為,少兒編程對于孩子思維能力的提高,作用有限。

編程最重要的,不是語言,而是算法和架構(gòu)。而算法性的問題,歸根結(jié)底都是數(shù)學(xué)邏輯,編程只是展現(xiàn)解決方案的手段和方式,是邏輯驅(qū)動編程而不是本末倒置。數(shù)學(xué)思維好的同學(xué),其代碼的執(zhí)行效率也是非常突出的。當(dāng)然,對計算機的體系結(jié)構(gòu)要有一定的理解。關(guān)于算法的重要性,推薦一本入門讀物《編程之美》。如果我們希望通過某個課程訓(xùn)練孩子的邏輯,我認為,數(shù)學(xué),而不是少兒編程,才是首選。

從身邊的樣本看,同事娃參加少兒編程的,大多已經(jīng)退出。純軟的課程項目,都是通過積木式編程入門,結(jié)構(gòu)設(shè)計相對簡單,難以持續(xù)調(diào)動孩子的熱情;而涉及到軟硬結(jié)合的課程,復(fù)雜性和專業(yè)程度、性價比又不如初級的嵌入式,只是在外面套上一層漂亮的封裝。如何設(shè)計一套符合孩子認知和能力的課程,同時又能滿足程序猿爸爸們的口味,看來并非簡單的事。

但編程本身是很好的實踐活動。傳統(tǒng)的課程,比如樂高和科學(xué)實驗,更強調(diào)實物的觸感、現(xiàn)象和由此衍生的想象力和常識。而編程完全是虛擬的,不受任何時空限制,沒有試錯成本,孩子可以充分發(fā)揮自己的創(chuàng)造力,創(chuàng)造任何他想看到的動畫、游戲和禮物。

如果孩子對編程(其實是通過編程實現(xiàn)某種工程性的項目,比如動畫、小游戲和機器人等)感興趣,我認為,不妨先把重心放在培養(yǎng)他對工程的興趣上,讓他獲得參與感和成就感,建立圖像、音視頻和交互、流程等方面的概念。然后,再和數(shù)學(xué)相結(jié)合,沿著自己的興趣方向有所側(cè)重的發(fā)展。

具體來說,利用好編程,我認為,可以提高孩子這幾方面的能力:

專注力與意志力

有過編程經(jīng)歷的爸爸媽媽都知道,寫程序不是一蹴而就的美差,伴隨著設(shè)計、調(diào)試、優(yōu)化,需要高度的專注力。

對孩子而言也一樣。少兒編程提供了很多積木化的組件,當(dāng)孩子產(chǎn)生想法后,他需要思考怎么利用、組合這些模塊。而當(dāng)小程序、小模塊成型后,需要驗證輸出、效果是否和設(shè)想的一致,如果不一致,偏差的原因是什么,哪里需要調(diào)整。基本功能完成后,他可以再優(yōu)化布局、優(yōu)化模塊,使之成為一件藝術(shù)品。

這個過程沒有高度的專注,是很難有效率地完成的,尤其調(diào)試和驗證是一個考驗?zāi)托牡臒X活動。當(dāng)程序如孩子所愿表達出完美的效果時,他在這個過程中也會收獲專注的慣性。

邏輯能力

這里的邏輯能力不是指智商,而是思維的條理性和縝密性。

從我有限的了解看,目前少兒編程主要是面向過程+事件驅(qū)動,也就是說孩子需要預(yù)先設(shè)計和規(guī)劃好流程,比如精確的方位移動。同時,窮舉事情發(fā)生的所有可能(比如消息和事件的處理),最終通過if/else/while/when等表達。

過程設(shè)計鍛煉孩子思維的條理性,而事件應(yīng)對和異常處理則是鍛煉思維的縝密性。剛?cè)腴T的孩子,寫程序的時候往往考慮不周,我們很容易找出一些漏洞(比如輸入與預(yù)期不一致、機器人遇到障礙物時的處理),而通過一起玩游戲、分析,可以有意識地引導(dǎo)孩子培養(yǎng)縝密的思維。

抽象與設(shè)計的能力

一個好的作品,不一定復(fù)雜,但一定有很好的設(shè)計,具體來說就是模塊化、接口、分層等。

這就像我們畫畫一樣。首先確定一個主題,然后設(shè)定布局,接著描繪輪廓,最后填充,使之豐滿。

編程也是如此。孩子首先需要提煉需求,明確工程的目的。然后分解功能,人機交互分為哪些話題模塊,計算器需要哪些運算單元等。接著,設(shè)計各模塊間的接口,調(diào)用關(guān)系。而寫程序本身,只是實現(xiàn)功能的一個具體步驟而已。

平常的課程學(xué)習(xí),多是離散的知識點,應(yīng)該很難提供這種從現(xiàn)實到抽象、又從抽象到具體到細節(jié)的思維鍛煉。我們不妨跳出編程本身,而從軟件工程的角度來看待孩子玩編程,會對孩子的收獲有一個更全面的認識。

協(xié)作的意識

除了課外實踐,在課堂上孩子相互合作的機會是不多的。而編程提供很好的契機。

當(dāng)編程入門后,慢慢地就會接觸到越來越大的程序設(shè)計題,而孩子也會從成就感里產(chǎn)生更多的想法。這時就產(chǎn)生合作的需要:挑戰(zhàn)更大的主題,把大作品分解為多個模塊,各自完成,相互配合。

大學(xué)里有很多軟件、硬件相關(guān)的比賽,比如ACM、數(shù)學(xué)建模、挑戰(zhàn)杯等賽事,無一例外強調(diào)組隊參加、團隊合作,這是強調(diào)個體的傳統(tǒng)課堂方式無法培養(yǎng)的特質(zhì),也是在孩子玩編程時我們可以有意識引導(dǎo)的一點。

one more thing

這兩年少兒編程確實比較火,但這些入門級的課程和培養(yǎng)編程大牛,在我們看來,對大多數(shù)人而言,其實關(guān)聯(lián)有限。

從我身邊的例子看,有化學(xué)轉(zhuǎn)行做AI,物理轉(zhuǎn)行做即時通信,法學(xué)轉(zhuǎn)行做前端,發(fā)展都很好,而他們無一例外有幾個特質(zhì):思維(邏輯和想象)能力很強,對計算機感興趣(不僅是職業(yè),更是熱愛,享受燒腦的盛宴),持續(xù)學(xué)習(xí)的能力(互聯(lián)網(wǎng)和技術(shù)熱點切換太快)。

這些特質(zhì),我相信更多是通過基礎(chǔ)課程的學(xué)習(xí)來獲得。畢竟,編程課本身只是提供開發(fā)環(huán)境、語言學(xué)習(xí)和一些案例入門,它只能告訴孩子怎么做,而無法從解釋為什么。

所以,我們不妨把它當(dāng)作一扇門,引導(dǎo)孩子進入工程學(xué)科的世界,初步理解現(xiàn)實世界與虛擬運行的映射,享受解決問題的成就感,驅(qū)動他去學(xué)習(xí)計算機科學(xué)背后所涉及的復(fù)雜理論。我想,這樣應(yīng)該更能享受少兒編程的樂趣。

有空再補充,歡迎指正。
回應(yīng) 舉報
贊7
收藏44

推薦閱讀

5歲
14歲
想法
我家娃6歲多時看了一些Scratch的書,參加過編程一小時活動,回家就自己編了一個故事,用Scratch做出來,用的軟件素材庫里的小動物做角色,自己配的音。7歲整上了9次編程課,自己很喜歡,每天遇到一些事情就自己嘀咕如果變成程序的話,是if這樣,then那樣,else那那樣,還得插幾個loop啥的。但是我實在受不了她在電腦前面一坐一個多小時,而且事后也不去戶外活動,休息眼睛。所以初級課上完了就沒有繼續(xù)下去。

上了幾次編程的意外收獲是娃在數(shù)學(xué)方面很開竅了,老師講圖形對稱的時候...
9歲
16歲
想法
謝花編的邀請!很榮幸!

我是一名職業(yè)女程序員,女兒10歲!目前,我家沒有報樂高以及編程班。

倒不是對編程有什么看法,只是就是這樣而已!我也沒有在家給開小灶,只是買過一套樂高wedo2.0!說實話,用慣了編程語言,這種被包裝的圖形化編程,我也會一時轉(zhuǎn)不過彎來!需要有個熟悉的過程!但是只要稍微摸索一下,掌握起來倒是很快!

其實學(xué)編程跟學(xué)說話是一個道理!重要的是想表達什么,其次才是組織語言!在這里,(編程)語言是思想表達的一種工具,英語,法語,西班牙語,對應(yīng)著,C,JAVA,...
9歲
想法
學(xué)編程有收獲嗎?是不是有必要?

回答:我家從2013年開始學(xué)樂高機器人的,當(dāng)時孩子才小學(xué)一年級。學(xué)機器人純屬興趣娛樂,家里有三盒機器人,但只會按圖搭建,下載程序,不會即興發(fā)揮創(chuàng)造自己的作品。所以就報了個班,一學(xué)就是六年,說實話沒有一個人陪我們一起堅持下來。

興趣使然,學(xué)了NXT,又學(xué)EV3。收獲肯定是有的,練就了編程思維與邏輯思維,提高了數(shù)學(xué)成績(數(shù)學(xué)老師總是夸獎孩子,說他是班里邏輯條理最清晰的孩子)。增強動手能力也是一方面吧,還有團隊合作能力。但感覺在提升創(chuàng)造力方面,我...
13 33 2
9歲
想法
我家兩歲開始玩桌游,家里也有許多編程類的桌游。一年級開始上樂高課學(xué)機器人,現(xiàn)在已經(jīng)學(xué)第六年了。

列幾個適合小學(xué)低年級的編程桌游,一度被兒子跟外甥嘲笑說,我們這么大了,還給我們玩這么小兒科的游戲。

osmo也是很有名的編程游戲,相對來說也不難,但我兒子超喜歡。

去年發(fā)現(xiàn)兒童編程很火,孩子也很感興趣,所以也想讓孩子學(xué)一個。于是我學(xué)習(xí)了一下,有好幾種,比如scratch,python,c語言,java等等。但說實話,對這類知識一竅不通,隔行如隔山,所以可想而知,我也沒弄大明白...
11歲
想法
可以去code.org這個網(wǎng)站學(xué),里面有從四五歲開始設(shè)計的一些列課程,全是公益性的。scratchjr元素比較少,我感覺適合六歲孩子玩玩,用來產(chǎn)生興趣,比如在里面一起做個跳舞動畫什么的。 正經(jīng)開始學(xué)怎么也要小學(xué)開始。
其實,編程也是孩子萬千興趣班的一種,有興趣,有投入就一定會有收獲。道理很簡單,哪里開花,哪里結(jié)果,哪里收獲。至于必要性,當(dāng)然是不必要。問題是現(xiàn)在變成火熱到,要讓大家覺得它有必要。這后面就不言而喻了。

學(xué)什么都不嫌多,技不壓身。但有沒有興趣,有沒有時間,有沒有精力,會持續(xù)吸引,不斷投入?這個倒是家長需要考慮的事情。另外,編程機構(gòu)是否有足夠的資質(zhì),可以有效地引導(dǎo)和指導(dǎo)孩子,大概也是非專業(yè)的家長很難掌控的因素。

從興趣來看,大多從小玩兒樂高這種拼插設(shè)計類玩具的孩子,都會天然地接...
14歲
想法
給孩子學(xué)編程完全是出于彌補自己的缺憾。高考報志愿幾乎全部是計算機相關(guān),最后卻考砸了去了唯一一個不相關(guān)的志愿。后來一直想做有關(guān)的事,卻有太多天不遂人愿。我父親是高校計算機教授,一直不主張女孩子學(xué)編程,現(xiàn)在看來只是四線小城的眼光格局所限。

之前給孩子學(xué)Scratch Jr只是跟風(fēng),覺得scratch字小傷眼,操作不便所以用了iPad的簡化版。后來也看宣傳片動心買了Lego Boost,家里還有別人送的米兔機器人??傮w來說都是玩兒。

后來因在某不熟的科技公司高管那里看到他兒子(...
5歲
9歲
想法
在我看來學(xué)習(xí)編程歸根結(jié)底還是學(xué)習(xí)一種思維方式,從這個角度來說只要是孩子能得到樂趣,學(xué)習(xí)就會有收獲。

從我個人的專業(yè)/工作經(jīng)驗來說,也稱不上十分系統(tǒng)的學(xué)習(xí)過計算機語言,但編程對我來說是一種必不可少的工具,畢竟沒有一種軟件能完全一條龍的實現(xiàn)自己想要的功能(這句話是完全與我個人專業(yè)和經(jīng)驗有關(guān))。想來,我自己還是很享受可以安靜坐在角落捋思路敲代碼的過程,喜歡這種邏輯性很強的事情。

說到底我想表達的是,讓孩子能多接觸各種項目是很不錯的事,但前提時孩子感興趣,起碼不反感…這樣才有可持...
14歲
想法
我自己是小學(xué)一年級開始學(xué)編程的,無非就是自己看幾本書學(xué)著敲代碼。如果你看到的編程課只是教Scratch的話,自己買幾本書也能搞定。我兒子是五歲多自己在iPad上玩ScratchJr。另外推薦一下codemonkey. 訂閱費小貴不過非常有趣,循序漸進。

不過這些主要是學(xué)著玩。我還是傾向于覺得數(shù)學(xué)是基礎(chǔ)。除非你打算培養(yǎng)孩子參加信奧(學(xué)C++),機器人競賽。所謂的人工智能也就是機器學(xué)習(xí),主要依據(jù)是統(tǒng)計理論。物理和數(shù)學(xué)打好基礎(chǔ)才是對相關(guān)職業(yè)最有用的。
8歲
10歲
想法
記得以前在大學(xué)學(xué)編程時,當(dāng)時的教授說如果你們之前沒有學(xué)過任何編程語言,一樣能在大學(xué)時學(xué)好。之前學(xué)過編程語言的也別驕傲,不一定學(xué)過就能拿高分。

然后教授重點講了編程的語言啥時候?qū)W都不算晚,重點在于如何培養(yǎng)編程思維,也就是解決日常問題的能力。思維差的人無論怎么學(xué)語言,最后只能淪為代碼技工。有清晰的思維并善于學(xué)習(xí)的人即便人到中年改行開始學(xué)寫代碼,也能成為優(yōu)秀的軟件開發(fā)工程師。

而培養(yǎng)思維可以從嬰幼兒開始。日常生活中高效完成各項任務(wù)。語言理解能力強能概括情況點出中心思想與問題根源...
breadwalk
breadwalk
2016
作者熱門分享
我理解的內(nèi)驅(qū)力  贊110 · 收藏596 · 評論25
兩歲娃的數(shù)學(xué)啟蒙體會  贊39 · 收藏212 · 評論6
從閱讀到自然的世界  贊23 · 收藏83 · 評論17
聊聊讀史這件小事  贊10 · 收藏31
英語交流的軟能力  贊8 · 收藏22 · 評論3