● 問(wèn)題:算法的行為主體是人還是計(jì)算機(jī)
計(jì)算思維的思維主體是人而不是計(jì)算機(jī),這一觀點(diǎn)沒(méi)有異議。至目前為止,計(jì)算機(jī)并沒(méi)有意識(shí),也不會(huì)思維,計(jì)算機(jī)的自動(dòng)化行為都是由人預(yù)先以命令序列形式加載所形成的。作為一個(gè)具備計(jì)算思維的人,習(xí)慣于站在計(jì)算機(jī)自動(dòng)執(zhí)行的角度,理解計(jì)算機(jī)的行為和輸出。
筆者考察了一堂教授算法的課,這堂課的教學(xué)目標(biāo)是通過(guò)實(shí)例分析認(rèn)識(shí)循環(huán)結(jié)構(gòu)。教師這樣設(shè)計(jì):新冠疫情期間,入境人員需要14天的居家隔離;教師繪制了如圖1所示的流程圖,用以描述居家隔離規(guī)則,即每隔離一天計(jì)數(shù)器加1,居家隔離滿14天,計(jì)算機(jī)輸出“解除隔離”。教師展示與分析了反復(fù)執(zhí)行“居家隔離”的循環(huán)操作過(guò)程,并得到了有關(guān)循環(huán)的一般化結(jié)構(gòu)。
算法源于生活,又高于生活。生活算法,就是按時(shí)間的維度,把生活中解決問(wèn)題的方法與步驟看成是一個(gè)個(gè)操作,那么針對(duì)解決生活問(wèn)題的方法而形成的行動(dòng)規(guī)則,就可以看成是算法。教師將生活實(shí)例用算法來(lái)描述,可以使學(xué)生有親切感,容易產(chǎn)生興趣,有助于學(xué)生更好地學(xué)習(xí)算法。然而,分析算法的行為主體,就會(huì)發(fā)現(xiàn),上例中教師描述的算法存在明顯的缺陷,算法中執(zhí)行“居家隔離”的行為者肯定是人而不是計(jì)算機(jī),而輸出“解除隔離”的行為者則是計(jì)算機(jī)而不是人。一個(gè)算法執(zhí)行流程中,存在著兩個(gè)行為主體。
造成這樣的原因在于,教師習(xí)慣于將自己已經(jīng)形成的固有的循環(huán)結(jié)構(gòu)形式傳授給學(xué)生,而沒(méi)有站在算法執(zhí)行的行為主體角度思考如何用循環(huán)的方法來(lái)解決問(wèn)題。也就是說(shuō),教師關(guān)注的重點(diǎn)是學(xué)生是否記憶循環(huán)結(jié)構(gòu)的流程圖表示形式,而不是作為行為主體對(duì)循環(huán)結(jié)構(gòu)的正確運(yùn)用。
運(yùn)用生活算法,學(xué)生可以從日常生活中體驗(yàn)算法以及算法解決問(wèn)題的過(guò)程,克服計(jì)算機(jī)算法的抽象與執(zhí)行過(guò)程不可以見(jiàn)的困難,理解算法,同時(shí)發(fā)展思維。但是,通俗化的生活算法仍然需要符合算法的可行性特征。生活算法中的行為主體是人,該“人”可以按算法規(guī)定的操作步驟執(zhí)行,而為計(jì)算機(jī)設(shè)計(jì)的算法,算法的執(zhí)行主體是計(jì)算機(jī)。在一個(gè)算法給定的執(zhí)行流程中,部分執(zhí)行的行為主體是“人”,部分執(zhí)行的行為主體是計(jì)算機(jī),這樣的行為主體變更,會(huì)引起學(xué)習(xí)者思維的混亂。
● 分析:信息處理的計(jì)算機(jī)學(xué)科視角
在現(xiàn)有的信息技術(shù)課程中,信息處理主體是多元的。人是信息處理的主體,計(jì)算機(jī)也是信息處理的主體。在實(shí)際教學(xué)中,信息處理主體往往是被模糊化的。下例是教師安排學(xué)生的一項(xiàng)學(xué)習(xí)內(nèi)容,要求列舉生活中的一個(gè)信息處理設(shè)備,描述其處理信息的過(guò)程,將其填寫在如圖2所示的最后一行中。
該學(xué)習(xí)材料提供了以地鐵閘機(jī)和計(jì)算器為樣例的信息處理過(guò)程分析,引導(dǎo)學(xué)生舉例并模仿分析,促進(jìn)學(xué)生思考并理解信息處理一般過(guò)程由輸入、處理、輸出三個(gè)階段組成。學(xué)習(xí)情境來(lái)源于生活,學(xué)習(xí)支架幫助學(xué)生思考,教學(xué)設(shè)計(jì)符合學(xué)生的學(xué)習(xí)規(guī)律。然而,分析信息處理的行為主體就會(huì)發(fā)現(xiàn),該學(xué)習(xí)材料存在同樣的缺陷。其中,信息處理步驟1的行為主體是人,如在地鐵閘機(jī)處“刷交通卡”;而步驟2和步驟3中的行為主體都是設(shè)備,如地鐵閘機(jī)進(jìn)行費(fèi)用計(jì)算和打開(kāi)閘門動(dòng)作等行為。作為認(rèn)知主體的學(xué)生,能夠基于生活經(jīng)驗(yàn)知道信息處理的三個(gè)階段,但是難以建立起清晰的思維方式以計(jì)算機(jī)學(xué)科視角來(lái)正確理解信息處理過(guò)程。
人、信息以及以計(jì)算機(jī)為代表的信息處理工具都是信息技術(shù)課程所關(guān)注的要素,這三者的關(guān)系是:人處理信息,人運(yùn)用計(jì)算機(jī)處理信息以及計(jì)算機(jī)處理信息。長(zhǎng)期以來(lái),信息技術(shù)課程一直關(guān)注人是如何處理信息的,以及人是如何利用計(jì)算機(jī)處理信息的。計(jì)算機(jī)技術(shù)日新月異的發(fā)展既是信息技術(shù)課程的困惑,也是課程發(fā)展的動(dòng)力。作為人處理信息的一般方法一直是課程穩(wěn)定而核心的學(xué)習(xí)內(nèi)容,至于計(jì)算機(jī)如何處理信息則是計(jì)算機(jī)科學(xué)重點(diǎn)關(guān)注的內(nèi)容。
分析信息技術(shù)課程中人與計(jì)算機(jī)的關(guān)系可以發(fā)現(xiàn),人是課程的中心,如何使用計(jì)算機(jī)解決問(wèn)題是課程的主要學(xué)習(xí)內(nèi)容。因此,如何使用一系列的應(yīng)用軟件來(lái)設(shè)計(jì)某個(gè)應(yīng)用的解決方案、如何選擇合適的軟硬件以及正確評(píng)估軟硬件都是信息技術(shù)課程的學(xué)習(xí)內(nèi)容。作為計(jì)算機(jī)科學(xué),計(jì)算是計(jì)算機(jī)學(xué)科的中心,可計(jì)算問(wèn)題是學(xué)科的基本問(wèn)題,計(jì)算機(jī)系統(tǒng)如何工作是學(xué)科關(guān)注的重點(diǎn)。面對(duì)一個(gè)現(xiàn)實(shí)問(wèn)題,現(xiàn)有的軟件硬件無(wú)法解決,則需要從計(jì)算機(jī)學(xué)科出發(fā),考慮通過(guò)編寫新的軟件、設(shè)計(jì)新的硬件、開(kāi)發(fā)新系統(tǒng)來(lái)實(shí)現(xiàn)。
因此,信息處理中的計(jì)算機(jī),本質(zhì)上是進(jìn)行數(shù)據(jù)處理。狹義地說(shuō),所謂的處理即是“計(jì)算”,處理的對(duì)象是數(shù)據(jù),待加工的信息是需要用數(shù)據(jù)表征以后,才能由計(jì)算機(jī)加工處理。作為計(jì)算機(jī)學(xué)科知識(shí)的學(xué)習(xí)者,通過(guò)計(jì)算機(jī)原理的學(xué)習(xí),可以認(rèn)知計(jì)算機(jī)并制造計(jì)算機(jī)的相關(guān)產(chǎn)品,包括開(kāi)發(fā)計(jì)算機(jī)軟件和硬件。同時(shí),通過(guò)“計(jì)算”這一面“鏡子”,學(xué)習(xí)者可以以一種新的方式理解客觀世界,形成一種新的思維方式。這也就是計(jì)算思維教育的意義所在。
● 置換:認(rèn)知主體的思維客體化
在人與信息的關(guān)系中,人是處理信息的行為主體,人可以直接處理信息,也可以借助工具處理信息。在計(jì)算機(jī)與信息的關(guān)系中,計(jì)算機(jī)作為數(shù)據(jù)處理工具,是信息處理的行為主體。計(jì)算機(jī)的信息處理行為是由人預(yù)設(shè)的。一般而言,能夠預(yù)設(shè)計(jì)算機(jī)信息處理行為的人是具備計(jì)算思維的,人是計(jì)算思維的思維主體。在計(jì)算思維教育中,當(dāng)計(jì)算思維成為一項(xiàng)學(xué)習(xí)內(nèi)容時(shí),學(xué)習(xí)者就是計(jì)算思維的認(rèn)知主體。發(fā)展認(rèn)知主體的思維,是計(jì)算思維教育的目標(biāo)。
因此,開(kāi)展計(jì)算思維教育需要明晰:思維的主體是人即學(xué)習(xí)者,思維的客體是計(jì)算機(jī)。這里的計(jì)算機(jī),不是指具體的一臺(tái)計(jì)算機(jī),而是具備預(yù)設(shè)并自動(dòng)地實(shí)現(xiàn)信息處理功能的行為主體。學(xué)習(xí)者作為思維主體需要考慮如何使用計(jì)算機(jī)這一信息處理工具處理信息,同時(shí)也需要角色轉(zhuǎn)換,即假設(shè)學(xué)習(xí)者“我”是計(jì)算機(jī),即站在計(jì)算機(jī)這一思維客體也是信息處理的行為主體角度思考計(jì)算機(jī)是如何運(yùn)用計(jì)算機(jī)學(xué)科思想方法處理數(shù)據(jù)的。這種角色轉(zhuǎn)換,就是思維客體化。
在教學(xué)實(shí)踐中,認(rèn)知主體的思維客體化,可以幫助學(xué)生清晰思維起點(diǎn)和思維路徑,有利于學(xué)生分析問(wèn)題和發(fā)展思維。例如,在關(guān)于Excel公式使用的教學(xué)實(shí)施中,學(xué)生往往會(huì)混淆數(shù)學(xué)公式和Excel公式的表示方式,以及在實(shí)際使用Excel公式時(shí)常常遺忘輸入“等于號(hào)”“回車鍵”等關(guān)鍵操作步驟。為了幫助學(xué)生了解Excel公式要點(diǎn),牢記選擇單元格、輸入等于號(hào)、輸入公式和輸入回車這四個(gè)步驟,教師會(huì)安排學(xué)生討論數(shù)學(xué)公式表示與Excel軟件公式表示的異同,并且用“等公車”這樣的諧音來(lái)對(duì)應(yīng)操作的四個(gè)步驟,幫助學(xué)生記憶?!暗裙嚒敝C音的運(yùn)用,教學(xué)效果明顯,解決了教學(xué)難點(diǎn),但這樣的教學(xué)技巧的運(yùn)用,其出發(fā)點(diǎn)依然是機(jī)械記憶,對(duì)發(fā)展學(xué)生思維幫助不大。如果轉(zhuǎn)換一下思考的立場(chǎng),要求學(xué)生站在計(jì)算機(jī)的角度對(duì)Excel公式輸入提出要求:因?yàn)镋xcel軟件單元格只能線性地顯示數(shù)據(jù),所以普通公式中的分?jǐn)?shù)需要用除法形式表示;受現(xiàn)有鍵盤的限制,“÷”需要用“/”鍵來(lái)代替;操作順序中首先選定單元格,是因?yàn)镋xcel軟件需要知道在什么位置執(zhí)行公式計(jì)算;輸入“=”號(hào),是因?yàn)橐鞔_標(biāo)識(shí)當(dāng)前輸入的是公式從非普通字符串;最后輸入的“回車”是因?yàn)镋xcel軟件需要知道當(dāng)前公式輸入是否結(jié)束。組織這樣的討論,可以養(yǎng)成學(xué)生從計(jì)算機(jī)角度思考問(wèn)題,在大腦中形成計(jì)算機(jī)處理數(shù)據(jù)的思維過(guò)程,通過(guò)理解來(lái)達(dá)到記憶的目的。
● 思考:從計(jì)算機(jī)學(xué)科出發(fā)理解計(jì)算思維
計(jì)算思維是一種計(jì)算機(jī)學(xué)科思維,計(jì)算思維是計(jì)算機(jī)的數(shù)據(jù)處理過(guò)程在人腦中的再現(xiàn)。同樣的事物,不同學(xué)科考察的視角是不一樣的。例如,對(duì)于電子地圖,從人使用信息技術(shù)工具的角度出發(fā),學(xué)習(xí)者的認(rèn)知目標(biāo)是了解電子地圖的功能,熟練使用電子地圖選擇合適的出行方案。當(dāng)角色轉(zhuǎn)換以后,從計(jì)算機(jī)學(xué)科出發(fā),關(guān)注的重點(diǎn)是電子地圖如何實(shí)現(xiàn)處理數(shù)據(jù)功能,以滿足人們使用的需要。因此,認(rèn)知主體的思維客體化,可以幫助學(xué)生理解計(jì)算思維。
基于計(jì)算思維教育,有必要使學(xué)生認(rèn)識(shí)到目前信息技術(shù)課程所涉及的信息處理設(shè)備,都是以計(jì)算機(jī)原理為核心實(shí)現(xiàn)數(shù)據(jù)處理。計(jì)算思維對(duì)應(yīng)的學(xué)科思想方法,主要是以圖靈機(jī)為起點(diǎn)的可計(jì)算理論,隨意擴(kuò)大計(jì)算思維的學(xué)科思想,將信息概念相關(guān)理論和計(jì)算機(jī)操作技能包括其中,會(huì)模糊計(jì)算思維的認(rèn)知起點(diǎn)和思維路徑。
角色置換,即思維客體化,是一種思考問(wèn)題的方式,不僅適用于計(jì)算思維,更具有普遍的教育價(jià)值。在計(jì)算思維教育中,除了思維角色置換,還需要角色的行為推演,在人腦中經(jīng)歷自動(dòng)化的過(guò)程。在大眾的心目中,計(jì)算機(jī)是最“聰明”的裝置,而具備計(jì)算思維的人,一定能清醒地認(rèn)識(shí)到計(jì)算機(jī)是最“笨”的,只有人為安排了所有的行為細(xì)節(jié),計(jì)算機(jī)才能作為行為主體自動(dòng)地處理數(shù)據(jù)。
參考文獻(xiàn):
[1]王榮良.信息科學(xué)學(xué)科的基本框架與信息技術(shù)課程的內(nèi)容層次結(jié)構(gòu)[J].中國(guó)教育技術(shù)裝備,2013(03):16-18.
[2]王榮良.計(jì)算思維教育[M].上海:上海科技教育出版社,2014.