很多(duō)家長看到程序、編程等名詞,還是(shì)覺(jué)得有(yǒu)點唬(hǔ)人(rén),害(hài)怕自己(jǐ)都理(lǐ)解(jiě)不了(liǎo),怎(zěn)麼(me)和孩子互動,讓(ràng)他們學習編程呢?
其實,這(zhè)些名詞(cí)看似遙不可及,其實道理很簡(jiǎn)單,一點也不難。今天我們舉(jǔ)幾個簡單的(de)小例子,帶大家打開編程的大門。

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

更直(zhí)觀(guān)的表現來(lái)自(zì)於大(dà)家經(jīng)常使(shǐ)用的洗衣機,要用什(shén)麼洗滌模式,要用(yòng)多少水,是(shì)清(qīng)洗一次還是兩次,這些程序都(dōu)在控制面板上一目了(liǎo)然。

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

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

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

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

反過來,向下的箭頭自然就是(shì)後退一(yī)步。

然後是原地左轉(zhuǎn),

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

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