編程作為一種工具,是為了讓孩子找到一種適合自己的學(xué)習(xí)方式,終的目的是讓每一個孩子能夠更加主動、的學(xué)習(xí)。所以任何脫離了這個目標(biāo)的編程教學(xué),或多或少都是有一些欠缺的。我覺得對待編程學(xué)習(xí),應(yīng)該有的態(tài)度是:
觀點1:編程教學(xué)終的目標(biāo)應(yīng)該聚焦在如何通過編程的方式去幫助學(xué)生表達創(chuàng)意,而不是聚焦在教會學(xué)生編程的基本技巧。當(dāng)然,掌握這些編程的技巧是孩子在學(xué)習(xí)過程中不可逾越的一個階段。
這個觀點似乎有點老生常談,但我認為從心里面真正理解這條教學(xué)目標(biāo)非常重要,因為這條“綱”指引著課程的設(shè)計方向。為了達到這樣的教學(xué)目標(biāo),從教學(xué)設(shè)計的角度來看,我認為應(yīng)該分成“學(xué)”和“啟”兩個階段。
“學(xué)”即編程基礎(chǔ)知識的學(xué)習(xí),這個階段終的目標(biāo)是幫助孩子掌握編程的基本技巧。以Scratch的學(xué)習(xí)為例,在一些小游戲的設(shè)計、加上音樂的創(chuàng)作,例如孩子們喜歡的小游戲Minecraft的結(jié)合等等,大多數(shù)孩子都很感興趣,都可以納入進來。但是比較重要的一點,是讓孩子覺得“編程有意義”,所以孩子課本上學(xué)到的、生活中見到的現(xiàn)象是比較合適的主題,而且學(xué)習(xí)這樣的主題也更容易引起共鳴。
比如,將小學(xué)數(shù)學(xué)課上學(xué)到的加減乘除運算融合到下面的賽跑游戲中,一方面數(shù)學(xué)知識有了實際的應(yīng)用場景,另一方面游戲的設(shè)計也能激發(fā)孩子的創(chuàng)作熱情。
觀點2:課程體系的延伸源于孩子創(chuàng)意表達需求的延伸。
在編程教學(xué)過程中,經(jīng)常有家長問老師“孩子應(yīng)該從何學(xué)起”,得到的回答往往是:應(yīng)該從圖形化編程開始,然后過渡到代碼編程,后學(xué)習(xí)算法。
既然編程是孩子創(chuàng)意表達的一種工具,那么很顯然對于不同年齡又或者是不同興趣的孩子來說,他們對周圍世界的認知是不一樣的,需要表達的創(chuàng)意也就不一樣。有的孩子對世界的理解可能是天馬行空的想象,想到的就是合理的;有的孩子可能對真實世界已有的現(xiàn)象充滿了好奇,比如樓道里的燈天黑了為什么會自動亮;還有的孩子可能會想,我能不能讓這個世界更加便利。
從這個角度出發(fā),作為編程老師,選出合適的編程工具以滿足孩子上述需求似乎更加合理。而且為了符合孩子的認知能力,這種編程工具應(yīng)該盡量簡單、不需要特別高的門檻,孩子能夠通過簡單的操作即可將自己的想法具象化。孩子選擇哪一種編程語言一方面要根據(jù)興趣,另一方面也要考慮認知能力。不過需要指出的是,不是從一種編程工具過渡到另一種編程工具,孩子的能力就會提升。孩子們做不到達到自如的表達創(chuàng)意,深入學(xué)習(xí)都是對計算思維的極大鍛煉。
當(dāng)然,對于一些理解能力強、學(xué)習(xí)快、對計算機特別感興趣的孩子來說,在小學(xué)階段嘗試代碼編程、學(xué)習(xí)算法、朝著計算機專業(yè)發(fā)展也未嘗不可。