華東師范大學開放教育學院教授,曾任華東師范大學信息科學技術(shù)學院副院長、全國中小學計算機教育研究中心上海部主任等職,近期主要從事兒童編程教育、計算思維教育等方面的研究工作,已出版專著《計算思維教育》《中小學計算思維教育實踐》以及兒童編程系列讀本,發(fā)表論文數(shù)十篇。
山東省青州第一中學信息技術(shù)特級教師、校長助理。山東省教科院兼職教研員,山東省教學能手、山東省電化教育先進個人、國培信息技術(shù)專家、山東省教育廳新課程培訓專家,獲得濰坊市政府教學成果一等獎。曾經(jīng)編寫國家教材(教科版)必修二《信息技術(shù)與社會》(副主編),出版專著《趣味動畫一點通》,主編山東省初中《信息技術(shù)》教材(泰山版),《中國信息技術(shù)教育》雜志“藍調(diào)解碼”欄目主持人,發(fā)表上百篇重要的國家級論文,指導信息學奧賽獲得省一等獎、國家三等獎十幾人次。
計算思維是一種學科思維,我們不否認計算思維教育會有利于學生思維整體水平的發(fā)展,同時也需要清楚計算思維作為計算機學科思維與其他學科思維有著不同之處,計算思維的獨特性才是計算思維教育的價值所在。
在高中信息技術(shù)新課程帶來的先進理念中,學科核心素養(yǎng)無疑是最為靚麗的風景,在由信息意識、數(shù)字化學習與創(chuàng)新、計算思維和信息社會責任引領的高中信息技術(shù)新課程、新教材的群山之中,計算思維是公認的一座高峰。偉人曾說過“無限風光在險峰”,對一線教師而言,計算思維的魅力與苦難于新課程新教材教學的確都如詩中所言。在漫漫的攀登途中,我們或許還有很多迷茫,本期對話特為大家指點迷津。
● 計算思維概念的發(fā)展
王愛勝:王教授您好,您一直在研究中小學信息技術(shù)課程、教材與教學,在計算思維在教學中如何落地方面有很多顯著的研究成果。所以,我將一線信息技術(shù)教師在教學中遇到的部分困惑提出來,請您分析指點。
根據(jù)我的了解,計算思維曾有不同的提法,也有不同的觀點與闡釋。計算思維概念的提出者周以真教授也有不同的闡述。周以真于2006年3月首次提出計算思維的概念,對計算思維的闡述側(cè)重軟件工程的學習思維與設計流程。2010年,周以真教授又指出計算思維是與形式化問題及其解決方案相關的思維過程,對計算思維的闡述更加微觀化,站在具體的計算機問題解決角度對計算思維進行了新的界定。這就造成了一線信息技術(shù)教師常有兩種困惑:針對第一種闡釋,好像在教學中只要學習編程就是對計算思維的落實;而針對第二種闡釋,又好像計算思維可以拓展到利用應用軟件解決問題等所有教學領域。
所以,想請教王教授,應如何認識計算思維的概念發(fā)展?如何看待編程設計與應用軟件不同的計算思維?
王榮良:王老師好!很榮幸能與您共同探討共同關心的計算思維教育問題。
但凡一個概念從專業(yè)領域走向大眾視野,必然會遇到很多問題。例如互聯(lián)網(wǎng),在計算機網(wǎng)絡專業(yè)中,還需要細分互聯(lián)網(wǎng)與因特網(wǎng)的異同以及各種技術(shù)特性,這就與目前大眾所接受的互聯(lián)網(wǎng)概念并不相同,而互聯(lián)網(wǎng)+概念的提出,則是反映了一種社會生產(chǎn)、社會生活方式,其原有的技術(shù)屬性明顯弱化。計算思維也一樣,計算思維概念在經(jīng)歷通俗化的過程中,會促使更多的人去學習、研究并接受這一概念,同時,計算思維概念本身也在不斷地演化與發(fā)展。其合理的發(fā)展方向,也是我們所關心的問題。
在計算機專業(yè)教育領域,計算思維早就被提出了。例如,《中國計算機科學與技術(shù)學科教程2002》,也稱為CCC2002教程,從學科教育思想、觀念、教學計劃以及學生培養(yǎng)目標等方面為計算機科學與技術(shù)本科教育提供了指導意見。CCC2002教程闡述了計算思維的梯級訓練系統(tǒng),并把計算思維能力作為專業(yè)本科學生必須掌握的學科能力。周以真教授把計算思維界定為如同讀、寫、算一樣重要的、每個人都要掌握的能力,引起了社會的廣泛重視以及很多學者的參與討論。計算思維的普及化發(fā)展,以及計算思維分解為更一般的思維方式等都是概念演化的不同方向。但是我們需要思考的是,計算思維概念發(fā)展的邊界在哪里?因為如果不預設邊界,計算思維很有可能會普及成為適合解決所有問題的一般思維方式。我的觀點是,計算思維是一種學科思維,我們不否認計算思維教育會有利于學生思維整體水平的發(fā)展,同時也需要清楚計算思維作為計算機學科思維與其他學科思維有著不同之處,計算思維的獨特性才是計算思維教育的價值所在。
王愛勝:請教王教授,計算思維有什么優(yōu)勢可以讓它成為信息技術(shù)學科思維呢?
王榮良:如果認可計算思維是計算機學科思維,那么,開展計算思維教育的最好載體就是計算機學科教育。這是我的第二個觀點。盡管在生活問題或其他場景中解決問題的過程也能領悟到計算思維,然而計算機學科知識、學科方法的學習經(jīng)歷是培養(yǎng)計算思維最直接也是最專業(yè)的途徑。當然,以這樣的途徑在中小學開展計算思維教育,面臨的挑戰(zhàn)是學生的認知水平和知識儲備與計算思維教育的關系,也就是說,中小學生能夠掌握的計算機學科知識是否能夠支撐計算思維發(fā)展的需要。
作為20世紀最偉大的發(fā)明,計算機有兩個特點:通用性和友好性。通用性表現(xiàn)在計算機高度抽象了數(shù)據(jù)計算的過程,我們在其基本架構(gòu)上運用計算機學科思想與方法編制軟件或設計硬件,就可以為特定的應用服務。通用性也造就了計算機具有應用的廣泛性。友好性則反映了計算機的發(fā)展是以盡可能降低人的能量開銷為目標的,其特定應用的傻瓜化發(fā)展,就是在一定程度上或范圍內(nèi)幫助人們降低思維強度,從而輕松地享用計算機。正因為如此,計算機會被廣泛地應于各個領域。因此,我的第三個觀點是,不能以計算機在當代社會應用的普及性來簡單推斷計算思維教育的重要性。
由于實施計算機學科教學需要有一定的門檻高度,所以在中小學開展計算思維教育,面臨著學習者計算機學科基礎知識匱乏的困境。相對而言,編程學習需要的學科基礎知識比較少,起點低,中小學生容易接受,是一個適合在中小學開展計算思維教育的載體。同時,在中小學開展編程學習有基礎,且目前也有比較多的人機交互友好的編程平臺可供選擇,這也是有利因素。更重要的是,程序設計是一個作品創(chuàng)作的過程,這個過程能夠體現(xiàn)計算機學科思想與方法的運用。
至于利用應用軟件解決問題,則需要考察其表述的應用與計算機學科思想與方法的關系。一般而言,所謂應用軟件,就是計算機軟件開發(fā)人員已經(jīng)將具體應用的操作要求以程序為載體進行了固化,從而降低使用者的思維負荷。例如,使用文字處理軟件,使用者思考的重點肯定是文章寫作本身,而對于文字編輯、查找、修改等功能僅僅是熟練應用而已。如果學生裝配或使用應用軟件解決問題時,需要運用計算機學科思想與方法,或者在學習該應用軟件時需要運用計算機學科思想與方法,那么經(jīng)歷此過程,有利于促進學生計算思維的形成。軟件操作技能的掌握,可能成為計算思維教育的基礎,如果解決問題的重點不是計算機學科思想方法的運用,那么與計算思維的關系不大。我們有理由相信,一個人能夠非常熟練地玩電子游戲,并不能說明其計算思維也同步發(fā)展。
● 計算思維與算法思維的關系
王愛勝:通過王教授的分析,我們結(jié)合新教材及各地教學實踐來看,覺得在義教階段可能更有利于進行應用軟件方面的計算思維培育,而高中學生更多的是急需在編程教學上的計算思維培養(yǎng)。在編程教學中,一直困擾一線教師的是算法思維與計算思維應是一種怎樣的關系呢?比如,設計一種查找程序,查找的策略有很多,如順序查找、折半查找等。生活中,我們找東西更多的方法當然是順序查找,無非就是費點力氣一個一個地查看。而用計算機解決問題,就可以通過遞歸算法進行分治策略處理,從而更高效地進行折半查找。這種算法的優(yōu)化策略,也是因為具有較好的計算思維了嗎?
因此,請教王教授,算法思維與技術(shù)思維的關系是怎樣的?對傳統(tǒng)提法中的算法思維而言,遞歸也好,分治也罷,這個優(yōu)秀的算法內(nèi)容本身,在計算思維中是如何表征的呢?屬于計算思維的哪種表現(xiàn)呢?
王榮良:算法是問題求解的一種手段。在使用計算機解決問題的過程中,問題求解的關鍵點之一是設計算法,即設計可實現(xiàn)的算法,設計可以在有限時間和空間內(nèi)執(zhí)行的算法,設計盡可能快速的算法。我曾經(jīng)從三個方面描述算法思維:算法思維就是能清楚地說明問題解決的方法,能夠?qū)⒁粋€復雜的問題轉(zhuǎn)化成若干子問題并將其進一步簡化,以達到解決問題的目的;算法思維就是能清楚地理解問題解決的規(guī)則,能夠認識到問題的起點、邊界和限定范圍,按部就班地完成任務或解決問題;算法思維就是能清楚地分析問題解決方法的優(yōu)劣,能夠設計與構(gòu)造操作步驟更少、更經(jīng)濟的算法。
所謂計算,就是“數(shù)據(jù)”在“運算符”的操作下,按“規(guī)則”進行數(shù)據(jù)變換。當我們要求計算機自動計算時,就是需要設計一些規(guī)則,能讓計算機按這些規(guī)則自動完成工作,這一過程就是設計算法。算法的本質(zhì)是規(guī)則及構(gòu)造,構(gòu)造算法的前提是數(shù)學建模,目的是通過構(gòu)造有序規(guī)則自動地解決預設的問題。美國國際教育技術(shù)協(xié)會和計算機科學教師協(xié)會描述了計算思維問題解決過程六個階段要素:①提出問題,這些問題能通過計算機或其他工具解決;②按邏輯組織和分析問題;③通過抽象表征數(shù)據(jù),如建模和仿真;④使用算法思維自動化解決方案;⑤識別、分析和實施可能的解決方案,以實現(xiàn)最有效資源和步驟的組合;⑥總結(jié)問題解決過程,并遷移到不同問題解決中。這被稱為計算思維的一種操作性定義,算法在其中的地位十分重要。
因此,算法學習,學習者所習得的是一種解決問題的策略,如王老師您所說的,運用分治策略處理,采用折半查找方法可以快速地查找數(shù)據(jù);算法學習,也為學習者建立一種觀念,即通過有限步操作規(guī)則,特別是通過重復執(zhí)行的操作步驟,可以清晰地認識到,一個復雜的問題是可以逐步地通過執(zhí)行預設的規(guī)則而得以解決。這一經(jīng)歷過程與計算思維是一致的,即經(jīng)歷“抽象—形式化表達—構(gòu)造—自動化”的過程,針對問題,通過抽象,形成合適的算法,用形式化方式準確地表達,然后構(gòu)造執(zhí)行序列,最后自動化地解決問題。我把運用算法思維實現(xiàn)這一過程稱之為用“程序性構(gòu)造”實現(xiàn)自動化,即在時間上通過有序操作實現(xiàn)問題解決,這是算法思維對計算思維所做出的貢獻。
王愛勝:請教王教授,除了算法思維之外,我們還可以從哪些角度來應用計算思維呢?
王榮良:除了算法思維,系統(tǒng)思想與方法也是求解計算問題的一個重要手段。對于系統(tǒng)的研究,涉及怎樣刻畫與描述系統(tǒng),類似于計算過程的數(shù)學建模,運用系統(tǒng)建模的方法來解決問題。這樣,一個系統(tǒng)可以通過模型來表達,也可以通過分析模型來分析系統(tǒng)。
系統(tǒng)具有層次性,不同的抽象層次看到的系統(tǒng)是不一樣的,系統(tǒng)思想和方法可以指導人們怎樣通過分層將復雜的問題化解為簡單問題,怎樣把系統(tǒng)表述清楚,怎樣將存在的但不可見的系統(tǒng)以可見或可理解的方式呈現(xiàn)出來,以及怎樣用部件有效地構(gòu)造系統(tǒng),評價系統(tǒng)的性能。例如,對于計算機網(wǎng)絡協(xié)議,就是通過系統(tǒng)分層的思想,清晰地闡述數(shù)據(jù)包的自動傳輸。系統(tǒng)思想與方法作用于計算思維,我稱之為“系統(tǒng)性構(gòu)造”,體現(xiàn)的解決問題的過程是通過對現(xiàn)實世界待解決問題的分析與描述以后,用一個個對象或構(gòu)件組成系統(tǒng),通過系統(tǒng)建模,從空間上構(gòu)造一個計算系統(tǒng)來實現(xiàn)自動化。例如,在面向?qū)ο蟮某绦蛟O計中,對象的行為或者方法是在時間上反映規(guī)則執(zhí)行序列,是算法思維的體現(xiàn);而各對象之間的關系、對象與類之間的關系,則是從空間上體現(xiàn)了系統(tǒng)的有機組成,是系統(tǒng)思想的體現(xiàn)。
當然,系統(tǒng)是人們看待世界中的事物的一種有效方式,系統(tǒng)思想與方法有其通用性,很多學科都用系統(tǒng)的觀點來分析問題和表達問題。不同的學科,由于視角和研究目標、研究方法的不同,對同一事物的表述也會有所不同。因此,在計算思維教育的大框架下,系統(tǒng)思想與方法的運用一定要關注計算機學科思想方法的體現(xiàn),具有計算機學科特征。例如,信息管理與信息系統(tǒng)專業(yè)把信息系統(tǒng)界定為實現(xiàn)對信息的有效傳遞、存儲、處理和利用而建立的包括設備、技術(shù)、人員與機構(gòu)在內(nèi)的綜合系統(tǒng),因為該專業(yè)隸屬管理學,人作為管理學研究的要素則必然被包含在信息系統(tǒng)之中。從表面上看,我們會發(fā)現(xiàn),在這種系統(tǒng)觀下人機交互就成為了系統(tǒng)內(nèi)部的數(shù)據(jù)通信。而從計算的觀點出發(fā),人不應該是計算系統(tǒng)的組成部分,而是計算系統(tǒng)的外部環(huán)境,計算思維就是用于理解計算系統(tǒng)如何通過控制其系統(tǒng)內(nèi)部各組成部分自動化地為人類解決問題。所以,計算思維教育特別需要重點關注計算系統(tǒng)是如何通過內(nèi)部控制和外部的輸入輸出來為人類服務。
● 計算思維的培養(yǎng)周期問題
王愛勝:王教授給出的解答,實際上是明確了計算思維的概念的內(nèi)涵與外延、編程中計算思維的應用及計算思維的目的界定方法等,讓我們對計算思維在教學中的實現(xiàn)有了更多的信心。然而,我們可能還有一個更大的問題會時刻面對,即計算思維的形成到底在時間、空間上需要怎樣的期待。有的老師說,一節(jié)課兩節(jié)課不可能形成計算思維,得一個學期或者一個學段才行;也有的老師說,一個問題的解決就可以落實計算思維。這讓我們的教學設計、教學實施都有一些迷茫。
因此,請王教授給我們一個計算思維培養(yǎng)周期的建議。
王榮良:這是一個很有趣的問題。要明了計算思維的培養(yǎng)周期,就需要明確計算思維培養(yǎng)的目標以及這一目標的評測方法。更進一步,我們還需要知道如何開展計算思維的培養(yǎng)。這樣的話,計算思維培養(yǎng)周期的問題,又繞回到了計算思維教育問題本身。
查閱《普通高中信息技術(shù)課程標準(2017年版)》,可以發(fā)現(xiàn)針對課程各模塊計算思維的學業(yè)水平要求,不少都是按計算機或網(wǎng)絡等學科知識要求描述的。我們不能將此理解為計算思維就是用知識掌握來評價的,更不能簡單地推斷計算思維培養(yǎng)就是知識學習。同樣的現(xiàn)象也出現(xiàn)在信息意識的學業(yè)水平描述上,這既說明意識或者思維之類的概念在具體描述上的困難性,同時也說明計算思維與各教學階段的學科知識有相關性。
從計算思維的本源出發(fā),具備計算思維的人應該能夠自如地運用計算機學科思想方法解決問題。其解決的問題可以是計算機學科問題,也可以是將計算機學科思想方法遷移到其他方面問題的運用。也就是說,一個具備計算思維的人,能夠“計算地”看待問題,哪怕是好奇心,也會具備計算的特征。例如,他遇到一款新接觸的應用軟件,會產(chǎn)生與普通人不一樣的、基于計算機學科的思考,猜想該軟件的核心功能、主要算法以及可行性方案,并且還會輸入一些參數(shù)來測試與驗證自己的猜想。
計算思維的能力是復合的,無論是語言能力、認知能力、解決問題能力,都支撐計算思維的實施與發(fā)展。比較其他學科,概括能力、構(gòu)造能力和推演能力是最能體現(xiàn)計算思維學科特征的能力。概括能力支持學生有關計算機的學科知識認知,同時也支持學生計算思維向理論方向升華。構(gòu)造能力是一種計算機類系統(tǒng)的設計能力,是解決問題的重要能力體現(xiàn),反映了計算思維解決問題的獨特性,體現(xiàn)了計算機學科從理論到實踐的運用。推演能力是一種最基本的邏輯演繹能力,其保障了計算思維正確的思維路徑和思維結(jié)果,同時也可以驗證計算結(jié)果的正確性。
王愛勝:王教授,您可否從基本、較強等不同等級或水平的計算思維給我們一種信心?
王榮良:目前,一些機構(gòu)在研制并發(fā)布了各種計算思維評測方法和量表。大部分評測方式都是采用問卷的方式來測量學生的計算思維水平,但這些測評方法并不適合日常教學中的常規(guī)評價。回到實際的教學,我們知道,純粹的思維教育是不存在的,計算思維教育必然融入到計算機學科知識與方法的教學之中。因此,計算思維的培養(yǎng)周期應該與承載計算思維教育的課程教學同步,但其與知識學習的不同點在于:其一,不同于知識學習可以用是否記憶來檢測學習效果,計算思維培養(yǎng)需要有一定的時間積淀,在從知識向能力升華過程中得到發(fā)展;其二,思維是一個過程,計算思維的形成需要經(jīng)歷從抽象到自動化的問題解決全過程。
依據(jù)以上兩點可知,知識學習與計算思維發(fā)展是有關聯(lián)的。在計算思維教育的框架下,簡單記憶不是知識教學的主要目標,如何通過知識的學習促進學生思考才是教師需要深思的問題。相應地,計算思維的評價也不是只能采用問卷式的量表進行評測,而是可以結(jié)合教學內(nèi)容從學科知識與方法的掌握運用到問題解決等多個維度進行綜合評價。
按照知識技能與計算思維關系的緊密程度,可以把學科知識技能分為三類。第一類與計算思維的關聯(lián)度最高,如算法概念以及各類具體算法,經(jīng)歷算法應用及其實現(xiàn)過程與計算思維重合度高,顯性地支持計算思維的形成。第二類與計算思維關聯(lián)度一般,如二進制知識及涉及的“0”“1”思維,反映出其在計算機存儲、運算以及信息編碼等方面的特征,隱性地支持計算思維的形成。第三類與計算思維關聯(lián)度最弱,如計算機操作技能,雖然從學理上分析這些技能與計算思維幾乎不相關,但其熟練程度與學科知識與方法的學習效率相關,從而間接影響到計算思維的培養(yǎng)。因此,系統(tǒng)地規(guī)劃課程內(nèi)容十分重要,既能保障課程內(nèi)容的系統(tǒng)性,又能彰顯計算思維的培養(yǎng)。
不同學習階段的計算思維能力表現(xiàn)是不一樣的。這既反映在不同年齡段的學生在問題理解、知識駕馭等能力上的差異,也體現(xiàn)在不同的學習內(nèi)容導致學生使用不同的學科方法解決問題上。新課程依據(jù)計算思維教育的目標要求進行系統(tǒng)的規(guī)劃,雖然沒有必要每節(jié)課的學習內(nèi)容都與計算思維緊密關聯(lián),但是每個學期或?qū)W年,都應該具有運用計算機學科思想解決問題的完整經(jīng)歷,從而不斷地積淀計算思維,螺旋式地發(fā)展計算思維。
● 結(jié)束語
王愛勝:非常感謝王教授的熱心交流和專業(yè)指導,讓我們認識到計算思維既是一種課堂教學中具體的可操作、可培養(yǎng)的內(nèi)容,也是一種教育教學中長期的理念與目標,我們將進一步在教學實踐中探索、嘗試、反思與交流,希望我們能在一起攀登計算思維學科核心素養(yǎng)高峰的過程中,看見更多的課程風景,收獲更多的課堂教學成果。期待有一天,與王教授在高中信息技術(shù)教學的征途上再次會面,再論課程教學和進步方向!
王榮良:能夠有機會和王老師就計算思維教育實施過程中一線教師關心的問題進行交流,是一件很愉快的事,我感到收獲很大。
我們要用系統(tǒng)的觀點看待計算思維教育,同時計算思維教育實施也是一個系統(tǒng)工程。從高中信息技術(shù)課程來看,數(shù)據(jù)、算法、信息系統(tǒng)、信息社會等概念對應的學科思想方法很豐富,如何選用正確的學科思想方法理解計算思維,無論對于教師的教還是學生的學,都是一種挑戰(zhàn)。平板設備的廣泛使用,導致小學生的鍵盤和鼠標操作技能不如以往,是否需要設置統(tǒng)一的教學要求?更一般地,針對不同年齡段的學生開展計算思維教育其合理的知識技能基礎是什么?這些問題都需要深入研究。計算思維教育將在探索中前行。
最后再次感謝王愛勝老師,也非常感謝《中國信息技術(shù)教育》雜志為我們提供交流平臺。