馮友梅
天津師范大學(xué)教育學(xué)部副教授,博士,碩士生導(dǎo)師。主要研究方向?yàn)樾畔⒖萍颊n程與教學(xué)、思維可視化理論與實(shí)踐。近年來(lái)圍繞以上兩個(gè)研究方向在《電化教育研究》《中國(guó)電化教育》《現(xiàn)代教育技術(shù)》等期刊上發(fā)表論文20余篇,主持全國(guó)教科規(guī)劃教育部重點(diǎn)項(xiàng)目等省部級(jí)課題四項(xiàng),主編及參編教材多部,多次被評(píng)為全國(guó)優(yōu)秀培訓(xùn)教師。
魏寧
北京市東城區(qū)教育科學(xué)研究院研修員,《中國(guó)信息技術(shù)教育》雜志特約撰稿人/專欄作者。
歸于算法——發(fā)展學(xué)生的計(jì)算思維應(yīng)該“教什么”?
魏寧:馮教授您好,很高興有機(jī)會(huì)和您聊一聊有關(guān)計(jì)算思維的話題。作為學(xué)科核心素養(yǎng),近年來(lái),計(jì)算思維受到了廣大信息科技教師的普遍關(guān)注,如何培養(yǎng)、發(fā)展學(xué)生的計(jì)算思維,已經(jīng)成為信息科技課程教學(xué)的重要任務(wù),您對(duì)此有何看法?
馮友梅:的確,計(jì)算思維是重要的學(xué)科核心素養(yǎng),稱得上是課程的核心教學(xué)目標(biāo)。特別是在當(dāng)前計(jì)算思維的培養(yǎng)已經(jīng)常態(tài)化的情況下,甚至要求每節(jié)課都有自己明確的計(jì)算思維培養(yǎng)目標(biāo)。這就需要我們思考:應(yīng)該如何通過(guò)課程內(nèi)容的學(xué)習(xí)系統(tǒng)、有計(jì)劃地培養(yǎng)、發(fā)展學(xué)生的計(jì)算思維?
在當(dāng)前的教學(xué)實(shí)踐中,存在這樣一種現(xiàn)象,就是每當(dāng)提到計(jì)算思維的培養(yǎng),所有人都覺(jué)得非常重要,但一說(shuō)到具體怎么做,又會(huì)感覺(jué)到計(jì)算思維有點(diǎn)“虛”,感覺(jué)就像飄在空中,很難落地,不易找到一個(gè)具體的解決方案。
較為普遍的一種認(rèn)識(shí)和做法是:在教學(xué)過(guò)程中讓學(xué)生多經(jīng)歷問(wèn)題解決的過(guò)程,在這個(gè)過(guò)程中去培養(yǎng)計(jì)算思維。例如,把計(jì)算思維從思維過(guò)程的角度拆分成若干要素——抽象、分解、建模等,讓學(xué)生通過(guò)抽象、分解、建模等一系列思維活動(dòng)達(dá)成對(duì)計(jì)算思維的培養(yǎng)。
但這樣做存在的問(wèn)題是,無(wú)法把計(jì)算思維拆分到很細(xì)的粒度,做不到每節(jié)課都有明確的計(jì)算思維培養(yǎng)目標(biāo)。其結(jié)果就是老師們雖然知道每節(jié)課的教學(xué)都是面向計(jì)算思維的,但又說(shuō)不清楚這節(jié)課為計(jì)算思維的發(fā)展做出了什么具體的貢獻(xiàn),也無(wú)法形成一個(gè)計(jì)算思維培養(yǎng)的系統(tǒng)的、有規(guī)劃的教學(xué)體系。
魏寧:因此,需要換一個(gè)角度去思考?
馮友梅:計(jì)算思維的培養(yǎng)屬于思維教學(xué),多年來(lái),我們一直是把思維教學(xué)和知識(shí)教學(xué)拆分成兩條線來(lái)進(jìn)行的。但在教學(xué)實(shí)踐中會(huì)觀察到,如果一個(gè)學(xué)生對(duì)知識(shí)的掌握能夠系統(tǒng)、深入,達(dá)到深度學(xué)習(xí)的層次,他的思維必然處于高水平。從這個(gè)角度來(lái)看,就需要反思,將思維教學(xué)和知識(shí)教學(xué)分開(kāi)是否合理呢?
事實(shí)上,教學(xué)中知識(shí)與思維分離這一假設(shè),源自認(rèn)知心理學(xué)中關(guān)于學(xué)習(xí)核心機(jī)制中的“信息加工”隱喻,并且是通過(guò)與計(jì)算機(jī)科學(xué)簡(jiǎn)單類比得出的。它把學(xué)習(xí)解釋為一個(gè)程序加工的過(guò)程,這個(gè)時(shí)候程序本身就是思維過(guò)程,而內(nèi)容與過(guò)程則是割裂的。
相比之下,皮亞杰的發(fā)生認(rèn)識(shí)論所揭示的“思維過(guò)程和思維內(nèi)容是本質(zhì)上不可分割的統(tǒng)一整體”這一觀點(diǎn)顯然更為合理,也就是說(shuō),在思維培養(yǎng)的過(guò)程中,思維和知識(shí),即思維過(guò)程和思維內(nèi)容是不能分開(kāi)或者說(shuō)不能截然分開(kāi)的。以此作為核心理論依據(jù),我們就可以把計(jì)算思維的培養(yǎng)歸結(jié)為特定的知識(shí)結(jié)構(gòu)的培養(yǎng)。這就是我們所說(shuō)的“面向知識(shí)的教學(xué)”,當(dāng)然,在這里,從面向思維的教學(xué)“回歸”到面向知識(shí)的教學(xué),并不是一種簡(jiǎn)單的回歸,而是一種哲學(xué)上的“否定之否定”。
原來(lái)的知識(shí)教學(xué),大家總會(huì)詬病說(shuō)“有知識(shí)無(wú)能力”“有知識(shí)無(wú)智慧”,因?yàn)樗嗟氖且环N面向知識(shí)點(diǎn)的教學(xué),教的是一個(gè)個(gè)散點(diǎn),缺乏一種知識(shí)結(jié)構(gòu)。因此,對(duì)于計(jì)算思維的教學(xué),就要想辦法把它轉(zhuǎn)換成面向特定知識(shí)結(jié)構(gòu)的教學(xué),最終實(shí)現(xiàn)知識(shí)結(jié)構(gòu)和思維結(jié)構(gòu)的內(nèi)在統(tǒng)一,從而發(fā)展學(xué)生的計(jì)算思維。
同時(shí),還要關(guān)注知識(shí)結(jié)構(gòu)中知識(shí)點(diǎn)與知識(shí)點(diǎn)之間的關(guān)聯(lián),讓每節(jié)課的知識(shí)點(diǎn)都能融入已有的知識(shí)結(jié)構(gòu)中,最后形成復(fù)雜、整體的知識(shí)結(jié)構(gòu),這樣才能與高水平的思維和智慧相匹配。
魏寧:從這個(gè)角度出發(fā),您認(rèn)為能夠支撐計(jì)算思維發(fā)展的知識(shí)結(jié)構(gòu)是什么樣的?
馮友梅:我覺(jué)得可以用一個(gè)二維描述框架來(lái)說(shuō)明,它包括計(jì)算概念和計(jì)算策略兩個(gè)維度。我稍微解釋一下:如果把信息科技學(xué)科的所有學(xué)科對(duì)象的集合定義為“信息科技世界”,從這個(gè)世界自身的角度看,處于支撐地位的知識(shí)就包括了信息科技世界內(nèi)部的各種對(duì)象及其屬性的知識(shí)、各類信息系統(tǒng)運(yùn)行過(guò)程及其控制機(jī)制的知識(shí),而從人與信息科技世界關(guān)系的角度看,則包括了各種實(shí)踐過(guò)程及其目標(biāo)的知識(shí)。所謂的策略性知識(shí)體系就“鑲嵌”于以上各類知識(shí)之中。我們可以把策略性知識(shí)體系稱為“計(jì)算策略”,這是知識(shí)結(jié)構(gòu)中的核心,而把所有處于支撐地位的知識(shí)稱為“計(jì)算概念”。這兩類知識(shí)作為靜態(tài)知識(shí)的基礎(chǔ),支持動(dòng)態(tài)計(jì)算思維過(guò)程的運(yùn)轉(zhuǎn),達(dá)成動(dòng)態(tài)統(tǒng)一,這就是計(jì)算思維描述框架中兩個(gè)維度的由來(lái)(如下頁(yè)圖)。
可以預(yù)見(jiàn)的是,以上策略性知識(shí)體系,也就是支撐計(jì)算思維發(fā)展的知識(shí)結(jié)構(gòu)一旦在學(xué)生頭腦中形成,就可以向其他學(xué)科和生活領(lǐng)域遷移,從而表現(xiàn)出高水平的計(jì)算思維。
魏寧:具體的計(jì)算概念和計(jì)算策略該如何提取呢?
馮友梅:計(jì)算概念和計(jì)算策略可以采取自上而下與自下而上相結(jié)合的方式來(lái)提取。
首先,從基礎(chǔ)教育階段的上游學(xué)科——計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科中尋找依據(jù)和線索。其實(shí),在高等教育領(lǐng)域,自20世紀(jì)90年代起就開(kāi)始追問(wèn):“作為一門學(xué)科,計(jì)算機(jī)科學(xué)與技術(shù)應(yīng)該讓學(xué)生了解哪些富有智慧的核心思想?”“計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科中具有共同、本質(zhì)特征的內(nèi)容是什么?”經(jīng)過(guò)多年的提煉,目前較為公認(rèn)的學(xué)科核心概念包括算法、程序、硬件、軟件、效率、安全性等,學(xué)科核心知識(shí)領(lǐng)域包括離散結(jié)構(gòu)、程序設(shè)計(jì)基礎(chǔ)、算法和復(fù)雜性、操作系統(tǒng)、網(wǎng)絡(luò)計(jì)算、圖形學(xué)和可視化計(jì)算、信息系統(tǒng)、軟件工程等,學(xué)科核心方法包括分解、封裝、模塊化、遞歸、迭代、折衷、重用等。
上述的計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科的核心概念、核心知識(shí)領(lǐng)域就是提取計(jì)算概念維度核心要素的重要依據(jù),而核心方法則是提取計(jì)算策略維度核心要素的重要依據(jù)。
其次,還要以基礎(chǔ)教育階段信息科技學(xué)科的基本理念和學(xué)生特點(diǎn)為依據(jù),將上游學(xué)科核心知識(shí)領(lǐng)域、核心概念和方法做取舍、調(diào)整后向下映射,最終形成計(jì)算概念和計(jì)算策略維度的核心要素集合。
魏寧:最終的核心要素包含什么?
馮友梅:作為支撐計(jì)算思維發(fā)展的知識(shí)結(jié)構(gòu)的核心,計(jì)算策略維度包含13個(gè)核心要素——分治、減治、變治、封裝、重用、可視化、迭代、統(tǒng)籌、折衷、貪心、蠻干、回溯、動(dòng)態(tài)規(guī)劃(如下頁(yè)表)。這些策略在信息科技課程中都可以找到相應(yīng)的實(shí)例,如“信息系統(tǒng)自頂向下的開(kāi)發(fā)過(guò)程”“網(wǎng)絡(luò)體系結(jié)構(gòu)”“遞歸算法”中包含了分治策略,“折半查找算法”“快速排序算法”中包含了減治策略,“蒙特卡洛算法”中包含了變治策略,等等。
計(jì)算概念是計(jì)算策略的支撐,大致包括對(duì)象與屬性、過(guò)程與控制、目標(biāo)與實(shí)踐三個(gè)維度。
這樣以計(jì)算策略、計(jì)算概念兩個(gè)維度及其核心要素構(gòu)成計(jì)算思維二維描述框架,將有助于將計(jì)算思維的培養(yǎng)落到實(shí)處。
魏寧:以上您為我們呈現(xiàn)了發(fā)展學(xué)生計(jì)算思維的知識(shí)結(jié)構(gòu)—— 一個(gè)包含計(jì)算概念和計(jì)算策略的二維描述框架。通過(guò)這些核心要素的分解、滲透,就能解決發(fā)展計(jì)算思維應(yīng)該“教什么”的問(wèn)題,同時(shí)讓每節(jié)課的教學(xué)目標(biāo)落在實(shí)處。
馮友梅:這也就是針對(duì)計(jì)算思維培養(yǎng)和發(fā)展的一個(gè)核心觀點(diǎn)——將信息科技學(xué)科的知識(shí)結(jié)構(gòu)還原為計(jì)算方法和策略,也就是我們常說(shuō)的算法,以解決發(fā)展學(xué)生計(jì)算思維應(yīng)該“教什么”的問(wèn)題,我把它稱作“歸于算法”。
魏寧:它是如何落實(shí)到每一節(jié)課上的呢?
馮友梅:通俗地說(shuō)就叫以點(diǎn)帶面,通過(guò)這種形式,讓每一節(jié)課都能有明確的計(jì)算思維培養(yǎng)目標(biāo)。如果我們形成了知識(shí)意義上的計(jì)算思維,也就是二維描述框架里面的各個(gè)核心要素,并且這些核心要素又可以一層一層細(xì)分,那么我們就能夠讓每一節(jié)課都有明確的計(jì)算思維培養(yǎng)要素,進(jìn)而對(duì)整體的面向計(jì)算思維培養(yǎng)的信息科技教學(xué)進(jìn)行系統(tǒng)的、精確化的教學(xué)設(shè)計(jì)。
始于算理——發(fā)展學(xué)生的計(jì)算思維應(yīng)該“怎么教”?
魏寧:馮教授,前面我們通過(guò)對(duì)支撐計(jì)算思維發(fā)展的知識(shí)結(jié)構(gòu)的探討,明晰了這一結(jié)構(gòu)中的計(jì)算概念、計(jì)算策略及其核心要素,進(jìn)而提出了發(fā)展計(jì)算思維應(yīng)該教什么——“歸于算法”。那接下來(lái)的問(wèn)題就是,在課堂上,學(xué)生怎樣才能掌握這些核心要素?教師又該“如何教”呢?
馮友梅:是的,我們剛才提到了一個(gè)核心觀點(diǎn)——培養(yǎng)和發(fā)展計(jì)算思維需要將信息科技學(xué)科的知識(shí)結(jié)構(gòu)還原為算法,其中最為核心的是形成計(jì)算策略維度的13個(gè)核心要素,這樣就解決了發(fā)展學(xué)生計(jì)算思維“教什么”的問(wèn)題,接下來(lái)的問(wèn)題就是,算法類的知識(shí)、策略該“如何教”?
要想弄清楚這個(gè)問(wèn)題,首先要明確算法屬于一種什么類型的知識(shí)。我們不妨換一個(gè)角度來(lái)理解這個(gè)問(wèn)題,這次信息科技課程的確立,一個(gè)重要的特征就是課程名稱中的“科”字,在課程理念中,也強(qiáng)調(diào)了“體現(xiàn)‘科’‘技’并重”,即科學(xué)原理和實(shí)踐應(yīng)用并重。那么,信息科技課程中的“科”與物理、化學(xué)等科學(xué)課程有何區(qū)別呢?
魏寧:很多老師會(huì)期待,信息科技課程的確立,能讓課程增加科學(xué)的“味道”,更多地向物理、化學(xué)等科學(xué)類課程靠攏。
馮友梅:是這樣的,但如果仔細(xì)觀察的話,就會(huì)發(fā)現(xiàn),信息科技課程中的科學(xué)原理與物理、化學(xué)等科學(xué)課程中的科學(xué)原理,在本質(zhì)上是不同的。
我舉一個(gè)例子,直觀地看,信息科技課程中的互聯(lián)網(wǎng)基本原理與生物課程中的光合作用原理都屬于科學(xué)原理。但科學(xué)類課程中的科學(xué)原理源自自然世界,是自然世界中存在的自發(fā)性規(guī)律。而信息科技學(xué)科本質(zhì)上屬于技術(shù)學(xué)科,它的使命是改造自然世界。從嚴(yán)格意義上說(shuō),信息科技課程中存在的是技術(shù)原理,而不是科學(xué)原理,它針對(duì)的是人工自然對(duì)象,從源頭或本質(zhì)上來(lái)說(shuō)就是問(wèn)題解決方案,也就是算法。
所以,要想在信息科技課程中去探尋科學(xué)原理,并不是向科學(xué)課程去靠攏,而是不局限于技術(shù)的表層功能,把表層功能的傻瓜化“面紗”撕掉,深入到更底層去關(guān)注技術(shù)的內(nèi)部結(jié)構(gòu)以及運(yùn)行機(jī)理,看看是如何實(shí)現(xiàn)這些功能的。從培養(yǎng)和發(fā)展學(xué)生計(jì)算思維的角度考慮,也是一樣的道理,如果我們只關(guān)注技術(shù)的表層功能,以及如何使用它的話,將很難理解計(jì)算策略是如何發(fā)揮作用的,很難為計(jì)算思維的發(fā)展提供有力的支撐。
但是,技術(shù)的表層功能和底層的算法,往往是一個(gè)互補(bǔ)的過(guò)程。表層越“傻瓜”,它的底層的運(yùn)行機(jī)理越復(fù)雜,其中蘊(yùn)含的方法和策略也更多,技術(shù)的智慧就體現(xiàn)在這里。
魏寧:也就是說(shuō),對(duì)于信息科技課程來(lái)說(shuō),這些技術(shù)底層的算法就是它的“科學(xué)原理”。那么,我們能否借鑒科學(xué)類課程中科學(xué)原理的教學(xué)流程來(lái)教算法呢?
馮友梅:這個(gè)問(wèn)題非常重要,我認(rèn)為不能。我們知道,在科學(xué)類課程中,科學(xué)原理通常依照“現(xiàn)象感知—原理理解(探究)—應(yīng)用遷移”這一教學(xué)流程展開(kāi)。這是因?yàn)榭茖W(xué)知識(shí)是人類認(rèn)識(shí)世界的成果,科學(xué)原理是它的重要組成部分,在上述教學(xué)流程中,學(xué)生可以把具體的科學(xué)現(xiàn)象和抽象的科學(xué)原理關(guān)聯(lián)起來(lái),實(shí)現(xiàn)科學(xué)原理的內(nèi)化,也可以通過(guò)自主探究,經(jīng)歷科學(xué)原理的發(fā)現(xiàn)過(guò)程,來(lái)習(xí)得科學(xué)原理。
但信息科技課程中的科學(xué)原理,也就是算法,它在本質(zhì)上是人類改造世界的成果,也就是問(wèn)題解決方案。試想,我們?nèi)绻捎每茖W(xué)類課程的教學(xué)流程,會(huì)出現(xiàn)什么結(jié)果呢?我們以互聯(lián)網(wǎng)基本原理為例,多半會(huì)是這樣一個(gè)過(guò)程:首先讓學(xué)生感受生活中的互聯(lián)網(wǎng)應(yīng)用場(chǎng)景,引導(dǎo)學(xué)生思考它的內(nèi)部原理,再通過(guò)類比、動(dòng)畫等方式讓學(xué)生理解這一原理,最后用掌握的原理解釋相關(guān)現(xiàn)象或解決相關(guān)問(wèn)題。但問(wèn)題是,在以上過(guò)程中,學(xué)生經(jīng)歷的是對(duì)“互聯(lián)網(wǎng)基本原理”的認(rèn)識(shí),而沒(méi)有經(jīng)歷“互聯(lián)網(wǎng)基本原理”的創(chuàng)造過(guò)程,他們很難理解互聯(lián)網(wǎng)中的每一層是做什么的、如何開(kāi)展協(xié)作,更難領(lǐng)會(huì)到計(jì)算策略的核心要素——分治、封裝、統(tǒng)籌等。畢竟,學(xué)生所習(xí)得的是作為表象的科學(xué)原理,而不是作為本質(zhì)的問(wèn)題解決方案。簡(jiǎn)言之,如果照搬科學(xué)類課程中的科學(xué)原理教學(xué)過(guò)程,學(xué)生將很難真正理解信息科技課程中的科學(xué)原理——算法,也就難以使計(jì)算思維到有效發(fā)展。
魏寧:那么,應(yīng)該通過(guò)什么樣的教學(xué)方法,才能讓學(xué)生通過(guò)對(duì)信息科技課程中科學(xué)原理也就是算法的學(xué)習(xí),更好地理解其中的計(jì)算策略呢?
馮友梅:我認(rèn)為,應(yīng)該還原當(dāng)時(shí)激發(fā)計(jì)算機(jī)科學(xué)家創(chuàng)造算法(科學(xué)原理)的問(wèn)題情境,以問(wèn)題為先導(dǎo),讓學(xué)生經(jīng)歷“創(chuàng)造”概念、原理、策略、技能的過(guò)程。通俗地說(shuō),要“重走計(jì)算機(jī)科學(xué)家的來(lái)時(shí)路”,像計(jì)算機(jī)科學(xué)家一樣思考,才能更好地掌握信息科技課程中的科學(xué)原理——算法,進(jìn)而解決發(fā)展學(xué)生計(jì)算思維“怎么教”的問(wèn)題,我把它稱作“始于算理”。
如果和前面“教什么”的問(wèn)題連起來(lái),可以把算法“教什么、怎么教”,也就是如何發(fā)展學(xué)生計(jì)算思維的整個(gè)過(guò)程概括為:歸于算法,始于算理。
魏寧:這八個(gè)字很好地解釋了信息科技課程中的科學(xué)原理——算法應(yīng)該“教什么、怎么教”。您能舉一個(gè)例子嗎?
馮友梅:例如,在七年級(jí)“互聯(lián)網(wǎng)基本原理”這一單元的教學(xué)中,從教學(xué)目標(biāo)和內(nèi)容的角度,就可以將“認(rèn)識(shí)互聯(lián)網(wǎng)基本原理”還原為“創(chuàng)造互聯(lián)網(wǎng)協(xié)議”,并提煉出具體的協(xié)議中內(nèi)含的計(jì)算策略——分治、封裝、統(tǒng)籌。
單元內(nèi)的三個(gè)分目標(biāo)層層遞進(jìn),它們分別是:①了解電路交換、報(bào)文交換、分組交換及其適用情境,初步內(nèi)化效率意識(shí),初步了解網(wǎng)絡(luò)數(shù)據(jù)傳輸中的編碼和解碼過(guò)程;②通過(guò)對(duì)復(fù)雜的數(shù)據(jù)傳輸控制問(wèn)題進(jìn)行合理分解,內(nèi)化分治策略及效率、可靠意識(shí);③通過(guò)設(shè)計(jì)互聯(lián)網(wǎng)各層接口,內(nèi)化封裝、統(tǒng)籌策略。
與之對(duì)應(yīng)的三個(gè)分任務(wù)也是層層遞進(jìn)的,它們依次為:①互聯(lián)網(wǎng)中高效的數(shù)據(jù)傳輸過(guò)程是怎樣的?(分組交換)②通過(guò)怎樣的控制算法才能實(shí)現(xiàn)高效、可靠的數(shù)據(jù)傳輸?如何有效設(shè)計(jì)該數(shù)據(jù)傳輸控制算法?(分層)③如何使各層有效“合作”?(接口)
限于篇幅,這里僅給出了教學(xué)設(shè)計(jì)中的核心目標(biāo)和任務(wù),在具體教學(xué)時(shí),還需要根據(jù)實(shí)際情況動(dòng)態(tài)調(diào)整。
魏寧:對(duì)于核心的計(jì)算策略,如“分治”策略,如何在“互聯(lián)網(wǎng)基本原理”教學(xué)中進(jìn)行滲透呢?
馮友梅:以“互聯(lián)網(wǎng)基本原理”中的分治策略為例,教師的教學(xué)設(shè)計(jì)需要通過(guò)單元內(nèi)任務(wù)鏈、任務(wù)內(nèi)問(wèn)題鏈的系統(tǒng)設(shè)計(jì),還原互聯(lián)網(wǎng)協(xié)議的生成情境,讓學(xué)生經(jīng)歷當(dāng)時(shí)科學(xué)家創(chuàng)造互聯(lián)網(wǎng)協(xié)議的過(guò)程。在教學(xué)中,教師可以首先拋給學(xué)生一個(gè)問(wèn)題——當(dāng)時(shí)的計(jì)算機(jī)科學(xué)家在創(chuàng)造互聯(lián)網(wǎng)協(xié)議時(shí),面對(duì)的是什么樣的問(wèn)題?讓學(xué)生在教師提供的一系列支架下,重新經(jīng)歷一遍創(chuàng)造互聯(lián)網(wǎng)協(xié)議的整個(gè)路徑。例如,計(jì)算機(jī)科學(xué)家當(dāng)時(shí)面對(duì)的一個(gè)重要問(wèn)題是:全世界范圍內(nèi)有那么多網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)內(nèi)部的主機(jī)和主機(jī)之間都有通信的需求,同時(shí)每個(gè)網(wǎng)絡(luò)在和其他較遠(yuǎn)的網(wǎng)絡(luò)進(jìn)行信息傳輸、交換的過(guò)程中,也存在著多種路徑,如何保證數(shù)據(jù)在復(fù)雜的網(wǎng)絡(luò)環(huán)境中高效、可靠地傳輸呢?
現(xiàn)在我們當(dāng)然知道了,當(dāng)時(shí)的計(jì)算機(jī)科學(xué)家們創(chuàng)造了分組交換的方式,也就是說(shuō)在兩點(diǎn)之間如果想傳輸數(shù)據(jù),并不是通過(guò)一條專線,而是采用存儲(chǔ)轉(zhuǎn)發(fā)的方式。后來(lái)大家發(fā)現(xiàn),如果不把發(fā)送端的數(shù)據(jù)拆分成組的話,也會(huì)產(chǎn)生很多的傳輸?shù)却?。所以,為了要進(jìn)一步提高信道的整體應(yīng)用率,創(chuàng)造了分組交換的方式。
接下來(lái)還有一系列的問(wèn)題。例如,因?yàn)樵趶陌l(fā)送端到接收端的傳輸過(guò)程中需要分組,要把一個(gè)數(shù)據(jù)打散成若干個(gè)較小的數(shù)據(jù)塊,那么,每個(gè)數(shù)據(jù)塊應(yīng)該選擇怎樣的傳輸路徑?如何選擇最快、最可靠的傳輸路徑?在傳輸?shù)倪^(guò)程中又該如何排序?如果在傳輸過(guò)程中,發(fā)生了部分丟失的情況,該如何處理?
我們發(fā)現(xiàn),所有這些問(wèn)題都是為了保證分組交換的過(guò)程能夠高效、有序、可靠地進(jìn)行,因此需要考慮的問(wèn)題就非常之多。當(dāng)把這些問(wèn)題一個(gè)個(gè)拋給學(xué)生的時(shí)候,他們就會(huì)意識(shí)到,分組交換需要解決的問(wèn)題太多了。
正是因?yàn)槲覀兠鎸?duì)的問(wèn)題過(guò)于復(fù)雜,而人類處理問(wèn)題的能力終究是有限的,所以必須通過(guò)一定的計(jì)算策略去解決它。這就用到了分治策略,把復(fù)雜問(wèn)題一層層分解,如分解為傳輸層、網(wǎng)絡(luò)層的問(wèn)題,分別去解決。
還原計(jì)算機(jī)科學(xué)家當(dāng)時(shí)面對(duì)的核心問(wèn)題,把這些問(wèn)題一步步拋給學(xué)生,讓學(xué)生經(jīng)歷計(jì)算機(jī)科學(xué)家解決問(wèn)題的過(guò)程,重走計(jì)算機(jī)科學(xué)家的“來(lái)時(shí)路”,等于讓學(xué)生自己去再次“創(chuàng)造”了一次互聯(lián)網(wǎng)協(xié)議。在這個(gè)過(guò)程中,自然就經(jīng)歷了運(yùn)用分治策略去解決復(fù)雜問(wèn)題的過(guò)程。當(dāng)教師這樣去教授“互聯(lián)網(wǎng)基本原理”的時(shí)候,是以計(jì)算策略的滲透為目的的,同時(shí)直指信息科技課程中的科學(xué)原理,也就是算法。因此,我把它稱作“歸于算法,始于算理”。這是教學(xué)的核心方法論。
關(guān)于計(jì)算思維的評(píng)價(jià)等其他話題
魏寧:當(dāng)我們給出一個(gè)計(jì)算思維描述框架的時(shí)候,也有助于解決計(jì)算思維評(píng)價(jià)的問(wèn)題。
馮友梅:以往針對(duì)計(jì)算思維的評(píng)價(jià),更多的還是從問(wèn)題解決的過(guò)程出發(fā)的,面向抽象、分解等要素展開(kāi),這樣的評(píng)價(jià)通常只能是粗粒度的。而教學(xué)都是微觀的,是面向具體的知識(shí)展開(kāi)的,如何通過(guò)微觀的、具體的教學(xué)內(nèi)容對(duì)計(jì)算思維做出評(píng)價(jià)呢?
另外,我們現(xiàn)在倡導(dǎo)的“教-學(xué)-評(píng)”一體化,同樣要求把評(píng)價(jià)落實(shí)到微觀的層面,能夠隨時(shí)獲得學(xué)生的反饋,甚至在每節(jié)課上都能了解學(xué)生計(jì)算思維的發(fā)展?fàn)顩r,以便即時(shí)調(diào)整教師的教學(xué)。如果經(jīng)歷了一個(gè)單元的學(xué)習(xí),甚至是一個(gè)學(xué)期才能對(duì)學(xué)生進(jìn)行一次計(jì)算思維的評(píng)價(jià),就無(wú)法針對(duì)學(xué)生計(jì)算思維的發(fā)展?fàn)顩r做出及時(shí)的調(diào)整,“教-學(xué)-評(píng)”一體化也就無(wú)從談起了。
因此,只有轉(zhuǎn)換評(píng)價(jià)的內(nèi)在邏輯,從面向問(wèn)題解決過(guò)程的評(píng)價(jià)轉(zhuǎn)向面向知識(shí)結(jié)構(gòu)的評(píng)價(jià),通過(guò)計(jì)算思維二維描述框架,將觀測(cè)點(diǎn)聚焦于13種計(jì)算策略以及計(jì)算概念這些核心要素,并在此基礎(chǔ)上進(jìn)一步細(xì)化,才能精細(xì)刻畫學(xué)生的計(jì)算思維發(fā)展?fàn)顩r。
打個(gè)比方,評(píng)價(jià)工具就好比一把尺子,它的刻度有米、分米、厘米、毫米,當(dāng)我們的評(píng)價(jià)是粗粒度的時(shí)候,它只能以米為單位去測(cè)量,而當(dāng)我們把評(píng)價(jià)工具做到很小的粒度的時(shí)候,就能夠在厘米甚至毫米級(jí)進(jìn)行測(cè)量,這樣才能實(shí)現(xiàn)“教-學(xué)-評(píng)”一體化。
魏寧:從思維培養(yǎng)的角度講,計(jì)算思維并非信息科技課程所獨(dú)有。那么,上述13種計(jì)算策略是否在其他學(xué)科中也能有所體現(xiàn)?
馮友梅:是的,作為一種思維方式,原則上,所有學(xué)科都可以培養(yǎng)學(xué)生的計(jì)算思維。我舉一個(gè)例子,語(yǔ)文教材里有一篇課文《曹沖稱象》,因?yàn)楫?dāng)時(shí)的條件沒(méi)法直接給大象稱重,曹沖非常聰明地把大象的體重轉(zhuǎn)化成了石頭的重量,這就把“稱象”的難題轉(zhuǎn)化成了“稱石頭”。這其實(shí)就是“變治”的計(jì)算策略。類似的,數(shù)學(xué)學(xué)科里的“數(shù)形結(jié)合”就包含了可視化策略。
我認(rèn)為,所有學(xué)科都可以培養(yǎng)學(xué)生的計(jì)算思維,但只有信息科技學(xué)科可以最全面、最系統(tǒng)地培養(yǎng)各種計(jì)算策略,其他學(xué)科更多地體現(xiàn)為輔助性的作用。
魏寧:近年來(lái),計(jì)算思維的影響力已經(jīng)超越了信息科技學(xué)科,被更多學(xué)科所接受,成為學(xué)生的一種基本素養(yǎng),您怎么看待這一現(xiàn)象?
馮友梅:這和基礎(chǔ)教育的培養(yǎng)目標(biāo)是有關(guān)的,基礎(chǔ)教育階段是為學(xué)生的終身發(fā)展和社會(huì)發(fā)展奠基的。擁有了計(jì)算思維能力,并不是只能在本學(xué)科從事科研和專業(yè)工作時(shí)才起作用,對(duì)絕大多數(shù)學(xué)生而言,掌握了計(jì)算思維,就可以更好地去解決生活中遇到的問(wèn)題,甚至是復(fù)雜問(wèn)題,讓自己今后的生活、工作更高效,這同樣是非常有意義的。
當(dāng)前,作為基礎(chǔ)教育階段的一種重要素養(yǎng),計(jì)算思維有著廣闊的發(fā)展空間,被眾多學(xué)科所認(rèn)可,但只有信息科技學(xué)科能夠系統(tǒng)地對(duì)其加以培養(yǎng),這恰恰說(shuō)明了信息科技學(xué)科的重要性。
魏寧:是的,我想我們應(yīng)該以更加開(kāi)放的心態(tài)去看待計(jì)算思維。計(jì)算思維被越來(lái)越多的人認(rèn)為是面向未來(lái)學(xué)生必備的基本素養(yǎng)之一,這對(duì)于信息科技學(xué)科來(lái)說(shuō),無(wú)疑是有著積極意義的。
感謝馮教授今天和大家分享的對(duì)計(jì)算思維、對(duì)信息科技課程教學(xué)的思考,希望這些思考能讓老師們從新的視角審視信息科技課程教學(xué)和計(jì)算思維的培養(yǎng)。
馮友梅:也感謝《中國(guó)信息技術(shù)教育》雜志長(zhǎng)期以來(lái)對(duì)信息科技課程的關(guān)注,祝愿老師們?cè)谛畔⒖萍颊n程中不斷創(chuàng)新,讓學(xué)生的計(jì)算思維得到更好的發(fā)展。