資源描述:
《程序語言本質(zhì)是思維的工具》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、程序語言本質(zhì)是思維的工具 我曾經(jīng)在飯桌上和一個朋友發(fā)生了爭執(zhí),起因是一篇報道,它說農(nóng)村居民有一個習(xí)慣,他們會不停地生孩子,一直要到生出兒子才算完! 我覺得這樣偏向男孩兒的生育習(xí)慣一定會導(dǎo)致人口失衡。我的這位朋友則認為生男生女的概率始終是50%,所以不管怎么安排生育,最后都是男女各一半。 我們使用各種圖形、文字、公式推演分析,總是不能說服對方?! ≡趺崔k呢?我們決定用程序來模擬一下! 三下五除二,我們編寫了一段程序。結(jié)果顯示:如果對大樣本進行重復(fù)計算,那么人口分布中男女概率是相等的,也就是男女比例會保持不變?! 〉牵@樣的“偏心”策略難道不會有任何影
2、響嗎?有的!因為我們?nèi)绻淖兂绦蜻壿?,讓人口系統(tǒng)向前演化,就會發(fā)現(xiàn)系統(tǒng)出現(xiàn)不穩(wěn)定的情況。如果樣本量比較小,甚至?xí)霈F(xiàn)人口系統(tǒng)瞬間崩潰的情況,比如所有家庭突然第一胎都是男孩,然后他們不再生育,于是因為無法婚配直接后代斷絕了?! ∪绻覀儾欢幊陶Z言,我們不會想到用程序來交流思想?! ∪祟惖乃枷氡磉_必須借助工具,也就是語言。這些符號體系極為重要,因為人類的智力成果是通過它們來表達的。符號是外在經(jīng)驗的心理內(nèi)化產(chǎn)物,借助含義豐富的符號,人類可以憑借智力就進行復(fù)雜的沙盤演繹,相當有效地掌控外部現(xiàn)實。10 人類迄今為止發(fā)明了三種標志性的語言,分別是自然語言、數(shù)學(xué)語言、
3、程序語言。它們對應(yīng)了人類的三個文明時代,農(nóng)業(yè)與手工業(yè)時代、工業(yè)時代、信息時代?! ≌Z言的學(xué)習(xí)是孩子們基礎(chǔ)教育階段的核心。中國歷來重視文化教育,漢語教育更是博大精深。但是,我們的現(xiàn)代數(shù)學(xué)教育卻出現(xiàn)得很晚,到民國才有。沒有盡早引入現(xiàn)代數(shù)學(xué)符號,使得中國文化落后于世界一個時代,未能進入工業(yè)時代。眾所周知,現(xiàn)代的電磁學(xué)、熱力學(xué)知識都需要使用現(xiàn)代數(shù)學(xué)符號進行表達?! ≡?859年出版的由李善蘭和偉列亞力合譯的《代數(shù)學(xué)》開始嘗試介紹西方的數(shù)學(xué)符號,其中偉列亞力評論道:“微分積分為中土算書所未有,然觀當代天算家所著各書,其理有甚近微分者,因不用代數(shù)式,故或言之甚繁推之甚難
4、……”意思就是說,中國的數(shù)學(xué)研究已經(jīng)顯露出微積分的思想,但是因為用中文表達極度煩瑣,所以無法取得有效的發(fā)展進步,始終處于原始萌芽狀態(tài)。 每一種符號體系的建立都是人類智慧跨越式的發(fā)展,是上了一個大臺階。借助簡潔、清晰的數(shù)學(xué)符號,小學(xué)生學(xué)習(xí)乘除法也沒有困難,而這些算術(shù)以前被認為是非常艱深困難的?! ∥覀冊?jīng)錯過了現(xiàn)代數(shù)學(xué)發(fā)展的關(guān)鍵年代,今天我們不能再錯過編程語言迅猛前進的大潮流。正如海德格爾所說:“語言并非僅僅是一種用以交流思想的工具,而且是存在的住所?!弊屛覀儙ьI(lǐng)孩子們進入這個程序語言創(chuàng)造的住所吧! 建立起編程語言課程體系10 在孩子們很小的時候引入編程
5、語言,是否符合孩子的心智發(fā)育階段呢?對于這個問題有很多爭論。在20世紀70年代,美國把Basic語言推廣到中小學(xué),期望編程課能夠為基礎(chǔ)教育帶來革命性的變化。但是,結(jié)果卻是不成功的。根本原因在于語法的煩瑣、程序調(diào)試困難、編程內(nèi)容乏味。 直到近幾年圖形化編程工具出現(xiàn),少兒編程教育才真正迎來春天。孩子不再糾結(jié)于應(yīng)該輸入一個“;”還是“,”了。編程教育直接進入真正的核心,那就是時間與空間的操作。時間是操作順序、流程;空間是存放信息的結(jié)構(gòu)?! D形化編程工具把動畫指令結(jié)合進來,使得創(chuàng)作內(nèi)容能迅速切入孩子的興趣。同時也更加易于把其他的學(xué)科涵蓋其中,更是增添了編程的魅力
6、?! ∥以趲啄甑木幊探逃畜w會到,少兒編程課的體系應(yīng)該把程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)與算法、工程系統(tǒng)規(guī)劃、創(chuàng)意培養(yǎng)、多學(xué)科融合作為每一個階段的目標。在課程遞進過程中,整體呈現(xiàn)螺旋上升的格局。 比如,每一個階段都有程序設(shè)計的觀念引入,在最基礎(chǔ)的部分只需要掌握“順序執(zhí)行”“重復(fù)執(zhí)行”“條件分支”的分解動作就夠了,再往后慢慢引入幾種控制結(jié)構(gòu)的嵌套組合,直至循環(huán)變量間有復(fù)雜耦合關(guān)系的情況?! ×硗庖粋€極其重要的方面,就是編程內(nèi)容要有“意義”。這可以說是少兒編程教育的全新課題,以前也沒有類似的教育學(xué)成果可以借鑒。之前的計算機課程都是面向成年人的,課程通常只是講授原理、方法,至
7、于具體應(yīng)用,那就是看個人的興趣、悟性了?! 〉?,孩子的編程教育不能這樣做,必須在課程設(shè)計時把豐富的意義填充進去。教師要為學(xué)生設(shè)計很多有趣的“應(yīng)用題”10,這些應(yīng)用題將延伸到生活的每個方面,激發(fā)起孩子們的嚴肅思考,比如人類的經(jīng)濟生活、倫理關(guān)系。 當然,編程語言的核心知識體系也要巧妙地編織進去。以多學(xué)科知識為緯線,以程序設(shè)計語言為經(jīng)線,構(gòu)造一個趣味性、知識性兼具的課程體系。這樣的課程一定能夠讓孩子們樂此不疲,持續(xù)前行?! ≌f起來容易,做起來難。創(chuàng)新的少兒編程教育方法的探索,課程研究的積累,絕非數(shù)年之功可以達成?! ∥覄?chuàng)辦阿兒法營這幾年,一直在努力研究課程建設(shè)
8、。我愿意在這里分享阿兒法營的部分教學(xué)記錄,希望能起到