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

2021-01-08 澎湃新聞

前陣子知乎上有個熱門話題,在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年主攻計算機專業的「內行人士」,我當然要跟你說一些更直接、更本質的。其實和編程聯繫最緊密的,是數學。稍微查一下數據,你就會發現,數學和計算機大拿,基本上是同一波人。
  • 國內有「錢」途的專業,計算機科學與技術在列,前三是理工專業
    各專業畢業生現收入top前三排行榜第一:計算機科學與技術,畢業生月平均收入達到了6858元近幾年,國內網際網路相關行業熱度極高,這也就帶動著計算機類專業成為了現在的最熱門專業。根據調查顯示,計算機類專業在「最有錢途本科專業排行榜」排名第一,畢業生月平均收入達到了6858元。
  • 編程貓孫悅:少兒編程絕不是教孩子編程技能,而是培養編程思維|WISE...
    數據也顯示,男女根本沒有學習編程的能力之差。以下是孫悅的分享講話全文,經36氪整理編輯:各位同行和從業者大家下午好!非常開心能夠借這個機會參加36kr的盛會,剛剛聽了很多前輩的發言,我發現整個行業已經被剖析的非常透了,所以今天剛好我給大家講一個不一樣的維度,就是一個非常縱深的細分市場如何產生。
  • 從就業面的角度來說,哪門程式語言最適合非計算機專業學生學習
    首先,程式語言的學習門檻是非常低的,在所有計算機的專業課當中,程式語言是最簡單的課程之一,所以也把程式語言看成是打開計算機技術大門的鑰匙,只有掌握了程式語言才能夠方便其他專業課程的學習,比如數據結構、資料庫等等。
  • 極客晨星:孩子到底什麼時候學編程好?
    先家長需要認識到:讓孩子學習少兒編程,並不是要把他培養成程式設計師。少兒編程教育的目的是訓練孩子的邏輯思維能力,動手能力和創作能力,也是培養一種編程思維,而這種編程思維對孩子未來的發展是非常有利的。
  • 小學沒跟上編程的步伐,長大了這樣彌補,網友:一切都是為了生活
    浙江省今年9月份開始的新學期,三到九年級信息技術課將同步替換新教材,其中,八年級將新增Python課程內容。因為學習少兒編程除了幫孩子適應未來時代發展潮流,還可以培養孩子的抽象思考能力,幫助孩子訓練整合信息、融匯貫通的能力,提高國際性的溝通能力和競爭力,更可以增強團隊合作,共同學習以及主動解決問題的能力。
  • 編程貓2019年營收10億 李天馳:兒童學編程到底在學什麼?
    事實上,當AI時代呼嘯而來,編程作為人類對話AI的語言,已被國際社會視為孩子必須掌握的未來技能之一。在美國,編程已進入幼兒園和中小學課堂,是備受歡迎的課程之一;在英國,編程被列入國家教學大綱,成為6-15歲孩子的必修課。
  • 大學專業:計算機專業專攻一個方向好,還是需要均有所涉獵好?
    小編作為計科專業的學生,本著吐槽的精神來談談大學計算機專業如何學習?想想大學課程先是基礎英語、數學,然後計算機原理,系統原理,彙編教程,C語言,數據結構與算法,C++,java都給你整點。好一桌豐盛的大餐。
  • 深度解析:孩子學習編程的5大關鍵年齡
    最近很多家長在後臺留言問,孩子學習編程的最佳年齡是幾歲?我該如何判斷孩子現階段是否適合學習編程?相信不少家長在接觸線上或線下編程培訓機構時,也會向機構提出一系列類似的問題,而不同編程教育機構提供的回答也是五花八門不盡相同,致使家長們陷入了更大的疑惑中。
  • 編程貓老師專業的原因:六層嚴選老師
    隨著AI時代、5G時代的到來,人工智慧變得火熱起來,越來越來多家長開始送孩子學習編程。但是仍然有不少家長對少兒編程抱著遲疑態度:學編程有用嗎?我不想讓孩子長大做程式設計師。編程≠敲代碼學習編程並不是讓孩子做碼農或者程式設計師,而是讓孩子們具備一種了解未來社會事物的思維能力,孩子可以更全面、更細緻的看待事物或者問題,從容面對當下瞬息萬變的社會。目前最火的少兒編程機構,編程貓不久前宣布完成最新一輪3億人民幣融資,這也是繼2017年11月編程貓獲得高瓴資本1.2億B輪融資後再獲資本青睞。
  • 計算機專業學子們學的究竟是什麼?大連理工大這些學霸來告訴你!
    提到計算機,相信大家都不陌生,資訊時代的便利和智能既體現在我們生活的方方面面,在航天航空、人工智慧等高精尖技術行業也時常聽到計算機學子的名字。也許很多面臨志願選擇同學都對計算機科學與技術這一學科既是嚮往又是好奇:計算機學科究竟學的是什麼?是天天對著電腦編程嗎?計算機學子都是程式設計師嗎?
  • 專業選什麼?選計算機呀
    經常看到人們在討論選什麼專業的問題。有的是父母在為孩子選專業焦心,有的是在校大學生、研究生自己在懷疑專業選錯了、是不是應該重選,有的是已經走上工作崗位但對現有工作不滿意、自我懷疑是不是該改行。很多人都不約而同地認定:該學計算機。
  • 非計算機專業的同學,如何利用業餘時間學習計算機知識
    首先,對於很多非計算機專業的同學來說,利用業餘時間學習一下計算機相關知識是有必要的,從當前的技術發展趨勢和社會發展趨勢來看,掌握計算機知識會在一定程度上提升自身的就業競爭力。利用業餘時間學習計算機知識,需要注意以下三方面內容:第一:確定一個學習方向。
  • 少兒編程:我們在教孩子如何把大象裝進冰箱
    2016年,美國撥款40億美元,計劃向每一位K-12的孩子提供計算機科學與數學的教育課程,要求部分高中必修計算機編程學分。不僅是美國,英國也要求5歲以上學生必修編程課程,澳大利亞則從2016年起正式將編程引入全國必修課程,芬蘭也在2016年將編程納入小學教學大綱,一年級的芬蘭小學生必修編程。
  • 疫情期間孩子在家學編程,童心制物100+用戶創作疫情主題編程作品
    當下,正值抗擊疫情的關鍵時刻,全國大中小學校也紛紛延遲了開學時間,很多家長都面對自己輔導孩子的問題,家長開始把目光逐漸轉向在線教育平臺。如何選擇真正適合自己孩子的課程,在線學習能達到什麼樣的效果,成為了很多家長焦慮的問題。
  • 卡內基梅隆免費提供高中生編程課,原來中國的少兒編程落後這麼多
    作為計算機排名世界第一的大學,編程可以說是卡內基梅隆的靈魂。在卡內基梅隆大學裡,基本所有專業的都會修那麼一兩節編程課,半夜三四點還在寫代碼的學生比比皆是。而且卡耐基梅隆大學還是全球首個開設人工智慧本科學位的學校,在編程的普及及教育上,卡耐基梅隆永遠走在世界前端。現在卡耐基梅隆又將魔爪伸向了高中生。
  • 新一代的孩子到底要不要學編程貓?
    對於我們這一代人來說,好好學習,高考考到一個好大學,畢業時找一份好工作,是一個標準路徑。而在我的前一代,好好學習,高考只要能考上,就會分配一個好的工作給你。事情的變化大概是發生在出國熱潮這一波,我認識的一個朋友,當初學習不太好出了國,幾年花了家裡一兩百萬,回國之後家裡幫忙找了一份薪水三四千塊錢的工作,差不多幹上二三十年,才能收回當年出國的成本。那麼我就想問,何必出國折騰這幾年呢?
  • 同樣是玩電腦,學編程可比玩遊戲上癮!
    毛毛是一名六年級學生,周四下午三點就下課了,但回家啥也沒做,就開始捧著手機玩王者榮耀。
  • 非計算機專業的同學在學習編程時,除了程式語言還需要學什麼
    首先,對於想自學編程的同學來說,在學習程式語言的過程中,還需要同步學習很多內容,具體的學習內容要結合自己的主攻方向,比如學習C語言的同學如果想往嵌入式方向發展,就需要按照嵌入式開發的要求學習相關的知識。
  • 計算機專業的同學,是否需要把大量的時間用在學習數學上
    首先,對於學習計算機專業的同學來說,數學基礎還是非常重要的,因為計算機軟體問題說到底就是數學問題,未來不論是要進入大數據領域發展,還是要進入區塊鏈、人工智慧等領域發展,數學基礎都是非常重要的。可以說,如果想在計算機軟體研發領域走得更遠,一定要有一個紮實的數學基礎。