我是計算機專業,身邊同行沒一個讓孩子在三年級前學編程

2021-01-09 澎湃新聞

前陣子知乎上有個熱門話題,在2020世界機器人大賽總決賽上,一群幼兒園的小朋友走上了領獎臺。

機器人教育如火如荼,各種線上編程的廣告隨處可見。但是幼兒園就開始學編程打比賽真的能讓孩子真正理解編程嗎?知乎一位網友,自己是計算專業畢業的,結合自己學習編程的經歷,聊了聊自家小孩是怎麼學編程…

順便文末說說你怎麼看,你會讓孩子幼兒園就開始學編程嗎?

文 | 小尾巴狼 來源 | 知乎

我和我老公都是計算機專業的,我們的孩子編程是肯定要學的(同樣是特長,一臺鋼琴好幾萬,一臺電腦才多少錢,老師還是免費的),但不會在幼兒園階段學。不止我們家是這樣打算的,據我觀察了解,我們身邊的大學同學,沒有一個是在孩子三年級以前就讓孩子學編程的。

1

我自己學編程的經歷

我們大一剛進校,就開了一門C++程序設計的課,老師一上來只簡單介紹了一下面向對象程序設計,然後就開始教怎麼編程。

一學期下來,這門課我是聽得雲裡霧裡,但老師講的那些語法指令、各種排序方法、什麼迭代遞歸遍歷等等我還是都記住了,期末考試還考了90分。然而只有我自己知道,我對編程依然是一竅不通,只能機械地做題,放到生活中完全不能解決實際問題。

為了自學,我在網上找了麻省理工學院的編程公開課來看。課程一開始人家的老師就表示:我們這門課的主旨是在培養編程思維,程式語言只是幫助我們形成這種思維的工具。

這句話讓我瞬間知道了自己的問題之所在,也是現在很多少兒編程教育的癥結:本末倒置。

編程本質上一種解決問題的手段,程式語言只是工具。要解決問題,最重要的是你要先有一個解決問題的思路,然後在通過手裡的工具去實現。而我們在學習過程中,關注更多的反而是如何使用工具。

2

知識儲備、思維訓練,

遠比一上來就學編程重要

現在很多機構宣傳的都是:編程有助於培養邏輯思維。然而事實卻是,孩子的邏輯思維要達到一定的水平,才能真正懂得怎麼去編程。

對於大多數5、6歲的孩子來說,邏輯思維還處於啟蒙階段,因為…所以、雖然…但是、不但…而且、與其…不如、要麼…要麼、不是…就是、如果…那麼、只有…才、無論…都、即使…也,這些邏輯至少搞清楚了,才談得上把這些邏輯關係轉換成程序語言吧。

那麼能不能通過學習編程去形成或是提高各種思維能力呢?當然能。

我們班當時就有幾個貧困地區來的同學,上大學前連電腦都沒摸過。同樣的老師教,我只會照著書編程,人家就可以從大段大段的代碼中悟出理論,從而形成自己的編程思維。但幼兒園的孩子有這個本事嗎?

或許你見過這種傳統玩具,九連環。

這個玩具看似複雜,但只要是懂編程的人,一上手就能馬上反應過來:它的核心就是編程中最經典、最基礎的算法之一——遞歸算法。

你讓那些學過所謂編程的幼兒園小朋友來玩九連環,他們能不能通過玩九連環這個實際操作,上升到理論層面,悟出「這原來是個遞歸算法」,我深表懷疑。

就算直接告訴他們用遞歸的方法來解九連環,我覺得他們都不一定能理解。還有這種類似的通過預設程序來操控機器人繞過障礙的玩具,經常看到小孩在玩,價格還不菲。

(類似於這樣)

這種遊戲你一眼就能看到障礙物在哪裡,要怎麼避開,提前設計好路線。如果你用個盒子把所有路線罩住,讓孩子再來編個程,讓機器人盲走試試。

面對這樣一個全新的任務,能不能想到把這個任務拆解成一個個的小問題(中途遇到障礙怎麼解決、走到三岔路口怎麼選擇、走錯路了怎麼辦……),然後再逐一解決每一個小問題。這種提出問題並解決問題的能力,我覺得也超出了普通幼兒園孩子的能力。

說了這麼多,其實我想表達的中心思想就是:對幼兒園階段的孩子來說,基礎知識的儲備、思維層面上的訓練,比一上來就學習各種編程規則更加重要。

3

如何為孩子的編程做準備

我們身邊那些大學同學,在孩子的教育過程中雖然不太緊張編程,但普遍非常緊張孩子的數學和英語,這兩門功課才是編程的基礎。

程序設計語言可以等孩子高年級了,找個暑假集中培訓一下,但數學和英語的基礎必須從小打牢。數學不用說了,是整個計算機這門學科的基礎,計算機學到頭其實就是在學數學,我老公讀博的時候基本上就是揪著傅立葉變換、黎曼數學、泰勒方程做文章。

還有英語,主流的編程環境都是英文的,我身邊很多程式設計師同學都非常排斥中文版scratch,覺得這是在影響孩子編程的語感(是的,程序設計語言也是要講語感的)。

除此之外,還有編程思維的訓練。

如果爸爸媽媽們有讓孩子學習編程的打算,自己在這方面又比較小白,個人建議還是要適當學習了解一下,因為思維這個東西主要還是靠潛移默化的影響,只有你了解了這種思維的精髓,才能更好地去影響孩子。

推薦一本我自己看過覺得不錯、準備今後介紹給孩子看的書。

這本書算是一本編程科普書,著重講思維,又融合了一些計算機原理、數據結構方面的知識,整本書的編排還是很有邏輯的,而且淺顯易懂、字大圖多,很輕鬆就翻完了。

(《寫給所有人的編程思維》,吉姆·克裡斯蒂安 著)

我女兒現在5歲半,生活中我倆很喜歡玩桌遊,玩桌遊就是一種非常好的培養孩子編程思維的方式。桌遊的遊戲規則無非就是隨機、判斷、循環、計算等等,一步一步地組合起來,相當在孩子腦海中畫了一張程序流程圖。

以飛行棋為例:

飛行棋的規則就是:第一回合每人扔三次,點數必須要扔到6才能起飛。起飛以後,點數扔到幾就走幾步。

而這個規則用編程思維拆分出來就是。

1. 玩家1扔骰子,生成一個隨機數。(孩子扔骰子,扔到一個3)

2. 判斷扔到的數是否等於6。(不等於)

3. 再循環一次。(孩子繼續扔,扔到6)。

4. 判斷扔到的數是否等於6。(等於)

5. 玩家1的棋子起飛。循環結束,進入下一條指令。

6. 隨機數生成。(孩子扔骰子,扔到5)

7. 起飛的棋子前進5步。

8. 玩家1的回合結束,返回大循環。

9. 玩家2開始扔骰子。

……

整個過程,孩子邊玩我邊說,她的每一個動作我都幫她轉換成一個可執行的指令,我覺得比直接學習編程對孩子更有意義。

除此之外,編程的本質是解決問題,所以父母在遇到一些問題的時候,可以把自己解決問題的整個過程:如何想的、如何做的,用孩子能懂的語言,條理清晰地展示給孩子。

比如前幾天,我和老公帶女兒坐BRT。上車的時候,我突然想到一個問題:BRT司機是怎麼做到每次進站,都能正好把車門對準屏蔽門的?

(類似於這樣)

女兒表示想不出來答案。於是我開始跟她爸討論。

我說:會不會有個類似倒車雷達的東西,快接近站臺的時候顯示一種顏色,比如黃色,司機看到後開始踩剎車減速。然後越來越近,當顯示的顏色變成比如綠色的時候,司機就把剎車踩死,讓車剛好停在綠色區域內,車門就正好對準屏蔽門了。

女兒聽了連連點頭,表示我說得對。

老公說:要驗證這個想法,進站的時候直接看司機的儀錶盤就知道了。如果有提示,肯定會顯示在儀錶盤上。

於是女兒擠到前面去觀察了半天,最後遺憾地告訴我們:司機的儀錶盤上並沒有看到類似倒車雷達那種能變顏色的提示。

我的猜想宣告失敗,老公說:我猜會不會像停車劃線那樣,站臺上有什麼標線,提示司機要把車停到標線上。

下車後,女兒在站臺上跑來跑去,發現地上確實畫了一些奇怪的線。

第二天,我專門帶她去車站驗證爸爸的猜想。我們連續觀察了5輛BRT,發現確實司機每次都會把車頭停在標線的位置,這樣車門就正好對準屏蔽門。

我女兒對這個發現非常興奮,然後馬上進行了類推:地鐵進站是不是也採用的這種方式?我們哪天再去地鐵站看看?

這種提出問題、做出假設分析、再去驗證假設的過程,既是一種很好的親子互動,也是在教孩子遇到問題時,如何去解決這些問題。

最後有幾個共性問題想再說明一下。

首先是關於「小學三年級以前不學編程」的疑問。

這其實並不是什麼規則或是建議,只是我身邊某個特定圈子裡的現象而已,有的是覺得孩子1、2年級功課更重要、有的是想越過scratch直接上c++或者python……孩子的成長有快有慢、能力有高有低,並沒有什麼一刀切的規則。

其次,雖然幼兒園孩子學編程性價比不高,但養育孩子也不是事事都講性價比的。在經濟和時間都寬裕的情況下,如果孩子就是對編程對機器人很感興趣,或是從編程裡面能獲得樂趣,學學也無妨。

如果學,家長可以幫孩子加強基礎方面的訓練,讓孩子能夠更快更好地領悟到編程的本質。

如果不學,也完全沒有必要焦慮。磨刀不誤砍柴工,現在小學數學的難度已經很大了,能把課堂上的知識點吃透,就是最好的邏輯訓練,就是為編程打下的最堅實的基礎。

最後是關於為什麼要學編程的疑問。

如果把特長的培養作為一項教育投資,我個人認為編程屬於低投入低風險型的。相比藝體類的特長,學習編程所需的費用和精力,普通家庭一般都能承受、學習的過程和孩子本身的課業兼容性也更大。

學習的結果,好的可以通過競賽直通清北,一般的可以作為選擇計算機專業、進入IT行業的鋪墊,再不濟也能多一項工作、生活中經常能用到的專業技能。

原標題:《我是計算機專業的, 身邊同行沒有一個是在三年級前讓孩子學編程的…》

閱讀原文

相關焦點

  • 孩子要不要學編程 幾歲學編程比較好?詳述三大編程課試課經歷
    編程是下一個十年的英語,世界各國已將編程教育作為基礎學科……,讓家長覺得不送孩子學編程,孩子的未來就會跟世界脫軌一樣,不由自主的就會焦慮,一焦慮就會急著給孩子試課挑課上課。當然,也會有理性的家長問,孩子一定要學編程嗎?孩子要不要學編程,學編程有什麼價值?孩子要不要學編程?
  • 學編程的娃,到底有啥優勢?計算機專業媽媽來深掰下
    你所聽到的思維力、專注力、創造力、自主學習能力等等,肯定都有,但作為一個本碩7年主攻計算機專業的「內行人士」,我當然要跟你說一些更直接、更本質的。其實和編程聯繫最緊密的,是數學。稍微查一下數據,你就會發現,數學和計算機大拿,基本上是同一波人。
  • 在美國大學計算機專業都學什麼?
    Liberal Arts College有一個我很喜歡的地方,就是剛進大學的前兩年可以自由選修不同領域的課程,發掘自己的興趣愛好,找到合適的專業。然後,在大二結束之前必須確立好專業,用剩下兩年的大學時間來主修自己的專業課程。每年的春季學期都會有一門計算機入門課,叫作CS5 Introduction to Computer Science。
  • 會編程的孩子保送清北入職500強!智伴編程機器人小w讓孩子邊玩邊學
    是的,歐巴馬兩個千金都在惡補編程。央視前名嘴張泉靈說,將來不懂編程的孩子,就像不會英語的孩子一樣讓人焦慮。她曾爆料,9 歲的兒子學編程一個月,就能改寫遊戲規則,碾壓老媽了。「會編程的孩子太可怕了。」2.學編程,讓他們提前進入世界 500 強12 歲小男孩袁翊閎,學習編程僅一個學期,就從年級一百多名,躍上年級前十;憑著編程激發的創造力,在 1萬 6000 名開發者中脫穎而出,一路殺入 2018 年百度 AI 開發者大會。
  • 從零開始怎麼學計算機編程?
    在學習者中有大學生,也初高中生,他們都有一個共性,沒什麼基礎。從零基礎開始學習編程成為了一種常態,可是,也正是因為我們在編程方面是零基礎,很容易導致我們選錯專業和行業。從零開始學習電腦如何才能保證學好呢?以下為大家做一個簡單的總結,希望我們能在學習時有所參考。首先,要正確認知IT專業,了解三大技術方向。
  • 學計算機編程需要什麼基礎_一文了解
    計算機編程已經成為16-18歲學生的重點關注課程,對於每個學生來說,學計算機編程需要什麼基礎,是決定學生是否學習的前提條件。下面我們一起看看,學習計算機編程需要哪些基礎:1、英語基礎計算機英語與傳統的英語知識不同,需要了解的大部分是計算機的專業單詞或者詞彙,普遍較為簡單。但是在高級編程中,會出現比較生澀的詞彙,對於想要參與計算機語言設計以及在職業發展上有更多追求的同學可以自學一下大學英語。畢竟現在在學習IT技術上晉升的道路上,專業文檔的閱讀能力也是非常重要的。
  • 熱門計算機專業學什麼?
    計算機科學是一門包含各種各樣與計算和信息處理相關主題的系統學科,從抽象的算法分析、形式化語法等等,到更具體的主題如程式語言、程序設計、軟體和硬體等。同時,基於計算機專業對精確性的要求,你還會學到很多精確的程序語言。在這個漫長而又有趣的學習過程中,你需要思考無數個問題,如: 為什麼程式語言被設計成現在這樣? 現實問題如何轉化、編譯成一個程序,並成功解決現實問題? 當一個程序被執行時,計算機內部是如何運行的?
  • 男生學計算機專業還是鐵路專業好?
    所以男孩在選擇專業時需要慎重和為長遠的計劃考慮,那麼男生學計算機好還是鐵路好?都說學計算機好,這句話一點問題也沒有,但是計算機是分很多專業的,每個專業發展前景都不一樣,就業方向也都分很多種,而且每個人在哪裡學計算機、自身條件怎麼樣,能學到什麼程度,都要很大差異,所以才有人身價百萬、有人轉行。可見並不是計算機專業不好,而是學的人沒學精、沒選對方向。
  • 孩子年齡太小,有學編程的必要嗎?
    隨著人工智慧時代的到來,編程已經成為未來人類必備的技能之一,同時,學習編程在提升孩子綜合素養以及助力升學方面,佔有重要位置。有遠見的家長,都在帶孩子學編程。編程不止是一種計算機語言未來15年,50%的人類工作將會被人工智慧所取代,編程會變得越來越重要。如果讓孩子從小就學編程,這會讓孩子的未來充滿了更多的可能。
  • 學少兒編程 明星應採兒推薦極客晨星
    隨著智能化的普及,「少兒編程」已經成為了家長們談論的火熱話題。「你家孩子學少兒編程了嗎?」「你家孩子從幾歲開始學的少兒編程?」「我正考慮要給我家孩子報名,5歲可以學嗎?會不會太早?」「你家孩子在哪裡學的少兒編程?」......家長們為什麼這麼著急要給孩子報名少兒編程呢?
  • 極客晨星告訴你為什麼要讓孩子學少兒編程
    賈伯斯曾說過:「人人都應該學習一門計算機語言,因為它將教會你如何思考」。  編程,能培養孩子哪些能力呢?你是否也會有這個疑問,少兒編程到底學什麼呢?到底從幾歲開始學習少兒編程好呢?今天我們就來分析一下。
  • 成就全球億萬富豪的硬核技能,智伴編程機器人小w讓孩子邊玩邊學
    放眼全球,大部分知名的富二代、星二代都在拼命學編程。美國前總統歐巴馬說,編程應該和 ABC 字母表同時學,女兒現在才學太晚了。是的,歐巴馬兩個千金都在惡補編程。 央視前名嘴張泉靈說,將來不懂編程的孩子,就像不會英語的孩子一樣讓人焦慮。她曾爆料,9 歲的兒子學編程一個月,就能改寫遊戲規則,碾壓老媽了。「會編程的孩子太可怕了。」
  • 學計算機專業可以找什麼工作?
    隨著信息技術的不斷發展,計算機專業成為本世紀初以來最熱門的專業之一,在歷年高考專業志願填報時都是大熱門。隨著越來越多大學都開設了計算機專業,計算機專業的畢業生再也沒有以前那種找工作不用愁的優勢了。尤其是近些年來,與計算機相關的專業不斷發展,單一的計算機專業已經比較難就業了。
  • 除了編程,中小學領域計算機科學教育應該學什麼?
    其實編程教育運動在許多國家都存在,從 Skype 發源地國家愛沙尼亞開始,到英國、美國,越來越多國家政府將計算機科學教育放入學校課程。編程教育顧名思義是學習計算機程式語言,因為編程教育運動多由軟體工程專業人員開始推動 (例如: 當義工在課後時間教小孩),所以多以學習編程開始,或搭配簡單硬體實作創客教育,但是計算機科學教育的意義比較廣,接下來談談政府從教育的全面高度如何考量。
  • 計算機專業大學生怎麼學好編程?
    如果不是疫情的影響,相信大家都已經開學了,進入繁忙的學習生活了,現在大家都待在家裡,我相信計算機的學生都不會閒下來,肯定也會繼續學習的。 幾個月前我也還是學生,如今都已出來工作6個月了,有時間我寫寫爬蟲的工作日常,還是有很多非常有趣的事。 昨天就有位讀者在微信上問了我這樣一個問題。
  • 秒懂機器人編程與計算機編程的區別
    機器人編程:機器人課程,不僅涉及編程的知識,還需要孩子們了解學習機械、工程、信息等方面的知識。很多時候要運用機械解決問題,強調動手能力。解決問題的過程可能狀況百出,需要細心觀察、耐心解決,更強調團隊配合能力。
  • 小學沒跟上編程的步伐,長大了這樣彌補,網友:一切都是為了生活
    浙江省今年9月份開始的新學期,三到九年級信息技術課將同步替換新教材,其中,八年級將新增Python課程內容。因為學習少兒編程除了幫孩子適應未來時代發展潮流,還可以培養孩子的抽象思考能力,幫助孩子訓練整合信息、融匯貫通的能力,提高國際性的溝通能力和競爭力,更可以增強團隊合作,共同學習以及主動解決問題的能力。
  • 計算機科學與技術專業就業面面觀
    從就業角度來看,計算機專業也往往與「IT精英」「高薪」等關鍵詞掛鈎。除了這一表面印象,計算機專業就業現實還有哪些特徵?是不是學了計算機專業就一定能前途無憂?記者通過對相關院校及過來人的採訪,為考生描繪這一專業更加清晰的近景。
  • 計算機專業本科生編程能力弱,考研是否應該繼續選擇計算機專業
    首先,對於計算機專業的同學來說,在考研時還是應該重點考慮一下計算機專業,當前計算機專業人才的需求量比較大,尤其在當前產業結構升級的大背景下,計算機高端人才的缺口是比較明顯的,讀研計算機專業之後也更容易獲得一些高附加值的工作崗位。
  • 培養閱讀能力,我讓孩子三年級後來居上,後續學習更輕鬆持續領先
    讓孩子成績在三年級「後來居上」,其實很簡單,像我這樣牽住「牛鼻子」就行!我家孩子就是一個典型案例,而且我相信他在後面不斷分化中會持續領先,越來越輕鬆,越來越優秀!當然,做父母需要下點功夫。這個「牛鼻子」就是培養孩子的閱讀興趣!這麼簡單?「興趣是最好的老師。」喜歡釣魚的,可以起早摸黑,風雨無阻。喜歡打牌的,可以通宵達旦,甚至不吃不喝。