上周我們團購的兩組產品中,有一款是可編程列車(點擊了解),所以我們談到了一些兒童和兒童“編程”相關話題,以及我們的話題“兒童編程”對教學或產品的看法。有很多讀者對這個話題感興趣,所以今天我們就多談談。
隨著互聯網時代的到來,“編程”它已經成為工作場所的重要技能之一,所以很多家長也希望孩子從小就能開始學習。
大多數時候,父母帶著讓孩子學習編程的目的,去市場編程教具、玩具、棋盤游戲或課程,但不知道如何使用,或者在他們的記憶中學習C,JAVA,PHP情況相差甚遠。于是不禁感到疑惑,覺得自己是不是被忽悠了。
有這種懷疑,因為我們對編程的印象,通常是右鍵點擊網頁,然后查看源代碼的感覺,有點生動,是一個程序猿在電腦前敲鍵盤的結果:
wiki"program"詞條頁面的一部分源代碼
所以很多讀者問我們哪種計算機語言適合孩子學習,有沒有推薦的課程或者學習軟件。其實對于孩子來說,編程啟蒙并不是在屏幕上敲代碼。在開始自己敲代碼之前,更重要的是了解和學習編程的核心和基礎。
那么什么是編程呢?那實際上從什么是來的呢?“程序”來思考。
事實上,我們可以從字面上理解其中的一些含義。什么是什么?“程序”根據《現代漢語字典》,“計算機程序”指計算機為實現某一目的而執行的代碼和指令序列,通過程序設計語言實現。
看到這句話,估計很多人都會陷入死機,但程序這個詞早在電腦出現之前就存在了,意思很簡單,就是事物發展過程的順序。比如會議程序、審計程序等等。
計算機程序,也可以理解為實現某一目標的代碼序列。
因此,學習程序的基礎是熟悉序列,不是學習一行代碼的順序,而是指令和做事的順序。
從英語的角度來看,也是如此。“編程”簡稱,通常是對應的programming,有時候會用coding(編寫指令)。那是什么?program?
program這個詞當然比電腦更古老。它有很多含義,比如行動計劃、活動日程、電視節目、物品清單等...等等
我們可以看到,這些含義的共性是按照一定的順序安排一系列的動作或內容,無論是電視專欄還是課程學習計劃,最終實現一定的目標。所以使用它“程序”來對應program,翻譯得很合適。
我們之前談過兒童的數學啟蒙和語文啟蒙。最常見的事情之一是兒童的學科啟蒙教育,這不是簡單的“提前學”,更不用說刷題了。相反,要用符合這個年齡段孩子認知水平的方法來培養真正有助于這門學科學習的基本能力。
例如,我們說數學的基礎應該從數字和形狀的結合開始,漢語應該從漢字的字源和字義開始。編程也是如此。編程的基礎不是背誦一堆計算機語言指令。但要明白什么是“程序”,什么是“次序”。
為了培養這種能力,你可以選擇一些與簡單或圖形編程相關的玩具,除了棋盤游戲,但更重要的是,在日常生活中,培養孩子“項目進程”了解,參與制定執行順序的過程,而不是簡單的父母說孩子做什么。
例如,旅的規劃,比如日常生活的作息時間表,哪些應該在前面,哪些應該在后面,前后順序之間有沒有影響,哪些排名效果更好?雖然這些事情似乎與計算機程序無關,但幫助孩子發展的基本能力對未來的編程學習有很大的幫助。
當然,對于孩子來說,學習編程也可以來自代碼(code)從學齡前或小學生開始,coding啟蒙編程玩具,也不是敲代碼的風格。
比如OSMO的這款codingstarterkit的iPadApp和外設。
或者我們上周五推薦的codingexpress小火車。
還有很多其他的coding啟蒙玩具,都是用圖像動作指令,比如“如何規劃行進路線”這樣,來做coding為什么入門這么選擇?讓我們看看什么是什么?code(代碼)。
code在韋伯詞典中,相應的解釋實際上是:“asystemofsignalsorsymbolsforcommunication”,即一種用符號或信號進行通信的系統。
廣義上說,我們日常使用的各種語言,中文、英文、法語...都是代碼。
我還記得N年前在新東方學習T&G當我聽到一個創始人總是喜歡在課堂上講一個笑話:他從英語系畢業,去美國申請計算機系。他的專業太遠了,沒有希望,但他用它“英語和計算機語言都是語言”這個原因,竟然說服了招生老師。
雖然我個人對這個故事的真實性有疑問。但他說的真相確實很常見:計算機語言確實是一種語言。但它是一種特殊的語言,人與機器之間的交流——可以理解為我們在與機器聊天。
除了我們的語言,生活中還有很多特定的用途code,比如海軍旗語,電報摩斯代碼,都是一種code。
不同的code有不同的目的和難度,所以對于年幼的孩子來說,這是一種簡單的學習方式,非常適合他們code,指路:左轉、右轉、前進、后退,這些都是最基本的指令。coding啟蒙玩具,往往擇規劃路線“程序(program)”,作為啟蒙的方式。
這種coding啟蒙所做的就是讓孩子們知道和知道如何與機器交談。用這些簡單的指令告訴機器人,火車頭,或者軟件中的角色你想讓它完成什么。
這實際上是編寫代碼。學習和掌握這種看似簡單的東西。coding,它可以幫助孩子們為將來學習其他更復雜的代碼語言打下良好的基礎。更重要的是,這也是我們未來生活在日益程序化和互聯網化的社會中需要掌握的基本思維能力之一。
然而,有很多方法可以用玩具和生活來學習編程啟蒙。我們將來有機會和你談談如何用玩具學習編程。
聊了這么多之后,我忍不住潑了一點冷水。學習編程很有趣,在這個過程中培養的能力對孩子也很有幫助。
但是,如果你想讓你的孩子學習編程,你認為你將來可以成為一名程序員來找工作,你可能應該反復思考,畢竟,在人工智能中AI程序員是和的時代AI最近的職業之一也是專家預測的最有可能的職業之一AI替代職業之一。
當然,這種危機風險存在于各行各業。在這個快速變化的時代,新行業、新職業層出不窮,舊職業也迅速消亡。我們無法判斷孩子將來長大后可能會有什么樣的工作機會作機會。為了培養專業技能,我們可能會對未來感到失望。
因此,即使我們的教育目標很簡單,也是為了將來容易找到工作,合理的方式也不是“從小掌握一門手藝”,但要加強素質教育和基礎能力教育。由于世界正在發生變化,我們選擇以不變的方式應對變化,讓孩子們在未來有機會選擇合適的職業,在我們無法預測的工作場所取得成功。