為什麼編程啟蒙要學 Scratch,不是Python?
GIF
要回答這個問題,
我們先來看看Scratch是什麼?
Scratch 編程語言是由麻省理工大學 MIT 和 Google 主導開發的針對 5-12 歲兒童的可視化編程語言。只需要使用滑鼠,學生就可以編寫自己的故事書,動畫片或者小遊戲。
Scratch軟體的優勢是易學且功能強大,有助於孩子們充分發揮自己的想像力,而在動手創作過程中,他們的學習積極性、想像力和創造力會得到極大的鍛煉,用它可以很容易地創造互動式故事情節、動畫、遊戲,在Scratch課堂上,孩子們不僅僅會學會如何編寫程序,還會學習到Science(科學), Technology(技術), Engineering(工程), Arts(藝術), Maths(數學)等多個領域的知識。這語言也逐漸被納入校本教材,當然也是某些創新實驗室建設的一些必備內容。
Scratch 不僅得到了 MIT 的支持, 哈佛大學也加入了 Scratch 的教育者培訓, 致力於培養更多的利用 Scratch 來教學的年輕老師和創新課程。
對於我們要面向的少兒來說,Scratch跳過了高級語言中那些繁難的概念和語法,用圖形化的表現和拖拽的交互來完成編程的核心邏輯和成果交付,既能解決學習曲線過於陡峭的問題,還能讓學習的過程不枯燥,並更及時地獲得結果反饋,非常適合他們這個年齡階段的心智水平和認知能力。
至於為什麼要從Scratch開始作為階梯再緩慢過渡到高級語言,不如讓我們再來了解下少年兒童的特點。
近代最具有影響力的瑞士兒童心理學家 讓·皮亞傑(1896-1980),把少年兒童的認知發展按照年齡劃分為了4個階段,而這同時,也構成了我們L0-L5課程設計所對應的理論依據:
前運算階段的標誌是符號功能的出現。這個階段的兒童的語言能力,以及玩耍時把棍子想像成槍的「假裝」能力,都是符號功能的體現。
但「前運算階段」的兒童對於守恆和可逆性這樣的邏輯運算的理解是有限的。
而在「具體運算階段」,兒童已經迅速獲得了認知操作能力,並能運用這些重要的新技能思考事物。具體運算思維表現為守恆的理解、關係推理的理解運算順序性的理解。但是,具體運算階段的兒童思維是有局限的,因為他們只能把運算圖式應用到真實的或可以想像得到的事物、情境或者事件上。
因此,在編程教育中,往往最早在「前運算階段」的後期,並不會讓兒童直接接觸到邏輯和關係推理的概念。而是通過序列(Sequence)來讓兒童理解基本的因果關係。
同時,由於「具體運算階段」的兒童的思維只能映射到具體的事物上,所以高級編程語言中的抽象邏輯、語言和教學方法是很難為這個階段的兒童所接受。Scratch就很好的解決了這個問題。在Scratch中,通過可視化的「積木」形式,兒童很容易把具象的結果和程序所對應起來,這樣就很好的避免了高級編程語言如C、C++等低反饋的學習流程。
興趣培養起來後嘗試學習一種真正的編程語言,比如Python、C++等,嘗試編寫一些軟體,初步學習演算法、數據結構以及面向對象編程。
所以針對兒童,Scratch的可視化語言可以很好的幫助學生學習基本的邏輯、關係推理、數學的概念,同時避免過早的接觸到「形式運算階段」之後才能理解的抽象的演繹推理。


※Python+書籍推薦《深度學習》,無限的潛力,你學習了嗎?
TAG:Python |