大熱的“少兒編程”,不學嗎?

近年來,編程大火。有的國家把編程列入必修課,並且鼓勵孩子從小學編程。

編程為什麼那麼火?孩子真的有必要學編程嗎?

編程思維

數字時代不可或缺的能力

賈伯斯曾說:“學習編程教你如何思考……我把計算機科學看成基礎教育,每個人都應該花1年時間學習編程。”

要想學習編程,必須要有編程思維。編程思維並不是編寫程序的技巧,而是一種高效解決問題的思維方式,是“理解問題——找出路徑”的思維過程,它由分解——識別模式——抽象——算法四個步驟組成:

分解:把一個複雜的大問題,拆解成更可執行的小步驟。

模式識別:找出相似模式,高效解決細分問題。

抽象:聚焦最重要的信息,忽視無用細節。

算法:設計一步一步的解決路徑,解決整個問題。

的確,編程思維能夠強化兒童的邏輯思考,訓練孩子的想像力和解決問題的能力。沒有編程思維,在數字時代的孩子們,就會陷入到《銀河帝國》這部科幻電影中基於科技的迷信怪圈中:即使知道技術怎麼用,也無法完全明白技術的原理。而當今的科技已經預示了編程將成為立足於人工智能時代的必備技能。

因此,很多家長不惜花重金給孩子報少兒編程輔導班。有網友調侃,“孩子剛會寫編程這兩個字,就要學習怎麼編程了。”

具備編程能力

不能只靠編程思維

有了編程思維,真的就能在未來的激烈競爭中領先嗎?

無論那些廣告宣傳把編程思維說得多麼神奇,歸根結底,編程思維只是一種以編程為工具的思維訓練,離掌握編程能力還有很大的距離。況且,孩子們在學校接受以數理化為工具的數理邏輯教育,完全可以起到類似的思維訓練作用。而少兒編程中使用的以Scratch為代表的圖像化編程,和普通編程相比,就如同樂高和建築學的區別一樣,兩者沒有必然聯繫。

然而,少年編程這個領域,到目前都沒有摸索出一種有效、可複製的普及教育解決方案。請注意,我在這裡所說的“少年編程”,是真正的編碼編程,而不是在商業上被炒作得如火如荼的圖像化編程。儘管圖像化編程的語言或工具,比如來自美國麻省理工的 Scratch,確實能夠培養孩子們的編程思維,但如果只有編程思維,距離擁有實際的編程能力,還差著十萬八千里。

有人說:“編程能力,是科技強國的基礎。”這裡所說的編程能力,是編碼編程的能力,是使用C++、Java、C#這些能夠編寫飛機、高鐵程序語言的能力。

沒有編程能力,在當下我國大量需要人工智能全方位人才的時刻,就如同手無寸鐵的戰士,空有思維,卻無法實現。我們能夠看到各個高校都開始增設人工智能的專業,編程語言也不再是理工科學生的專屬。國家從上到下,都開始意識到編程能力的重要性。這是左右一個國家未來國運的重要因素。