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

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

更直觀的表(biǎo)現來自於大家(jiā)經常(cháng)使用的洗衣機,要用什麼洗滌模式,要用多少水,是清洗一(yī)次還是兩次,這(zhè)些程序(xù)都(dōu)在控制面板上一目(mù)瞭然。

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

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

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

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

反過來,向下的箭頭自然就是後退一步。

然後是原地左轉,

再然(rán)後是原地右轉。

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