国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

程序語(yǔ)言本質(zhì)是思維的工具

2016-10-31 17:07余宙華
中小學(xué)信息技術(shù)教育 2016年10期
關(guān)鍵詞:羅西惡人編程

余宙華

我曾經(jīng)在飯桌上和一個(gè)朋友發(fā)生了爭(zhēng)執(zhí),起因是一篇報(bào)道,它說(shuō)農(nóng)村居民有一個(gè)習(xí)慣,他們會(huì)不停地生孩子,一直要到生出兒子才算完!

我覺得這樣偏向男孩兒的生育習(xí)慣一定會(huì)導(dǎo)致人口失衡。我的這位朋友則認(rèn)為生男生女的概率始終是50%,所以不管怎么安排生育,最后都是男女各一半。

我們使用各種圖形、文字、公式推演分析,總是不能說(shuō)服對(duì)方。

怎么辦呢?我們決定用程序來(lái)模擬一下!

三下五除二,我們編寫了一段程序。結(jié)果顯示:如果對(duì)大樣本進(jìn)行重復(fù)計(jì)算,那么人口分布中男女概率是相等的,也就是男女比例會(huì)保持不變。

但是,這樣的“偏心”策略難道不會(huì)有任何影響嗎?有的!因?yàn)槲覀內(nèi)绻淖兂绦蜻壿嫞屓丝谙到y(tǒng)向前演化,就會(huì)發(fā)現(xiàn)系統(tǒng)出現(xiàn)不穩(wěn)定的情況。如果樣本量比較小,甚至?xí)霈F(xiàn)人口系統(tǒng)瞬間崩潰的情況,比如所有家庭突然第一胎都是男孩,然后他們不再生育,于是因?yàn)闊o(wú)法婚配直接后代斷絕了。

如果我們不懂編程語(yǔ)言,我們不會(huì)想到用程序來(lái)交流思想。

人類的思想表達(dá)必須借助工具,也就是語(yǔ)言。這些符號(hào)體系極為重要,因?yàn)槿祟惖闹橇Τ晒峭ㄟ^(guò)它們來(lái)表達(dá)的。符號(hào)是外在經(jīng)驗(yàn)的心理內(nèi)化產(chǎn)物,借助含義豐富的符號(hào),人類可以憑借智力就進(jìn)行復(fù)雜的沙盤演繹,相當(dāng)有效地掌控外部現(xiàn)實(shí)。

人類迄今為止發(fā)明了三種標(biāo)志性的語(yǔ)言,分別是自然語(yǔ)言、數(shù)學(xué)語(yǔ)言、程序語(yǔ)言。它們對(duì)應(yīng)了人類的三個(gè)文明時(shí)代,農(nóng)業(yè)與手工業(yè)時(shí)代、工業(yè)時(shí)代、信息時(shí)代。

語(yǔ)言的學(xué)習(xí)是孩子們基礎(chǔ)教育階段的核心。中國(guó)歷來(lái)重視文化教育,漢語(yǔ)教育更是博大精深。但是,我們的現(xiàn)代數(shù)學(xué)教育卻出現(xiàn)得很晚,到民國(guó)才有。沒有盡早引入現(xiàn)代數(shù)學(xué)符號(hào),使得中國(guó)文化落后于世界一個(gè)時(shí)代,未能進(jìn)入工業(yè)時(shí)代。眾所周知,現(xiàn)代的電磁學(xué)、熱力學(xué)知識(shí)都需要使用現(xiàn)代數(shù)學(xué)符號(hào)進(jìn)行表達(dá)。

在1859年出版的由李善蘭和偉列亞力合譯的《代數(shù)學(xué)》 開始嘗試介紹西方的數(shù)學(xué)符號(hào),其中偉列亞力評(píng)論道:“微分積分為中土算書所未有,然觀當(dāng)代天算家所著各書,其理有甚近微分者,因不用代數(shù)式,故或言之甚繁推之甚難……”意思就是說(shuō),中國(guó)的數(shù)學(xué)研究已經(jīng)顯露出微積分的思想,但是因?yàn)橛弥形谋磉_(dá)極度煩瑣,所以無(wú)法取得有效的發(fā)展進(jìn)步,始終處于原始萌芽狀態(tài)。

每一種符號(hào)體系的建立都是人類智慧跨越式的發(fā)展,是上了一個(gè)大臺(tái)階。借助簡(jiǎn)潔、清晰的數(shù)學(xué)符號(hào),小學(xué)生學(xué)習(xí)乘除法也沒有困難,而這些算術(shù)以前被認(rèn)為是非常艱深困難的。

我們?cè)?jīng)錯(cuò)過(guò)了現(xiàn)代數(shù)學(xué)發(fā)展的關(guān)鍵年代,今天我們不能再錯(cuò)過(guò)編程語(yǔ)言迅猛前進(jìn)的大潮流。正如海德格爾所說(shuō):“語(yǔ)言并非僅僅是一種用以交流思想的工具,而且是存在的住所?!弊屛覀儙ьI(lǐng)孩子們進(jìn)入這個(gè)程序語(yǔ)言創(chuàng)造的住所吧!

建立起編程語(yǔ)言課程體系

在孩子們很小的時(shí)候引入編程語(yǔ)言,是否符合孩子的心智發(fā)育階段呢?對(duì)于這個(gè)問題有很多爭(zhēng)論。在20世紀(jì)70年代,美國(guó)把Basic語(yǔ)言推廣到中小學(xué),期望編程課能夠?yàn)榛A(chǔ)教育帶來(lái)革命性的變化。但是,結(jié)果卻是不成功的。根本原因在于語(yǔ)法的煩瑣、程序調(diào)試?yán)щy、編程內(nèi)容乏味。

直到近幾年圖形化編程工具出現(xiàn),少兒編程教育才真正迎來(lái)春天。孩子不再糾結(jié)于應(yīng)該輸入一個(gè)“;”還是“,”了。編程教育直接進(jìn)入真正的核心,那就是時(shí)間與空間的操作。時(shí)間是操作順序、流程;空間是存放信息的結(jié)構(gòu)。

圖形化編程工具把動(dòng)畫指令結(jié)合進(jìn)來(lái),使得創(chuàng)作內(nèi)容能迅速切入孩子的興趣。同時(shí)也更加易于把其他的學(xué)科涵蓋其中,更是增添了編程的魅力。

我在幾年的編程教育中體會(huì)到,少兒編程課的體系應(yīng)該把程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)與算法、工程系統(tǒng)規(guī)劃、創(chuàng)意培養(yǎng)、多學(xué)科融合作為每一個(gè)階段的目標(biāo)。在課程遞進(jìn)過(guò)程中,整體呈現(xiàn)螺旋上升的格局。

比如,每一個(gè)階段都有程序設(shè)計(jì)的觀念引入,在最基礎(chǔ)的部分只需要掌握“順序執(zhí)行”“重復(fù)執(zhí)行”“條件分支”的分解動(dòng)作就夠了,再往后慢慢引入幾種控制結(jié)構(gòu)的嵌套組合,直至循環(huán)變量間有復(fù)雜耦合關(guān)系的情況。

另外一個(gè)極其重要的方面,就是編程內(nèi)容要有“意義”。這可以說(shuō)是少兒編程教育的全新課題,以前也沒有類似的教育學(xué)成果可以借鑒。之前的計(jì)算機(jī)課程都是面向成年人的,課程通常只是講授原理、方法,至于具體應(yīng)用,那就是看個(gè)人的興趣、悟性了。

但是,孩子的編程教育不能這樣做,必須在課程設(shè)計(jì)時(shí)把豐富的意義填充進(jìn)去。教師要為學(xué)生設(shè)計(jì)很多有趣的“應(yīng)用題”,這些應(yīng)用題將延伸到生活的每個(gè)方面,激發(fā)起孩子們的嚴(yán)肅思考,比如人類的經(jīng)濟(jì)生活、倫理關(guān)系。

當(dāng)然,編程語(yǔ)言的核心知識(shí)體系也要巧妙地編織進(jìn)去。以多學(xué)科知識(shí)為緯線,以程序設(shè)計(jì)語(yǔ)言為經(jīng)線,構(gòu)造一個(gè)趣味性、知識(shí)性兼具的課程體系。這樣的課程一定能夠讓孩子們樂此不疲,持續(xù)前行。

說(shuō)起來(lái)容易,做起來(lái)難。創(chuàng)新的少兒編程教育方法的探索,課程研究的積累,絕非數(shù)年之功可以達(dá)成。

我創(chuàng)辦阿兒法營(yíng)這幾年,一直在努力研究課程建設(shè)。我愿意在這里分享阿兒法營(yíng)的部分教學(xué)記錄,希望能起到拋磚引玉的作用。

教學(xué)實(shí)例:編程與倫理學(xué)(中級(jí)課程)

深秋的下午,北風(fēng)透出陣陣寒意,樹枝上已經(jīng)沒有幾片葉子了。

洋爸在阿兒法營(yíng)教室里看馮友蘭的《中國(guó)哲學(xué)史》。桌上的龍井茶飄散著怡人的清香,外面不時(shí)傳來(lái)隔壁幼兒園的歡笑聲。

咚咚咚,一陣敲門聲。

洋爸打開門:嘿,羅西,快進(jìn)來(lái)!怎么了?今兒情緒不高??!

羅西是阿兒法營(yíng)高級(jí)班的學(xué)員,是一個(gè)性格靦腆的小學(xué)六年級(jí)男生。

羅西低聲打招呼:老師好!

洋爸注意到孩子臉上青色的瘀傷,拍了拍他的肩膀:和同學(xué)打架了?

羅西有點(diǎn)委屈地說(shuō):打籃球的時(shí)候和胖熊撞了一下,被胖熊打了好幾拳,我沒還手……還沒等我回答,Tony沖了進(jìn)來(lái),他也注意到羅西的傷:啊,被人打了?又是胖熊?狠狠揍他呀!

羅西:我媽說(shuō)不能和人動(dòng)手打架。

Tony:那你白白被人打啊,真傻!我老爸說(shuō)在外面就要厲害點(diǎn)兒,不能被人欺負(fù)!

羅西:做好人真倒霉,還不如做個(gè)壞人,想打誰(shuí)就打誰(shuí)。老師您說(shuō)呢?

洋爸心想這真是一個(gè)很難回答的問題,厚厚一本《中國(guó)哲學(xué)史》,翻來(lái)覆去地就在討論善與惡的問題。此時(shí)給孩子一個(gè)固定而僵硬的答案有什么意義呢?應(yīng)該啟發(fā)孩子去思考這些人生大問題。

洋爸沉吟半晌道:我也不知道應(yīng)該做一個(gè)善良的好人還是做一個(gè)兇惡的壞人。

羅西:??!老師你也不知道?

洋爸:嗯,這個(gè)問題不像你們想象得那么簡(jiǎn)單。我們一起來(lái)研究一下吧。

羅西、Tony:怎么研究?

兩個(gè)小男孩兒眼睛突然發(fā)亮,讓洋爸感到孩子的求知欲如此可貴!

洋爸:當(dāng)然用我們強(qiáng)大的計(jì)算機(jī)?。〗柚绦騺?lái)幫助我們思考。讓我們想象一下,在一個(gè)游戲世界里面有三個(gè)種族:第一種是善良的老好人;第二種是兇惡的大壞蛋;第三種是普通的正直人。用程序可以模擬這個(gè)世界的演化,看看每個(gè)種族會(huì)有什么結(jié)果。

Tony:真有趣,怎么做呢?

洋爸:先要思考一下,想明白就好做了。

兩個(gè)人表示同意:嗯,對(duì)對(duì),先設(shè)計(jì)一下!

洋爸描述道:程序開始的時(shí)候,這三個(gè)種族都會(huì)有很多人,比如50個(gè)人,每個(gè)人都有自己的生命值。

Tony喜歡插話:就是血,對(duì)吧?

洋爸:對(duì),程序開始的時(shí)候,所有人的生命值都是100。

Tony:建一個(gè)變量來(lái)存儲(chǔ)這個(gè)數(shù)字。

洋爸:對(duì)!接下來(lái)我們要想一想,這三個(gè)種族會(huì)發(fā)生什么事情。

我們用程序控制這些人在舞臺(tái)上隨機(jī)亂走,當(dāng)兩個(gè)人碰到一起就發(fā)生一次“事件”。

事件有三種情況:

第一種是好人和惡人相遇了,那么好人就會(huì)被壞人欺負(fù)。結(jié)果就是好人的生命值減少了一些,壞人的生命值增加了一些。我們說(shuō)發(fā)生了一次“盜竊”。

Tony:哈哈,羅西碰到胖熊,就會(huì)減血了。

羅西:去去去!

洋爸接著說(shuō):第二種情況是兩個(gè)好人相遇了,那么他們會(huì)友好地合作,雙方的血都增加。你們覺得合理嗎?

羅西:挺合理的,我猜要是倆惡人相遇就是打架斗毆了。

洋爸:說(shuō)得沒錯(cuò)。第三種情況是兩個(gè)惡人相遇,惡斗一場(chǎng),雙方減血。這叫“戰(zhàn)爭(zhēng)”。

羅西:那么,遇到普通正直人會(huì)怎樣呢?

洋爸:正直人是這樣一種生物,當(dāng)別人對(duì)他好,他也對(duì)別人好,那么就會(huì)合作,雙方增血;當(dāng)別人對(duì)他惡,他也對(duì)別人惡,那么就會(huì)戰(zhàn)爭(zhēng),雙方減血。

Tony:以牙還牙,以眼還眼!

洋爸:呵呵,就是這種樣子。

現(xiàn)在,總結(jié)一下我們的設(shè)計(jì):三個(gè)種族,好人、惡人、正直人。程序開始的時(shí)候,每種人都有50個(gè),所有人的血都是100。所有人都在舞臺(tái)上隨機(jī)移動(dòng),當(dāng)兩個(gè)人相遇,會(huì)發(fā)生三種事件中的一種:戰(zhàn)爭(zhēng)、合作、盜竊。根據(jù)相遇的情況,程序會(huì)自動(dòng)修改雙方的生命值。OK, 設(shè)計(jì)完成,開始編寫程序。

經(jīng)過(guò)洋爸指導(dǎo),一個(gè)小時(shí)后,兩個(gè)人都完成了程序。

洋爸:還等什么,立刻讓程序運(yùn)行起來(lái)吧!

開始的時(shí)候,壞人似乎占了上風(fēng),他們的人數(shù)增加很快。老好人慢慢在減少,5分鐘后,老好人快滅絕了。

兩個(gè)孩子都有些遺憾。接下來(lái),壞人也碰到了麻煩,人數(shù)開始慢慢減少,3分鐘后也消失了。

咦?他們有些驚奇。

最后,正直的人群持續(xù)不斷地慢慢增長(zhǎng)……

洋爸:羅西你能解釋一下原因嗎?

羅西:老好人很早就滅絕,是因?yàn)樗麄兊难急粣喝送底吡耍?/p>

Tony:對(duì),老好人就是惡人的食物。

洋爸:那后來(lái)為什么惡人跟著滅絕了?

Tony大嗓門地喊:惡人互相戰(zhàn)爭(zhēng),而且正直人也和他們戰(zhàn)爭(zhēng),惡人把血都用完了。

洋爸:有理,惡人沒了食物,又到處戰(zhàn)爭(zhēng),注定滅亡。最后,為什么正直人種族可以生存下去呢?

因?yàn)樗麄兡芑ハ嗪献鳎詴?huì)增加生命值,Tony和羅西兩個(gè)人搶著說(shuō)。

洋爸總結(jié)道:按照我們的研究,簡(jiǎn)簡(jiǎn)單單做一個(gè)老好人,或者做一個(gè)見人就欺負(fù)的惡人,都不是正確的做人方法。我們應(yīng)該做一個(gè)普通的正直人。

但是,要做一個(gè)普通的正直人并不容易,因?yàn)槟惚仨毮芊直婺男┦巧疲男┦菒?。如果你分不清楚,?duì)好人使用兇惡的態(tài)度,你自己其實(shí)已經(jīng)變成了大惡人。

你們要多讀書、多思考,在慢慢長(zhǎng)大的過(guò)程里,逐漸學(xué)會(huì)分清黑白,明辨善惡。

兩個(gè)孩子都若有所思……

程序語(yǔ)言是表征這個(gè)世界的抽象思維符號(hào)系統(tǒng)

農(nóng)業(yè)與手工業(yè)時(shí)代,人類對(duì)上帝的隱喻就是一個(gè)農(nóng)夫;工業(yè)時(shí)代,上帝被假想為一個(gè)偉大的機(jī)械工程師;而今天,最精妙的隱喻就是——上帝是一個(gè)程序員。當(dāng)你觀察DNA上基因的序列時(shí),你一定覺得那是偉大程序員的作品。

即使對(duì)于一個(gè)立志于在文科方面有所專長(zhǎng)的少年,也必須知道0、1是如何構(gòu)造出整個(gè)“第二現(xiàn)實(shí)”世界的。用0和1來(lái)表達(dá)數(shù)字、英文、漢字,如果這還不稀奇,我們還可以用0和1來(lái)表達(dá)聲音、圖像、視頻,最終我們將用0和1來(lái)構(gòu)造整個(gè)世界。

在人工智能領(lǐng)域的發(fā)展中,我們甚至用0和1創(chuàng)造了人類無(wú)法企及的思維模式,比如,深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)。我們創(chuàng)作了一個(gè)“人化”的世界。我們無(wú)需掌握每一個(gè)細(xì)節(jié),但是我們要能理解它。

也許你不懂高等數(shù)學(xué),但是如果你連初等數(shù)學(xué)都一無(wú)所知,那只能說(shuō)你真的不屬于這個(gè)時(shí)代。同樣,若干年后,你可以不懂卷積神經(jīng)網(wǎng)絡(luò),但是你連變量、循環(huán)、條件判斷之類都無(wú)感,那么你真的是被時(shí)代拋棄了。

行文至此,我非常感慨,從事少兒編程教育多年,太多的人把編程當(dāng)成一種吃飯的手藝,聯(lián)想到的常常是碼農(nóng)“蓬頭垢面”的形象。他們不曾明白,在今天,對(duì)程序語(yǔ)言的理解、掌握已經(jīng)成為一種重要的人文素質(zhì),而且在未來(lái)會(huì)更加重要!

另外,有的教師也習(xí)慣于把編程教育和STEM教育混同起來(lái),或者說(shuō)編程是STEM的一部分。我認(rèn)為這樣的理解是錯(cuò)誤的。STEM教育是一種外延廣泛的活動(dòng),從各種涉及電子設(shè)備的小發(fā)明、小創(chuàng)造,到比較復(fù)雜大型設(shè)備(大型航模之類)都可以涵蓋其中。每一位教師和學(xué)生都可以因地制宜地開展具備個(gè)人特色的STEM教育,STEM教育不是一種學(xué)科邊界清晰的課程。

程序語(yǔ)言則是一種簡(jiǎn)潔的、高純度的、形式化的知識(shí)系統(tǒng)。編程教育不僅僅是一種有教育意義的活動(dòng),這一點(diǎn)和STEM教育迥然不同。

程序語(yǔ)言既然是一種“語(yǔ)言”,就意味著它是表征這個(gè)世界的抽象思維符號(hào)系統(tǒng)。它的關(guān)鍵作用是塑造一種全新的世界觀、思維方式、解決問題的手段,掌握它的人可以發(fā)掘出這個(gè)世界更深、更廣的可能性。

程序語(yǔ)言的類比對(duì)象是自然語(yǔ)言、數(shù)學(xué)語(yǔ)言,是一種思維工具。鑒于它對(duì)于思維方式的基礎(chǔ)作用、清晰的學(xué)科內(nèi)涵,編程教育進(jìn)入中小學(xué)教育大綱已經(jīng)刻不容緩。

英國(guó)、韓國(guó)已經(jīng)完成了這一步,但愿中國(guó)不會(huì)等得太久。

讓我們暢想一下,在不遠(yuǎn)的將來(lái),所有的中國(guó)學(xué)生能夠在課堂上學(xué)習(xí)編程,從認(rèn)識(shí)順序執(zhí)行開始,認(rèn)識(shí)一個(gè)變量開始,最終進(jìn)入層次復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、循環(huán)往復(fù)的算法流程,明亮的雙眼仿佛看穿了宇宙的脈動(dòng)。

這個(gè)世界的本質(zhì)既不是“物質(zhì)”,也不再是“能量”,而是“信息”!

猜你喜歡
羅西惡人編程
《鄰居羅西基》(節(jié)選六)
編程,是一種態(tài)度
元征X-431實(shí)測(cè):奔馳發(fā)動(dòng)機(jī)編程
刺花
編程小能手
紡織機(jī)上誕生的編程
我不想感動(dòng)對(duì)方
媽媽的神奇時(shí)間(下)
西羅西咖啡店(外三首)
可以不去扎人,但身上必須有刺