免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
少兒編程那么火,真的有用嗎?有什么用? | 逃媽說編程(上)

逃媽

坐標美國達拉斯


 

今天我打算和大家好好聊聊這個話題。別的不敢說,作為一位本碩七年計算機專業(yè),世界五百強公司里寫過代碼,帶過軟件團隊,教育公號里最會寫程序,IT行業(yè)里最會寫教育文章的麻麻(捂臉.jpg),我想這個話題我還是能從專業(yè)的角度給出一些見解的。

 

不過要想把這個事情說透并不容易,我打算分兩次來分享。今天主要講編程到底對孩子有什么用,下次咱們再具體討論孩子究竟該怎么學編程。

 

首先我得說明一點,學編程不等于一定要當碼農(nóng)。我大學同學畢業(yè)后頭5年大多都還在IT行業(yè),在寫程序,不過10年后都七七八八地“跨界”去了,我就是其中之一。編程中積累的經(jīng)驗和能力讓我們在其他行業(yè)也游走得尚好,因為它不光是一項技能,更是培養(yǎng)一種思維,一種思考問題的角度。

 

小時候學畫畫時老師跟我說,學了畫畫之后你看待世界的視角和之前是不一樣的。后來發(fā)現(xiàn)還真是,學畫畫的人往往會更注意一個東西的細節(jié)、質(zhì)感,喜歡變換看事物的角度,試圖去尋找它“透視”在不同平面上的樣子。

 

每一個新領域都能給我們帶來新的知識,裝載著這些新知識的我們自然也會獲得新的思維,新的能力,新的看待世界的角度。學編程也如此。

 

編程的本質(zhì)是什么?用一句話來解釋,編程就是和電腦對話,用電腦聽得懂的語言,告訴它我想讓它做的事。

 

這跟和人說話有什么不同呢?比方說我想喝水,可以跟逃逃說“Hey逃逃,幫我倒杯水!”同樣的一句話如果要讓電腦明白該怎么講?我得先告訴它什么是“杯子”、什么是“水”、什么是“倒”,然后再告訴它怎么去倒,比如先左轉75度,往前走兩米,左臂下放50度…

 

OMG, 很刻板很麻煩很不舒服對不對?是的,咱們?nèi)祟惖奶煨岳锍錆M了感性、隨意、散漫、喜歡八卦、愛聽故事。但電腦不是,作為新時代的高科技產(chǎn)品,它理性、嚴謹、不講故事講數(shù)據(jù),它要不聽不懂我們的指令,一旦聽懂了就會執(zhí)行,而且每次都會執(zhí)行。可不像逃逃那樣,明明聽懂了,但幫不幫我倒水主要看心情。

 

所以,要跟電腦溝通對話,我們也必須讓自己變得理性、嚴謹起來,從電腦的角度去思考問題,這就是所謂的編程思維。

 

這種思維能帶給孩子什么好處?下面我用一個大家都很熟悉的游戲“貪吃蛇”作例子,把編程思維所培養(yǎng)的能力逐個掰一掰?!柏澇陨摺笔俏覍W會編程之后所寫的第一個完整像樣的程序,寫完了自己玩得樂此不疲,所以印象特別深刻。


貪吃蛇游戲規(guī)則:用上下左右鍵控制蛇的方向,尋找吃的東西,每吃一口就能得到一定的積分,而且蛇的身子會越吃越長,身子越長玩的難度就越大,不能碰墻,不能碰到自己的身體,等到了一定的分數(shù),就能過關,挑戰(zhàn)難度更高的關卡。



拆——分解問題的能力



要寫一個“貪吃蛇”游戲,哇,這是一個很大的問題,該怎么入手?如剛才所講,得想辦法讓電腦把這件事情搞明白,有哪些步驟,每一步該干什么,哪步在先哪步在后…所以我們首先得把這個大問題給拆了。

 

拆解

 

在這個程序里,電腦主要處理兩件大事:

 

1. 處理輸入 – 收集用戶操作信息

2. 輸出響應 – 根據(jù)不同的輸入,做出不同的響應

 

再拆解

 

1. 輸入 - 用戶的操作可以有按上、下、左、右鍵四種

2. 輸出 - 相應地,貪吃蛇也要做往上、下、左、右走的動作

 

我們把第2點再拆解

 

貪吃蛇每走一步,可能有這幾種情況:

 

1. 吃到蘋果

2. 撞到墻

3. 撞到自己

4. 什么都沒發(fā)生

 

我們把第一點“吃到蘋果”抽出來,再再拆解

 

在這步里,電腦可能要這些事情:

蛇張開嘴巴

蘋果被咬掉

播發(fā)吃蘋果的聲音

蛇閉上嘴巴

身體長長一截


看起來很簡單的程序,拆解后步驟可真多呀,而且這還只是其中的一條分支。孩子學習編程的過程,就是不斷地訓練他把復雜、龐大的問題拆解、理順的過程。

 

這種思維在學習、工作、生活中處處都用得著。在解決復雜問題時,問題的分解必不可少,因為只有分解成每一個可以操作、可處理的小問題時,才算是把“大問題”落了地,一個一個小問題搞定了,大問題也就解決了。

 

具備這種能力的人做事情是耐心的、有條不紊的。比如同樣面對一道有挑戰(zhàn)的數(shù)學題,分解能力好的孩子會列出清晰的解題步驟,搞定一步是一步,即使最后不一定能完全解答出來,也能清清楚楚地知道自己的進展;而有些孩子則不是,沒有分解的耐心和能力,遇到難題時腦子一團亂麻。



整——發(fā)現(xiàn)并且整合“重復規(guī)律”的能力

 

先告訴大家一個秘密,程序員圈子普遍比較清高,常常為了表現(xiàn)自己與眾不同,會用些聽起來很高大上、但讓外行很費解的術語,比如接下來我說的發(fā)現(xiàn)“重復規(guī)律”,99%的程序員GG會告訴你的是“要模塊化”,搖頭聽不懂的話,他再假裝體貼地解釋,哎呀,就是善用“函數(shù)”,封裝方法啦~

 

都是些什么鬼?

 

其實說白了,就是幼兒園孩子都能搞得懂的“找規(guī)律”,觀察和找到那些重復發(fā)生的規(guī)律。比如“貪吃蛇吃蘋果”所發(fā)生的一系列動作,是程序中多次會發(fā)生的,無論蘋果在左上方還是右上方,無論蛇是從上面吃還是從下面吃,都是同樣的一組動作,那么我們就可以把這組動作打包,給它取一個名字叫“吃蘋果”。每次蛇遇到蘋果時,就可以直接把“吃蘋果”拿出來用,而不用重新把它所包含的一系列動作再想一遍,搞不好的話還會有錯漏。

 

在編程的過程中,孩子得一直在做這樣的訓練,發(fā)現(xiàn)一些可以重復的單元,把它整合起來,讓計算機去重復它。

 

這種能力可以大大提高我們做事的效率。舉個數(shù)學上最簡單的例子,比如計算32×(37 4)+47×(37 4)+21×(37 4),它就相當于(32 47 21)×(37 4),其中的(37 4)就是一個重復的單元,可以整合。

 

觀察那些做事麻利,效率特別高的人,就是具備了這個能力。很多孩子解題快,就是他善于發(fā)現(xiàn)和總結“重復規(guī)律”,腦袋里自備了一個裝有很多類似于“吃蘋果”那樣的方法庫,遇到時直接調(diào)用,不用再從頭到尾想一遍,也不會錯漏。

 

有段時間美國沃爾瑪超市發(fā)現(xiàn)尿不濕和啤酒這兩樣商品經(jīng)常會被一起銷售,背后的原因是媽媽得在家里照看孩子,買尿不濕的通常是下班后的爸爸,這時爸爸很喜歡順便再買幾瓶啤酒犒勞自己。發(fā)現(xiàn)這個規(guī)律后沃爾瑪就把這兩樣東西放在一起,結果不僅提高了尿不濕和啤酒的銷量,還大大提高了整個超市的客流量,因為爸爸們發(fā)現(xiàn)逛沃爾瑪比其他超市更方便。

 

創(chuàng)新不一定指做出個前所未有的新產(chǎn)品,對現(xiàn)有的運行方式進行優(yōu)化改進,就是一種創(chuàng)新。而發(fā)現(xiàn)并整合“重復規(guī)律”的能力讓我們更容易找到創(chuàng)新的機會。



析——邏輯思維能力


這大概是程序員最引以為豪的一種能力。先看個笑話,


娃媽給程序員娃爸打電話:“下班順路買10個包子帶回來,如果看到賣西瓜的,就買一個?!?/p>


結果娃爸手捧一個包子進了門。娃媽怒道:“你怎么就只買了一個包子?!” 

娃爸答曰:“因為看到了賣西瓜的?!?/p>

 

類似這種“黑” 程序員的段子有很多。不過我得再悄悄告訴你一個秘密,這些段子的創(chuàng)造者不是別人,正是程序員圈子本身,嘿嘿,他們只是換著法子來得瑟自己的思維有多么嚴謹。


前面說到,編程就是和理性嚴謹?shù)碾娔X對話,所以編程者也必須較真起來。


邏輯思維中有個非常重要的原則叫做MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整體完備”,也就是“不重復,不遺漏”。比如下面右圖是遵循了MECE原則的,左圖就沒有。



在編程過程中,處處要考慮和遵循MECE原則。比如在貪吃蛇的程序里,蛇每往前走一步,可能會出現(xiàn)4種情況,

 

a. 吃到了蘋果

b. 撞到墻

c. 撞到自己

d. 什么都沒發(fā)生

 

這4種情況是互斥的,比方說吃到蘋果的時候就不可能撞到墻,那么程序中就不能讓蘋果出現(xiàn)在墻上;而且,這4種情況覆蓋了所有可能性,在寫程序時如果只考慮了其中的2種或3種,就不“完備”了。此外,編程過程中還會涉及到很多處理“與”、“或”、“非”等布爾邏輯操作。比方說“蛇沒有吃到蘋果”與“蛇沒有撞到墻”(!a && !b ),就等價于,“蛇撞到自己”或“什么都沒發(fā)生”(c || d)。

 

這些思考對孩子的來說都是非常好的邏輯訓練。



改——調(diào)試糾錯能力


最重要的事情最后講。

 

當我把編程能帶給孩子幾項能力一一列出來的時候,發(fā)現(xiàn)這點是最重要,也是孩子最需要的。

 

任何事情都很難一次就完成得盡善盡美,程序運行起來發(fā)現(xiàn)不對有問題,這時就需要孩子去尋找出錯的地方,并將它一點一點去改正。

 

程序的世界很單純,只有0和1,對和錯,沒有模糊值。這跟寫文章、畫畫什么的不一樣,當讀者、觀眾感覺一般時,可能是見仁見智,并不一定證明你的作品不好或者哪里有錯,你也根本不知道該怎么改進。

 

但程序不一樣,只要運行結果和期望不符合,就證明中間肯定有哪兒出錯了,不過同時也意味著只要足夠努力,就肯定能把這個錯揪出來。就像你告訴一只貓,小黑屋里肯定有老鼠,它負責把老鼠抓出來,比它不知道小黑屋里究竟有沒老鼠聽起來要容易和有信心得多。

 

然而,實際上程序中很多bug都不是一下就能找到的,常常需要從頭到尾把程序的運行順序一步一步地跟走一遍,觀察每一步的運行結果(專業(yè)術語叫“單步調(diào)試”)。這需要很多的耐心、觀察力和專注力,對孩子的抗挫折能力也是一種磨練。

 

當調(diào)試經(jīng)驗豐富之后,孩子在寫程序時還會懂得給那些“有可能會出錯”的地方先做個記號,方便回頭來檢查糾錯。他更關注于提高自己糾錯的技能,而不是害怕、回避或者掩蓋錯誤。孩子會越來越懂得,有錯很正常,只要能把它揪出來,改正就好。

 

有些人總是在進步,因為他隨時懂得回溯、調(diào)試、糾錯,進而提升自己。

 



一不小心寫了很多,不知說清楚了沒有。

 

以上這些能力,其實并不是編程特有的,但它們卻是在編程這件事情上集體出現(xiàn)的。所以要是你問我,孩子有沒必要學編程,我會很肯定地回答,有必要,因為它的確培養(yǎng)孩子的綜合能力。

 

可幾歲學、怎么學?市面上關于編程的產(chǎn)品很多,繪本、桌游、APP、網(wǎng)站、課程……該怎么選?我下次會再來一篇好好談談。這里再透露個秘密,編程不一定非要對著電腦來學,尤其是接觸初期。從上面幾點大家應該可以看到,更多的是需要Get思維,培養(yǎng)能力。

 

Oops,我是不是說得太多,泄密太多,沒準兒要被程序員圈開除了。所以,關于孩子具體該怎么學編程的話題,咱們下次聊啰~

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
(領取源代碼)西門子S7-1500用SCL語言編寫的俄羅斯方塊/貪吃蛇程序可仿真
貪吃蛇 for WindMl3.0 源代碼[Tony嵌入式]
如何使用scratch制作簡單的貪吃蛇游戲
孩子從小學編程的十大好處
如何做好孩子的編程啟蒙?
[計算機科學系列] 一起做游戲,趣味學編程
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服