很多家長看到程序、編(biān)程等名詞,還(hái)是覺得有點唬人,害怕自己都理解不(bù)了,怎麼和(hé)孩(hái)子互動,讓(ràng)他(tā)們(men)學習編程呢?
其實,這些名詞看似遙不(bù)可及,其實道理很簡單,一點也不(bù)難(nán)。今天我們舉幾個簡(jiǎn)單的小例子,帶大家打開(kāi)編(biān)程的大(dà)門。

什(shén)麼是程序?
簡單來說,程序就是一系列給機(jī)器執(zhí)行的指(zhǐ)令,通(tōng)過執(zhí)行這些指令,機器實現目(mù)標。
比如說現(xiàn)在大(dà)家每(měi)天都在用的智能手機,除了(liǎo)接打電話、收(shōu)發(fā)短信之外,其功(gōng)能甚(shèn)至已經強(qiáng)大到可以和電腦相提並論。我們拍的每一條(tiáo)短視頻,發佈的每一條微(wēi)博,種種操作(zuò)都是(shì)因爲事(shì)先編好得程序在幫助智能手機工作(zuò),才能(néng)使得我們愉快地使(shǐ)用這些功能。
還有小(xiǎo)朋友們喜歡的電子遊戲,在其中我們能體會到(dào)現實生活中所沒有的奇特冒險。但(dàn)別忘了,所(suǒ)有的畫面(miàn),音樂等等都(dōu)是由一個個程序(xù)所完成的。

更直觀的(de)表現來(lái)自於大家經常使用的洗衣機,要用什麼洗(xǐ)滌模(mó)式(shì),要用多少水,是清(qīng)洗一次還是兩次,這些(xiē)程序都在(zài)控制面板上一(yī)目瞭然。

那麼程(chéng)序(xù)具體的運行過程是怎樣(yàng)的呢?假如我們把喫飯作爲一個程(chéng)序,整個運行過程大概是(shì)這樣的:
第1步 用工具(筷(kuài)子、刀叉(chā)、容器,也可以是手)取食物
第2步 通過手臂運動送到嘴邊,張嘴
第3步(bù) 將食物(wù)放入口中(也可以是吸入,比(bǐ)如喫麪條(tiáo))
第4步 判斷(duàn)該食物是否符合咀(zuǐ)嚼(jiáo)和(hé)吞嚥條件(沒有(yǒu)壞掉,過燙(tàng)、過(guò)涼、過硬或者過於難(nán)喫等)。對於不符合(hé)條件的食(shí)物,暫停喫飯程序。如果符合條件則進入(rù)下一(yī)步(bù)。
第5步,咀嚼+吞嚥食物。
第6步,判斷是否喫飽。如果沒喫飽,繼(jì)續從第1步循(xún)環,如(rú)果喫飽了(liǎo),則停止喫(chī)飯程序。
…….
對於大多數人類(lèi)來說,喫飯這個程序,從生下來幾個小時,會一直運行到人類死(sǐ)去。
不過,喫飯程序是人類在生活(huó)中逐(zhú)漸被教會的技能,那麼機器的(de)程序又是從(cóng)哪裏(lǐ)來的?這(zhè)就是我們一直在說的(de)編程。

什麼是編程?
提到編程(chéng),大家(jiā)腦海裏是(shì)否開始(shǐ)浮現起(qǐ)一列列讓人眼花繚亂的代碼,好(hǎo)像編程(chéng)對於普(pǔ)通人(rén)來說是個遙不可及的操(cāo)作。
不用怕,我們現(xiàn)在繼續用一個和喫相關的簡單(dān)例(lì)子幫(bāng)助大家(jiā)理解:假如你(nǐ)是一個新手(shǒu)廚師,什麼(me)都不(bù)會,要你做(zuò)一頓大餐(cān)確實有點強人所難。但是,如果現在有一本的食神菜譜能告訴(sù)你每一個環節,你只需(xū)要按部(bù)就班地操作就能做出大(dà)餐,你是否該有點信(xìn)心了?

編(biān)程也是一樣的(de)道(dào)理(lǐ):計算機是新(xīn)手廚師,程序就(jiù)是那本食神菜譜,而編(biān)程實際上就是編寫(xiě)菜譜的過程。
再(zài)說得直白一些,咱(zán)們(men)的電腦(nǎo),手機,洗衣機等本質上就是一些電(diàn)路設(shè)施,什麼都不會。要讓它(tā)們運作起來並完成我們希望它完成的工作(zuò),就必須要由人來教它(tā)們(men)幹活,這個教的過程就是我們所(suǒ)說的“編程”,人類編寫程序,然後(hòu)把(bǎ)它和(hé)一些相關的數據一起,輸入(rù)到計算機裏,使(shǐ)它能夠執行我們希望的任務。
看到這裏,相信大家對編程(chéng)的印(yìn)象更加清晰了。但是計算(suàn)機有時候比(bǐ)驢還笨,根本(běn)不理解人們所說的話(huà),那麼(me)我(wǒ)們又(yòu)該如何讓它理(lǐ)解並執行(xíng)呢?
編程啓蒙(méng),也可以很簡單
想讓計算(suàn)機理(lǐ)解我們(men)的指令,那麼我們必須用它們看得(dé)懂的語言進行(xíng)編程,即編(biān)程(chéng)語言,它們常常(cháng)呈現出以(yǐ)下的畫風。
是不是瞬間懵了?怎麼(me)這麼多(duō)字(zì)呢?而且上面這串(chuàn)代碼,僅(jǐn)僅只是爲了(liǎo)檢測一(yī)個簡單的(de)數字是否是質數,如果想指揮機器人,豈不是更加複雜?
就拿(ná)最簡單的前進、後退、原地左轉(zhuǎn)、原地右轉(zhuǎn)4個指令來說,一個標準的程(chéng)序(xù)員(yuán)將(jiāng)會編寫moveforward、movebackward、turnleft、turnright等一(yī)系列的代(dài)碼,大家是否(fǒu)光看這幾個英文都已經看暈了,更別(bié)說孩子了。

這樣抽象複雜的程(chéng)序指令,對於大部分有志於編程啓(qǐ)蒙的孩(hái)子來(lái)說(shuō),無疑(yí)只有勸退效果,還會打擊(jī)他(tā)們的好奇心和自信心(xīn)。
爲了幫(bāng)助兒(ér)童(tóng)更好地從學習編程(chéng)的過程中獲益,迷妹网編(biān)程啓(qǐ)蒙機(jī)器人將晦澀難懂的程序全都具象(xiàng)化(huà)爲一(yī)個個圖形,大大降低兒(ér)童編程啓(qǐ)蒙的門檻(kǎn),孩子們(men)只(zhī)需要像拼圖、搭(dā)積(jī)木一樣(yàng)進行遊戲,就能輕鬆地指揮(huī)機器人行動。
比如這個綠(lǜ)色(sè)小方塊有一個向上的箭頭,代表着前進一步(bù)。

反(fǎn)過(guò)來,向下的箭頭(tóu)自然就是(shì)後退一步。

然(rán)後是原地(dì)左轉,

再然後是原地右轉(zhuǎn)。

孩子們只要把圖形化的編程塊(kuài)在編程板上(shàng)排好,就能直觀獲得編程結果。怎麼樣,是不是一目瞭然?
這樣一來,編程就成爲了一種手、腦直接作用(yòng)的活(huó)動。對孩子來說,這樣的編程啓(qǐ)蒙(méng)方式非常(cháng)符合他們的認知發(fā)展(zhǎn)規(guī)律,他們(men)從被動的(de)使用(yòng)者(zhě)變成了(liǎo)一(yī)個主動的探究員、設計師和(hé)問題解決者(zhě),將會(huì)在潛移默(mò)化(huà)中收穫新知識、新體驗的喜悅,簡直不能再棒啦!
特別說明:
經(jīng)過(guò)本次的講解,大家是否對編程有了基本、感性(xìng)的認識?當然,我們在這次的科普中(zhōng),其實(shí)對於編程及相關的概念進行了(liǎo)大(dà)幅(fú)度的簡(jiǎn)化,目的是讓大(dà)家(jiā)更加容易接受,也是(shì)爲了能讓大家明白,編程啓蒙並不是難以逾越的大山,它也(yě)可以很簡單。喬布斯曾建議,每個(gè)人都(dōu)該學(xué)編程,因爲它會教(jiào)會你思考。對於孩子來說,編(biān)程啓蒙不是爲了讓他(tā)們將(jiāng)來都成爲程序員,而是讓他們鍛(duàn)煉思維,成爲一個能(néng)不斷思考學習的人。