謝曉 孟延豹
前言:
轉(zhuǎn)眼,“教學(xué)APP的學(xué)科運(yùn)用”這個(gè)欄目設(shè)置已快一年了,雖然因被編輯們催稿而四處找人訪談,徹夜無(wú)眠,湊了那么幾篇文章,但現(xiàn)在反觀欄目,卻發(fā)現(xiàn)自己也有了隨著中國(guó)教育信息化發(fā)展的一點(diǎn)點(diǎn)痕跡。
最初,筆者的目光基本落在學(xué)科中能夠應(yīng)用什么樣的APP;這些APP能夠替代以往教學(xué)過(guò)程中的哪些工具,帶來(lái)什么樣的提升,教師們?nèi)绾螒?yīng)用這樣的APP,這樣的應(yīng)用能夠給學(xué)科教學(xué)帶來(lái)什么樣的價(jià)值等問(wèn)題上。
后來(lái),筆者開(kāi)始懷疑尋找替代品或功能效率提升點(diǎn)的方法,是不是應(yīng)用教學(xué)APP融合教學(xué)應(yīng)用最好的方法,也許我們的出發(fā)點(diǎn)就是有問(wèn)題的。因此,筆者開(kāi)始從課程建設(shè)角度出發(fā),考察課程平臺(tái)類(lèi)APP在各種應(yīng)用場(chǎng)景中的應(yīng)用特性、策略以及方法。
在經(jīng)過(guò)了一系列的實(shí)驗(yàn)后,筆者認(rèn)為從某些方面驗(yàn)證了一個(gè)假定,那就是如果要解決教學(xué)APP與學(xué)科教學(xué)深度融合的問(wèn)題,必須是在信息技術(shù)條件的視角下,從課程建設(shè)的角度出發(fā),重構(gòu)課程結(jié)構(gòu),重組課程流程,重新定義教學(xué)的各種場(chǎng)景。并在重新設(shè)計(jì)的過(guò)程中,在適當(dāng)?shù)沫h(huán)節(jié)中應(yīng)用適當(dāng)?shù)慕虒W(xué)APP,這樣才能做到真正的深度融合。
而看到謝曉老師的這篇文章后,筆者卻發(fā)現(xiàn),還是忽視了一個(gè)非常重要的問(wèn)題,那就是,在考慮利用教學(xué)APP進(jìn)行學(xué)科教學(xué)的時(shí)候,要有一個(gè)非常核心的關(guān)注點(diǎn),即如何完成學(xué)科核心價(jià)值,以及對(duì)學(xué)生學(xué)科核心素養(yǎng)的培養(yǎng)。
本文中,謝曉老師從計(jì)算思維角度出發(fā),充分闡釋了建設(shè)一門(mén)新型信息技術(shù)課程的思考過(guò)程。這個(gè)思考的過(guò)程和結(jié)論都是很有價(jià)值的,值得我們深思。
從一個(gè)Scratch教學(xué)案例說(shuō)起
筆者剛剛接觸Scratch時(shí),用了一個(gè)下午的時(shí)間在官網(wǎng)上走馬觀花地轉(zhuǎn)了一圈,然后參考案例試編了幾個(gè)程序。對(duì)Scratch的最初印象是沒(méi)有語(yǔ)法障礙,上手簡(jiǎn)單。隨著對(duì)Scratch的深入接觸,它的可視化、模塊化、界面友好等特性,能有助于一目了然地觀察到程序結(jié)構(gòu),促使筆者的注意力從程序轉(zhuǎn)移到自己要實(shí)現(xiàn)什么上。這令筆者開(kāi)始反思自己對(duì)計(jì)算機(jī)編程的認(rèn)識(shí)。Scratch的程序模塊就像是散落在工作臺(tái)上的零件,隨手可得,但是要用它們搭建出理想的“建筑物”又感覺(jué)好像總差了點(diǎn)什么。這種感覺(jué)有點(diǎn)像玩魔方,“易于操作”卻也“無(wú)從下手”。
筆者接觸到一個(gè)Scratch教學(xué)案例——迷宮游戲。這個(gè)案例是構(gòu)建一個(gè)迷宮場(chǎng)景,既包括要穿越迷宮的主角,以及和他們狹路相逢的怪物、金幣、障礙物等,也包含判定主角的計(jì)分和生命值。筆者發(fā)覺(jué)案例提供的參考腳本(Scratch的程序段叫做腳本)中的主角腳本冗長(zhǎng)、重復(fù)。這樣的程序雖然實(shí)現(xiàn)了預(yù)期功能,但它是否合乎信息技術(shù)課程標(biāo)準(zhǔn)對(duì)程序課的信息文化特征的要求呢?是不是解決問(wèn)題的最佳方案呢?
問(wèn)題求解過(guò)程激發(fā)學(xué)生學(xué)習(xí)動(dòng)力
還記得大學(xué)課堂上用C語(yǔ)言求解“七橋問(wèn)題”時(shí),眾人抱怨“為何數(shù)學(xué)家非要一次不重復(fù)地走遍哥尼斯堡的七座橋”的情景,那種不解源于學(xué)習(xí)材料脫離現(xiàn)實(shí),或者說(shuō)學(xué)習(xí)材料中的問(wèn)題并非由學(xué)習(xí)者主動(dòng)提出。隨著工作經(jīng)驗(yàn)和生活閱歷的積累,學(xué)習(xí)者對(duì)問(wèn)題的理解有了更深、更多角度的認(rèn)識(shí),繼而產(chǎn)生的學(xué)習(xí)感受是不一樣的。例如,雖然還是七橋問(wèn)題,但它是優(yōu)化方案、減少折損的思路。這樣的學(xué)習(xí)意義在現(xiàn)實(shí)生活中具有重要價(jià)值,絕對(duì)可以把眼前費(fèi)解難懂的“七橋”變得生動(dòng)有趣。
在學(xué)生求學(xué)時(shí)期,尤其是具體形象思維向抽象邏輯思維過(guò)渡的階段,抽象命題讓學(xué)生感到有難度又煩惱。不論教師如何用外在形象包裝這些命題,都不如由學(xué)生自身產(chǎn)生的直接動(dòng)機(jī)所帶來(lái)的動(dòng)力強(qiáng)勁。編程相當(dāng)于在理解抽象知識(shí)和解決真實(shí)世界具體問(wèn)題之間搭了一座橋梁,由學(xué)生主動(dòng)思考,應(yīng)用必要的程序知識(shí)設(shè)計(jì)并創(chuàng)造,這既能探索新知又能解決問(wèn)題。程序設(shè)計(jì)沒(méi)有標(biāo)準(zhǔn)答案,再加之Scratch這類(lèi)圖形化編程語(yǔ)言的包容性,有利于學(xué)生構(gòu)建自己的學(xué)習(xí)情境,幫助他們提出問(wèn)題,再由問(wèn)題探究產(chǎn)生主動(dòng)的學(xué)習(xí)動(dòng)力。
計(jì)算思維梳理問(wèn)題求解的思路
如果以“一次不重復(fù)地走遍哥尼斯堡的七座橋”所體現(xiàn)的致簡(jiǎn)原則來(lái)衡量上述案例的參考腳本,它顯然不是最佳的解決方案。優(yōu)化問(wèn)題解決的方案,不得不提及華羅庚先生撰寫(xiě)的《統(tǒng)籌方法》一文,文中提出統(tǒng)籌方法是用數(shù)學(xué)的思維方式合理安排工作進(jìn)程的數(shù)學(xué)方法。但隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)應(yīng)用廣泛普及,數(shù)學(xué)方法的形態(tài)也在不斷泛化。近年來(lái),統(tǒng)籌方法也被國(guó)際上的一個(gè)新概念——計(jì)算思維所革新。
2006年,美國(guó)卡內(nèi)基·梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真教授在美國(guó)計(jì)算機(jī)權(quán)威期刊Communications of the ACM上提出計(jì)算思維(Computational Thinking)的概念。周教授認(rèn)為:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì),以及人類(lèi)行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。
自周教授提出計(jì)算思維的概念以來(lái),許多組織和學(xué)者都對(duì)計(jì)算思維的概念進(jìn)行了深入的研究,其中比較有代表性的是國(guó)際教育技術(shù)協(xié)會(huì)(ISTE)聯(lián)合計(jì)算機(jī)科學(xué)教師協(xié)會(huì)(CSTA)共同給出的定義:計(jì)算思維是一個(gè)問(wèn)題解決的過(guò)程,該過(guò)程包括制定問(wèn)題、分析數(shù)據(jù)、抽象、設(shè)計(jì)算法、選擇最優(yōu)方案、推廣等六大要素。
計(jì)算思維在創(chuàng)作Scratch程序“迷宮游戲”中的應(yīng)用
下面,筆者試切換為計(jì)算思維視角,重新思考Scratch“迷宮游戲”的解法。
1.問(wèn)題是什么
用語(yǔ)言描述“迷宮游戲”通常會(huì)這樣說(shuō):用Scratch設(shè)計(jì)創(chuàng)作一個(gè)程序游戲,玩家可以用鍵盤(pán)方向鍵操控一個(gè)虛擬角色“青蛙”從迷宮入口出發(fā),途中它不能碰到壁壘和機(jī)關(guān),否則會(huì)有懲罰,碰到寶箱、怪獸會(huì)增加或減少游戲得分,最后青蛙親吻到迷宮出口處的“公主”則過(guò)關(guān)。
我們?cè)儆糜?jì)算思維概念,判斷是否已經(jīng)把“要解決的問(wèn)題是什么”描述清楚。計(jì)算思維與一般思考方式的根本區(qū)別在于:計(jì)算思維中探求解決問(wèn)題的方法是算法的思維。算法(Algorithm)是一系列解決問(wèn)題的清晰指令,它代表用系統(tǒng)的方法描述解決問(wèn)題的策略機(jī)制。也就是說(shuō),能夠讓一定規(guī)范的輸入在有限的時(shí)間內(nèi)獲得所要求的輸出,即對(duì)問(wèn)題的把握要以系統(tǒng)為著眼點(diǎn),以規(guī)范為指引,指示精確、可量化。而上一段的“描述”以這樣的標(biāo)準(zhǔn)判斷,顯然是不合格的。
筆者認(rèn)為,把問(wèn)題從模糊到清晰搞清楚的過(guò)程需要一系列方法和策略,這就是計(jì)算思維的方法論。但從應(yīng)用的角度,弄清“問(wèn)題是什么”體現(xiàn)在具體實(shí)踐的過(guò)程中,是不能脫離人和真實(shí)情境。也就是說(shuō),應(yīng)用計(jì)算思維時(shí)一定要考慮到學(xué)生的認(rèn)知水平、信息技術(shù)能力,以及能理解的探究方式、方法。
因此,筆者認(rèn)為可以把Scratch程序教學(xué)“迷宮游戲”這個(gè)問(wèn)題裝載到項(xiàng)目中,用研究性學(xué)習(xí)方法,幫助學(xué)生更好地把握自己的思維過(guò)程和實(shí)踐過(guò)程。例如,在裝載項(xiàng)目的過(guò)程中,其劃分階段既可以參考研究性學(xué)習(xí)的“進(jìn)入問(wèn)題情境—實(shí)踐體驗(yàn)—表達(dá)交流”三階段模式,也可以由教師引導(dǎo)參考《軟件工程》并結(jié)合實(shí)際情況,將過(guò)程進(jìn)一步細(xì)化為五階段模式,即制定游戲規(guī)則階段、設(shè)計(jì)和資料準(zhǔn)備階段、游戲制作階段、測(cè)試并修改階段及保存發(fā)布或展示階段(如圖1)。
計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解問(wèn)題方法,其特征之一是建立在由人或機(jī)器執(zhí)行的計(jì)算過(guò)程的能力和限制之上的。所以計(jì)算思維的思考方式不但要遵循人的認(rèn)知發(fā)展規(guī)律,還要理解和適應(yīng)計(jì)算機(jī)科學(xué)的一般規(guī)律。由此,筆者更傾向于用五階段模式劃分項(xiàng)目過(guò)程,這也是考慮到“用Scratch創(chuàng)作迷宮游戲”與學(xué)生接觸過(guò)的研究性學(xué)習(xí)項(xiàng)目存在一定區(qū)別,它更貼近于軟件工程。
首先,軟件也屬于工程類(lèi)項(xiàng)目,工程項(xiàng)目都需要以計(jì)算為基礎(chǔ)來(lái)量化各個(gè)生產(chǎn)環(huán)節(jié),用科學(xué)的手段控制中間狀態(tài)。如果是程序項(xiàng)目,監(jiān)測(cè)中間狀態(tài)的本質(zhì)就是檢查數(shù)據(jù)流。雖然這樣的學(xué)習(xí)活動(dòng)是充滿趣味的虛擬創(chuàng)作,但它的建設(shè)過(guò)程卻貼近真實(shí)世界的生產(chǎn)過(guò)程,需要考慮更多的實(shí)際因素,對(duì)于學(xué)生來(lái)說(shuō),這即便是挑戰(zhàn),也賦予了更深刻的意義。其次,將問(wèn)題裝載在項(xiàng)目中,原先僅是一段模糊、非量化的“迷宮游戲”的表達(dá),但被劃分到具體的、分階段的工程中后,雖然這個(gè)過(guò)程并非標(biāo)準(zhǔn)化、數(shù)據(jù)化信息的過(guò)程,但它構(gòu)成了計(jì)算量化的前提。再次,筆者認(rèn)為應(yīng)將計(jì)算思維視角下的明確問(wèn)題和制定解決方案看成一個(gè)完整的思維過(guò)程,即在項(xiàng)目中明確問(wèn)題與問(wèn)題求解一脈相承,在迭代過(guò)程中確定最佳的問(wèn)題解決方案。
2.把問(wèn)題轉(zhuǎn)換為一個(gè)信息處理的流程
在應(yīng)用IT系統(tǒng)時(shí),我們常提及的操作步驟就是業(yè)務(wù)流程。而信息流程是業(yè)務(wù)流程中執(zhí)行事件形成的數(shù)據(jù)流。創(chuàng)作軟件程序是在你知道“業(yè)務(wù)是怎樣的”情況下,合理地部署數(shù)據(jù)流向,至少要按計(jì)算機(jī)能夠接受的方式或遵循開(kāi)發(fā)工具(本案例是Scratch)的基本規(guī)則,合理地分解、部署業(yè)務(wù)。以“迷宮游戲”為例,如何合理地分解、部署業(yè)務(wù)?
“制定游戲規(guī)則階段”和“設(shè)計(jì)和資料準(zhǔn)備階段”是創(chuàng)作前的思考環(huán)節(jié),教師通過(guò)對(duì)游戲規(guī)則的分析、列寫(xiě),可以幫助學(xué)生體會(huì)計(jì)算的標(biāo)準(zhǔn)化控制;通過(guò)設(shè)計(jì)角色、梳理游戲流程,可以有效地把握后續(xù)各階段工作的路徑。在這個(gè)環(huán)節(jié)中,把復(fù)雜問(wèn)題分解為易于管理的子集,涉及定量分析或計(jì)算,這對(duì)還處在基礎(chǔ)教育階段的學(xué)生來(lái)說(shuō),具有相當(dāng)大的難度。因此,教師需要思考“如何幫助學(xué)生搭建思維‘腳手架”的問(wèn)題,以便引導(dǎo)學(xué)生探究和發(fā)揮自己的創(chuàng)造力,在不降低難度的前提下,體會(huì)啟發(fā)式推理思考過(guò)程的嚴(yán)謹(jǐn)與樂(lè)趣。
在“迷宮游戲”中,教師幫助學(xué)生搭建思維“腳手架”的策略,具體有以下兩點(diǎn):
(1)思維導(dǎo)圖BOIs策略
根據(jù)“迷宮游戲”出現(xiàn)多角色的場(chǎng)景特征,筆者首先選用思維導(dǎo)圖的BOIs邏輯分類(lèi)策略,這有利于學(xué)生把自己的設(shè)計(jì)里要出現(xiàn)的角色想全。
BOIs,即基本順序思想(basic order ideas)。它是通過(guò)分門(mén)別類(lèi)、條理化的思維技巧,幫助學(xué)生厘清思路,發(fā)現(xiàn)所想事件或系統(tǒng)的內(nèi)在邏輯。思維導(dǎo)圖BOIs策略中最重要的是ordering,也就是要在思維中構(gòu)建一定的順序。具體如下:
①大的分類(lèi)。
學(xué)生通過(guò)分析問(wèn)題分離角色。筆者想到的第一層大分類(lèi)是:主角類(lèi)、配角類(lèi)、其他角色類(lèi)。主角類(lèi)非常明確地指“青蛙”,其他角色類(lèi)是游戲中的計(jì)分、關(guān)卡等角色,相對(duì)來(lái)說(shuō)這些都比較清晰;較為復(fù)雜的是配角類(lèi),他們是主角在迷宮中行走時(shí)所遇到的各種角色,其中有的會(huì)造成加減分,有的會(huì)造成“生命值”損失或補(bǔ)給等,并且每個(gè)角色都有自己特定的造型、形態(tài)、動(dòng)作。此時(shí),學(xué)生的頭腦中一定會(huì)出現(xiàn)很多想法,但整體上是有序的、全面的。
②中間階層的分類(lèi)。
在劃分大類(lèi)之后,需要繼續(xù)思考頭腦中涌現(xiàn)的想法與劃分大類(lèi)之間有無(wú)中間階層。根據(jù)之前對(duì)“問(wèn)題是什么”的分析,可以繼續(xù)將配角分為減分、減生命值、加分、加生命值等類(lèi)型,然后對(duì)這些類(lèi)型重新進(jìn)行排列組合,這個(gè)過(guò)程可以去掉其中的一些組合,最后確定創(chuàng)作者自定義的角色類(lèi)型(如圖2)。
當(dāng)然,還可以進(jìn)一步分類(lèi)并完善一些細(xì)節(jié)。例如,“不減分、減生命值”角色類(lèi)型可以分為炸彈和障礙物兩種,“減分”和“加分”的角色類(lèi)型可以細(xì)化為三個(gè)得分檔位(如圖3)。通過(guò)這樣的思路梳理,已經(jīng)基本可以確定游戲要構(gòu)建哪些角色,以及這些角色的屬性特征。
相較于把已知的東西羅列在紙上,思維導(dǎo)圖BOIs策略是把頭腦中還不夠準(zhǔn)確、全面的想法激活出來(lái)。這種舉一反十的思考方式,實(shí)現(xiàn)了從無(wú)到有的過(guò)程,是創(chuàng)造的一部分。
(2)繪制表格策略
遵循Scratch程序的“廣播—接收廣播”“新建功能塊”等規(guī)則,把眾多角色直接或間接的互動(dòng)關(guān)系一一梳理、記錄在案。此時(shí)可以采用繪制表格策略:先把各角色在同一橫排依次列寫(xiě)。然后把每個(gè)角色的屬性,與其他角色之間的互動(dòng)關(guān)系在縱列中逐一記錄。接著給各個(gè)角色起名,帶入細(xì)節(jié)信息,直到表格中的角色數(shù)據(jù)可以用于后續(xù)階段的程序創(chuàng)作(如下表)。
思維導(dǎo)圖BOIs策略和繪制表格策略既體現(xiàn)了學(xué)生進(jìn)入問(wèn)題情境時(shí)的思維過(guò)程,也體現(xiàn)了學(xué)生制定問(wèn)題解決方案的實(shí)踐過(guò)程。教師引導(dǎo)學(xué)生借助思維工具在項(xiàng)目中探索,從根本上說(shuō)是培養(yǎng)學(xué)生的邏輯思維能力。
應(yīng)用計(jì)算思維過(guò)程中的悖論
上述內(nèi)容僅僅是通過(guò)兩個(gè)思維策略把計(jì)算思維針對(duì)問(wèn)題解決過(guò)程中的“思考環(huán)節(jié)”粗略地勾勒出來(lái)。而計(jì)算思維是數(shù)學(xué)思維和工程思維的互補(bǔ)及組合,思考環(huán)節(jié)的成果可以統(tǒng)御項(xiàng)目中的后續(xù)階段。教師不斷探索計(jì)算思維與教學(xué)策略結(jié)合,也是在整合自己的思維邏輯。
計(jì)算思維運(yùn)用到非計(jì)算機(jī)學(xué)科或一門(mén)課程上,如何分解步驟、如何應(yīng)用策略使用思維工具等,都將是教師設(shè)計(jì)課程時(shí)的難點(diǎn)(思維工具應(yīng)用的有效性)。除此之外,對(duì)于中小學(xué)生的課程,教師是教會(huì)學(xué)生一門(mén)編程語(yǔ)言,或是帶學(xué)生實(shí)踐一次軟件工程最基礎(chǔ)的規(guī)劃,還是讓學(xué)生體驗(yàn)流程后形成這樣的思考習(xí)慣?這都還存在一定的爭(zhēng)議。