● 回顧
計(jì)算機(jī)程序設(shè)計(jì)以動(dòng)態(tài)數(shù)據(jù)處理形式反映客觀世界數(shù)量變化及運(yùn)動(dòng)過程。變動(dòng)性、發(fā)散性、時(shí)序性和創(chuàng)造性是計(jì)算機(jī)程序設(shè)計(jì)中動(dòng)態(tài)思維的重要特點(diǎn)。
計(jì)算機(jī)程序設(shè)計(jì)可以有效地對(duì)學(xué)生進(jìn)行動(dòng)態(tài)思維訓(xùn)練。動(dòng)態(tài)思維方法是分析問題、解決問題——特別是循時(shí)序不斷變化的問題——的重要方法。
動(dòng)態(tài)思維訓(xùn)練是與傳統(tǒng)數(shù)學(xué)、物理等學(xué)科運(yùn)用公理系統(tǒng)進(jìn)行的演繹思維訓(xùn)練相平行的另外一種重要的思維訓(xùn)練。同時(shí),計(jì)算機(jī)程序設(shè)計(jì)是培養(yǎng)學(xué)生創(chuàng)造力的一個(gè)極好手段。
——摘自郭善渡先生談程序設(shè)計(jì)教學(xué)(刊載于《中國信息技術(shù)教育》2007年第6期,P18)。
● 反思
我在講學(xué)中常以A=A+n說明“計(jì)算機(jī)程序設(shè)計(jì)以動(dòng)態(tài)數(shù)據(jù)處理形式反映客觀世界數(shù)量變化及運(yùn)動(dòng)過程”,以及引入變量和變量名概念對(duì)提高學(xué)生邏輯思維能力的重大意義。
A=A+n是計(jì)算機(jī)程序中常用到的賦值語句,其中的A是變量(n是常量也可以是變量)。這是計(jì)算機(jī)程序設(shè)計(jì)教學(xué)的重點(diǎn),也是精髓所在,具有重大的教育價(jià)值。但是,一些教師并未給予足夠的重視,甚至將“變量”等同于代數(shù)中的“未知數(shù)”。
生活中最常見和常用的邏輯主要是形式邏輯和辯證邏輯。形式邏輯是靜態(tài)邏輯,傳統(tǒng)數(shù)學(xué)、物理等學(xué)科培養(yǎng)的邏輯思維能力主要是這種“靜態(tài)邏輯”的思維能力。A=A是形式邏輯中的同一律。A=A+n違背了同一律,為形式邏輯所不容。這里的關(guān)鍵是,程序設(shè)計(jì)中的A=A+n引入了時(shí)間維度,A是變量,“=”右邊的A是“老A”,“=”左邊的A是“新A”。
古希臘哲學(xué)家赫拉克利特說“人不能兩次踏進(jìn)同一條河流”,此說被認(rèn)為開辯證思維之先河。他形象地表達(dá)了關(guān)于變的思想:“一切皆流,無物常駐?!彼膶W(xué)生克拉底魯進(jìn)一步發(fā)展了他的變的哲學(xué)。老師說,人不能兩次踏進(jìn)同一條河流;學(xué)生進(jìn)一步說,連一次也不能。這就完全否定了相對(duì)靜止,陷入詭辯論,乃至有“A既是A,又不是A”,直接與形式邏輯的同一律相對(duì)立。
我提出,引入變量和變量名的觀念,用于同一律,可以使形式邏輯與辯證邏輯這一矛盾迎刃而解。形式邏輯與辯證邏輯的同一律可統(tǒng)一表示為:A=A+n。當(dāng)n=0(相對(duì)靜止,或可忽略變化)時(shí),A=A,即形式邏輯之同一律乃是統(tǒng)一形式之特例;當(dāng)n≠0(運(yùn)動(dòng),或不可忽略變化)時(shí),A=A+n,可視為辯證邏輯之同一律。辯證邏輯引入了時(shí)間維度,不是從靜態(tài)上,而是從運(yùn)動(dòng)、變化、發(fā)展的實(shí)際過程去研究概念和推理。如果無視時(shí)間維度,不考慮相對(duì)穩(wěn)定在認(rèn)識(shí)和把握客觀事物上的重要意義,只是一味“辯證”地批判形式邏輯,將不可避免地跌入詭辯論的泥坑。
由于有了變量名(目前好像只有計(jì)算機(jī)程序中用到)的觀念,赫拉克利特“人不能兩次踏進(jìn)同一條河流”之說,將不再令人糾結(jié)。我們可以過N遍黃河,雖然黃河的水、河里的泥沙、河岸的土石不斷在變,甚至過河的人也在變,但“黃河”(變量名)千古不變。
其實(shí),人們通常使用的“同一律”正是A=A+n。也就是說,A可以不斷地變,但只要不超過“質(zhì)的規(guī)定(未產(chǎn)生質(zhì)變)”,則A還是A(變量名不變)。否則,你將不你,我將不我,世界上不會(huì)有確定性質(zhì)的事物了,整個(gè)世界混沌一團(tuán),我們不能指稱事物,更談不上認(rèn)識(shí)和分析事物了。
可見,僅變量和變量名的概念就具有這么重大的教育價(jià)值,其他蘊(yùn)含在計(jì)算機(jī)編程中的教育價(jià)值不勝枚舉。(參見拙著《計(jì)算機(jī)與創(chuàng)造教育》,發(fā)表于《課程·教材·教法》1999年第5期,P46)。遺憾的是,因?yàn)槟承┤颂岢隽恕盎A(chǔ)教育不需要培養(yǎng)程序員”的看法,教材中砍掉了計(jì)算機(jī)編程內(nèi)容。
2006年3月,周以真教授提出了計(jì)算思維(Computational Thinking)的概念。周教授認(rèn)為,計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì),以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。
受其影響,國內(nèi)一些學(xué)者呼吁將計(jì)算機(jī)編程重新引入我國的基礎(chǔ)教育信息技術(shù)課程(或技術(shù)實(shí)踐課程)。
在研讀了周教授的《計(jì)算思維》(《中國計(jì)算機(jī)學(xué)會(huì)通訊》,2007年第11期,翻譯:徐韻文,王飛躍)一文后,我認(rèn)為,周教授提出“計(jì)算思維”以強(qiáng)調(diào)計(jì)算機(jī)學(xué)科的重要性,其主觀愿望可以理解,也產(chǎn)生了積極的影響。
但是,人類對(duì)思維的認(rèn)識(shí)還很膚淺,所以,很難對(duì)思維進(jìn)行科學(xué)嚴(yán)謹(jǐn)?shù)姆诸?。以下一些分類,目前看來有其合理性,?duì)于研究思維心理的不同方面也可能是必要的。例如,按思維的抽象性可劃分為具象思維(形象思維)和抽象思維(邏輯思維);按思維內(nèi)容可劃分為再現(xiàn)性思維與創(chuàng)造性思維;按思維的目標(biāo)指向可劃分為發(fā)散思維(或求異思維)和聚合思維(或求同思維);等等。若試圖按工具、學(xué)科或應(yīng)用領(lǐng)域?qū)λ季S進(jìn)行分類則是不嚴(yán)謹(jǐn)?shù)摹@種分類避免不了交叉與混亂,如“計(jì)算思維”與“數(shù)學(xué)思維”“算法思維”“計(jì)算機(jī)思維”“互聯(lián)網(wǎng)思維”“云思維”“大數(shù)據(jù)思維”是什么關(guān)系?
20世紀(jì)80年代,北京市少年宮和一些小學(xué)開設(shè)了圍棋課程(課外活動(dòng))。人們發(fā)現(xiàn),圍棋對(duì)開發(fā)兒童智力有明顯和獨(dú)特的作用。一位教師(計(jì)算機(jī)教師也是圍棋教練)寫了一篇名為《在中小學(xué)開展圍棋活動(dòng)的教育意義》的文章,請(qǐng)我審閱。文中提到“圍棋思維”,被我刪掉了。圍棋博大精深,在開發(fā)和培養(yǎng)青少年智力上的確有獨(dú)到之處,且圍棋也的確具有獨(dú)到的“算法”,但我們只需深入挖掘其內(nèi)涵的教育因素即可,完全沒必要“攢”個(gè)新詞忽悠家長和學(xué)生。