天天看點

矽谷女孩火了,更該讓他們開始學程式設計

去年有一款名叫CoderMindz的棋類遊戲在矽谷名聲大噪,它的前身CoderBunnyz釋出不到一年時間,銷量超過1000餘套,銷售額以超35000美元,是以大家對新款CoderMindz充滿期待。

而這款遊戲的開發者,竟然是來自矽谷的10歲女童薩麥拉·梅塔(Samaira Mehta)。靠着自己出色的“程式設計”技術,被全球媒體譽為“矽谷未來之星”,連紮克伯格都贊她“年少有為”。

矽谷女孩火了,更該讓他們開始學程式設計

早在2015年,美國前總統奧巴馬在接受媒體采訪的時候就表示:“我們需要讓孩子們參與數學和科學,這不僅僅是一小部分孩子,而應該是所有人。所有人都應更早地學習如何程式設計。”

在美國,STEAM教育理念受到普遍的重視和運用。孩子從比較小的年齡,就開始接受科學、技術、數學、藝術等方面的啟蒙和熏陶。

在我國,特别是在一些經濟比較發達的省份和地區,以中國小資訊技術課程為基礎的少兒程式設計教育也起步和發展較早。2014年,浙江省教育改革方案中,将資訊技術科目(包含程式設計)納入聯考。

2018年,國務院釋出《新一代人工智能發展規劃》,提出完善人工智能教育體系,在中國小階段設定人工智能相關課程,逐漸推廣程式設計教育。同年,全國計算機等級考試開始加入Python語言的内容。随後,一些省份在教育改革中加大了對程式設計的重視力度,山東省在國小六年級的資訊技術教材中加入Python的内容,廣東省也計劃将資訊技術納入聯考内容。

除了學校教育,校外的少兒程式設計教育訓練也如雨後春筍般地迅速發展起來,很多教育訓練機構都開設了少兒程式設計的相關課程。

矽谷女孩火了,更該讓他們開始學程式設計

1  為什麼要學程式設計?

為什麼人們對學習計算機程式設計的熱情激增,尤其是對于孩子學習程式設計如此重視呢?

程式設計對孩子們想象力、創造力的啟迪以及裡面所呈現的對邏輯思維的探索精神,是其他任何閱讀書籍都無法媲美的。

矽谷女孩火了,更該讓他們開始學程式設計

Scratch 3.0少兒程式設計趣味課

學習程式設計至少對孩子有以下幾個方面的好處。

1.開發思維,增強邏輯思維能力

當學習程式設計的時候,孩子會成為一個很好的思考者。例如,孩子将學會如何把複雜的問題分解成簡單的部分(也就是我們常說的分而治之的原理),學會如何找到問題并進行調試和解決,學會如何在一段時間内不斷地疊代、完善和改進解決方案。而所有這些思維政策,一言以蔽之,就是“計算思維”的概念。在不知不覺之中,孩子的計算思維得到了開發,邏輯思維能力得到了增強。

學會了計算思維和邏輯思維,孩子們将會發現它不僅适用于計算機方面,而且也适用于所有的解決問題和設計活動中,甚至是生活的方方面面,例如,統籌燒開水沏茶的時間、确定按照菜單炒菜的順序、在超市中走最短的路徑找到所有要買的東西等等。

2.培養孩子的專注力和細心程度

興趣是最好的老師。一旦培養了對程式設計的興趣,孩子就願意投入時間、精力和熱情來做這件事。此外,前面提到的查找問題并進行調試,幾乎是程式設計過程中必不可少的步驟。有的時候,非常細微的錯誤,會導緻程式無法運作。而無論是調試錯誤還是學會避免錯誤,都能夠培養孩子的細緻程度和耐性。

3.增加孩子的抽象思考能力

前面提到,程式設計和寫作一樣,是一種表達方式,更進一步來說,它們都是一種比較抽象的表達方式。具體來說,孩子需要把抽象的思路和想法,用有形的、具象化或符号化的東西表達出來。從這一點來說,程式設計是寫作的一種延伸,它要求你“書寫”出創新的東西,而這是以前所沒有的東西,例如故事、遊戲、動畫、模拟等等。如果沒有抽象思考的能力,不能充分發揮自己的想象力的話,是很難做到程式設計創新的。

4.增強孩子思考能力和動手解決問題的能力

程式設計的過程中,總是會面臨一道道的關卡和挑戰,這就要求孩子開動腦筋,積極思考,并且學會利用已有的知識、手邊的資源、夥伴和老師或家長的幫助來解決問題。一旦養成這種思考和解決問題的習慣,給孩子帶來的成長和收獲是巨大的——當他們面對現實生活中形形色色的問題的時候,也将會積極思考,不斷嘗試和破解難題。

5.培養認同感和成就感

最後,學會程式設計還将給孩子帶來巨大的認同感和成就感。在現代社會中,數字科學和資訊技術已經相當普及,而且其發展日新月異,這些都極大地影響和改變着我們的社會和生活。一旦掌握了用數字技術表達自己和解決問題的能力,孩子就會用全新的視角來看待自己,并且會因為擁有這一技能且對社會做出貢獻而獲得極大的成就感。

程式設計竟然對孩子有這麼多的好處,那麼你還等什麼呢?還不快抓住機會,讓你的孩子來學習和掌握這種技能,以這種方式來進行流暢的表達!

2   孩子學程式設計為什麼要學Scratch?

計算機程式設計語言的發展大概有幾十年的曆史。這期間,程式設計語言經曆了從低級語言向進階語言發展的過程。我們這裡所說的低級語言和進階語言,并不是指語言的功能和水準等,而且是指程式設計語言與人類自身語言的接近程度上的差別。低級的語言更加接近于機器語言,計算機了解起來比較容易,人類了解起來比較困難,這是比較底層的語言。而進階語言的文法和表達方式,更加接近于人類自身的語言,需要通過一種叫作編譯器和解釋器的東西(你可把編譯器和解釋器想象成翻譯人員)将其轉換為計算機比較容易了解的機器語言,然後機器才能執行。

各種程式設計語言的分類和層級如下圖所示。

矽谷女孩火了,更該讓他們開始學程式設計

你一定已經聽說過一些程式設計語言的名字,比如C、C++、Java、Python等等。我們現在所接觸的這些現代程式設計語言,一般來說都是進階程式設計語言,其文法和人類自然語言比較接近,需要經過編譯器或解釋器才能轉換為機器語言。還有一些更加易于學習的可視化語言,比如Scratch就是一種可視化語言,它們是在進階語言的基礎上,經過包裝或定制後,才成為更加容易學習和了解的程式設計語言的。

你可能會問,為什麼不直接學習C、C++、Python這樣的進階語言,而要學習Scratch這樣的可視化語言呢?這主要是因為Scratch對于青少年來說更加容易了解和上手。Scratch包含了講故事、做動畫、設計遊戲等功能元素,而這些元素都特别能夠激發孩子的學習興趣。等到他們通過Scratch逐漸熟悉和掌握了程式設計語言的一些基本原理,再去進一步學習Python或C++等進階語言,就會容易很多。

是以,學習程式設計需要一個從易到難的過程,而Scratch真的是一種更不錯的入門語言,對于孩子來說更是最佳的選擇。

2018年8月1日,Scratch 3.0測試版釋出,這是自2013年Scratch 2.0問世以來的又一次更新。Scratch 3.0将能夠在平闆電腦和手機上使用,并且加入了更豐富的圖像編輯、聲音編輯、谷歌翻譯等功能。另外,Scratch 3.0還可以與LEGO MINDSTORMS EV3和LEGO EDUCATION WeDo 2.0相容。2019年1月3日,Scratch 3.0正式釋出。

大部分教授程式設計的基礎教程都是通關式的,孩子們建立一個程式,移動一個虛拟角色,讓它做一些事情并達成目标。孩子們在編寫程式解決問題的過程中,就學習到了編碼的技能和計算機科學的概念。

但Scratch不同。作為Scratch的締造者,米切爾·雷斯尼克及其團隊認為Scratch不僅是一種程式設計語言,更是一個線上學習社群。Scratch專注項目,而不是問題解決,它鼓勵孩子們創造自己的互動故事、遊戲和動畫,從創意開始,把這些想法實作為項目,然後再和其他人分享。

考慮到Scratch線上社群裡不同閱聽人的特點,圍繞Scratch衍生的内容也日漸增多。ScratchEd是為教育者專門開發的獨立線上資源社群,支援故事分享、互動教育資源、線上讨論等功能。目前,ScratchEd上的教育者資源覆寫幼稚園到大學全學段,内容類型包括教案、課程、評測、教材等,涉及的學科領域有數學、音樂、社會科學、視覺藝術等。

Scratch主要面向8~16歲兒童,而ScratchJr則主要針對5~7歲低齡兒童。相比Scratch,ScratchJr以平闆電腦為載體,程式設計子產品的體積更大、素材庫中的圖檔更多、拼插方式也更直接。ScratchJr的界面示意圖如下。

矽谷女孩火了,更該讓他們開始學程式設計

除了線上學習社群,Scratch還在世界各地舉辦名為“Scratch Day”的線下交流活動。2017年,全球舉辦了超過1000場Scratch Day活動。在各種社交媒體的Scratch社群和論壇,人們用各種語言記錄着Scratch Day的程式設計、分享和遊戲體驗。

未來的世界充滿了新鮮的事物。今天絕大多數的孩子,未來所從事的工作都離不開創造力和創造性。不管是什麼年齡段的孩子,學習Scratch不僅能夠培養他們的計算思維和創造能力,還能讓他們和同齡人、老師和家長分享和溝通。Scratch是孩子們走向未來的一個“創造力遊樂場”。

3   學習程式設計要學哪些書?

矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計
矽谷女孩火了,更該讓他們開始學程式設計

- END -

上一篇: 多态(上)