還是培養未來的程序員?
對這個問題,我的答案是:少兒編程(或兒童編程)即不是拔苗助長,也不是培養未來的程序員。
“說明一點:少兒/兒童是指年齡在3~12歲的孩子,即一般指從幼兒園、小學階段。”
那么,少兒編程有什么作用:它的作用是作為一種新型的“玩具”,訓練少兒/兒童的動手能力、想象能力、邏輯思維能力,掌握一種編程慣常使用的思維方式(但請注意:這種思維方式并未是編程所獨有的,參見下文)。
下文講從少兒編程/兒童編程的形式、孩子的收獲、程序員的關鍵素質三方面對上述觀點加以論述。
少兒編程/兒童編程的形式目前,培訓機構面向5~12歲孩子的“編程”形式幾乎都是采用一個培訓軟件系統,可以讓孩子用圖形化+拖拽式的方式進行一個活動的具體步驟的設計。比如“火箭發射”小貓先移動10歲、再右轉15度登上火箭、再點火…諸如此類。
這種形式能夠交給孩子的是:完成一個具體的活動,要分解成哪幾個步驟;每個步驟具體要做什么。實際上,這與用一堆積木搭建一個建筑的過程并無二致。
那么與搭積木這類玩具的不同點在哪里呢?主要體現在:它是電子的,有豐富的圖形、聲音等,更能吸引孩子。
孩子的收獲首先,如同使用積木等傳統玩具,孩子的動手能力、想象能力、邏輯思維能力能得到鍛煉;其次,會強化邏輯思維能力部分的步驟分解、步驟內容確定這些方面的思維習慣。額外的,會強化或者明確編程慣常使用的一個思維方式:把完成一件事的流程區分為順序、選擇、循環三種類型,及這三種結構的組合。但這種思維方式其實存在于生活中,比如做菜:先洗菜、再切菜..這是“順序”操作;燉肉時,過10分鐘打開鍋蓋看一下是否熟了,不熟繼續蓋鍋蓋燜,依此往復直到判斷熟了,這叫“循環”;而其中判斷不熟蓋鍋蓋、熟了停止這叫“選擇”操作。程序員的關鍵素質程序員的關鍵素質是:邏輯思維能力、堅韌的性格。但筆者更想強調的是素質以外的東西:對編程的興趣。所以對于一個少兒/兒童,在他還遠未形成自己的職業興趣時,若出于以后當程序員這樣的想法去學這些東西,感覺—恕我直言—有點可笑。
總結:要不要學習少兒編程通過上面的分析,其實答案已不言自明了:如果經濟條件允許、孩子喜歡,父母可以當買一件有教育作用的玩具一樣讓孩子去學習。但切記不要拔高它的作用、對孩子有不切實際的預期、與孩子后續職業選擇進行掛鉤!
歡迎關注、歡迎評論!