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