張良環(huán)
在高中信息技術(shù)課程的培養(yǎng)目標(biāo)中,“計(jì)算思維”直面學(xué)科特性,為重新審視信息技術(shù)學(xué)科所蘊(yùn)含的思想與方法帶來(lái)了全新的角度,而培養(yǎng)學(xué)生的計(jì)算思維也成為高中信息技術(shù)學(xué)科教學(xué)的關(guān)注熱點(diǎn)。筆者結(jié)合自己的教學(xué)實(shí)踐,以《用窮舉法設(shè)計(jì)程序》為例,分別從教學(xué)目標(biāo)、活動(dòng)設(shè)計(jì)、教學(xué)資源和教學(xué)評(píng)價(jià)四個(gè)方面談?wù)剬?duì)計(jì)算思維的培養(yǎng)。
計(jì)算思維是指采用計(jì)算機(jī)方式界定問(wèn)題,運(yùn)用合理的算法形式解決問(wèn)題,并遷移到與之相關(guān)的其他問(wèn)題中。然而,當(dāng)前高中信息技術(shù)教學(xué)大多重視技術(shù)素養(yǎng)的培養(yǎng),對(duì)學(xué)生學(xué)科思維方面的訓(xùn)練研究不夠、實(shí)踐太少。因此,要改變以往教學(xué)的思路和方法,教師必須將計(jì)算思維的培養(yǎng)明確到教學(xué)目標(biāo)中。
以廣東教育出版社《算法與程序設(shè)計(jì)》中的第四章第二節(jié)《用窮舉法設(shè)計(jì)程序》為例,筆者將教學(xué)目標(biāo)確定為:
1. 了解窮舉法的基本概念和思想;
2. 能用窮舉法對(duì)具體問(wèn)題進(jìn)行分析及算法設(shè)計(jì);
3. 能根據(jù)具體問(wèn)題的條件,進(jìn)行算法優(yōu)化。
根據(jù)窮舉法的原理和計(jì)算思維處理問(wèn)題的本質(zhì),可以將問(wèn)題分解為三個(gè)子目標(biāo):
1. 確定枚舉對(duì)象和枚舉范圍,不遺漏,不重復(fù);
2. 確定判斷條件,逐一驗(yàn)證每個(gè)解是否都正確;
3. 使可能解的范圍降至最小,以便提高解決問(wèn)題的效率。
這樣將復(fù)雜的算法思想和解決問(wèn)題的過(guò)程分解為若干個(gè)子問(wèn)題、子目標(biāo)的教學(xué)思路同樣可以應(yīng)用到其他經(jīng)典算法的教學(xué)當(dāng)中,學(xué)生在學(xué)習(xí)目標(biāo)達(dá)成的過(guò)程中逐步提升計(jì)算思維的培養(yǎng),體驗(yàn)算法的魅力,加深學(xué)習(xí)算法的欲望。
新課標(biāo)倡導(dǎo)項(xiàng)目教學(xué),因此筆者模仿了學(xué)生感興趣的綜藝節(jié)目《奔跑吧,兄弟》,創(chuàng)設(shè)相關(guān)情境,將“密碼破譯”“百錢(qián)百雞”“水仙花數(shù)”“誰(shuí)是案犯”等經(jīng)典問(wèn)題融入到挑戰(zhàn)游戲項(xiàng)目活動(dòng)中,引導(dǎo)學(xué)生分析問(wèn)題,找出規(guī)律,鞏固思維,讓學(xué)生在解決問(wèn)題的過(guò)程中體會(huì)窮舉法的基本思想和程序?qū)崿F(xiàn)。
1. 導(dǎo)入新課環(huán)節(jié)的任務(wù)設(shè)置
【情境】(播放筆者課前自制的動(dòng)畫(huà))《奔跑吧,兄弟》節(jié)目組向全班發(fā)出邀請(qǐng),以4人為一小組自行組隊(duì)參賽,按要求順序完成4個(gè)任務(wù),哪個(gè)小組最先完成任務(wù)即獲勝。現(xiàn)在所有的任務(wù)要求都在一個(gè)加密的文件中,文件密碼是1位小寫(xiě)字母,請(qǐng)你盡快破解密碼,拿到任務(wù)卡奔跑吧。
筆者通過(guò)一個(gè)簡(jiǎn)單的、十分常見(jiàn)的小任務(wù)引人窮舉法的主題,讓學(xué)生體會(huì)算法并不抽象,使其更有親切感,并親歷窮舉法解決問(wèn)題的基本思路:第一步,根據(jù)問(wèn)題的要求,把所有可能的情況都考慮到;第二步,對(duì)全部可能的結(jié)果(密碼)逐一進(jìn)行判斷,過(guò)濾掉不符合要求的,直至找到正確的結(jié)果(密碼)。利用“思維拓展”的設(shè)置讓學(xué)生體會(huì)到人工窮舉的局限性,發(fā)揮計(jì)算解決問(wèn)題的優(yōu)勢(shì),引發(fā)學(xué)生思考生活中的例子用計(jì)算機(jī)編程解決的必要性和意義。
2. 項(xiàng)目(主題)活動(dòng)中的任務(wù)設(shè)置
在窮舉法教學(xué)中,采用一個(gè)項(xiàng)目(主題)活動(dòng)貫穿整個(gè)教學(xué)過(guò)程,按照教學(xué)目標(biāo)設(shè)計(jì)階梯化任務(wù),引導(dǎo)學(xué)生由簡(jiǎn)單的問(wèn)題不斷思考,建構(gòu)出相應(yīng)模型。在不斷使用同一種解題思路解決問(wèn)題的過(guò)程中,學(xué)生能力將呈螺旋式上升,思維也得到鍛煉。筆者在這一環(huán)節(jié)設(shè)計(jì)了以下活動(dòng)任務(wù):
任務(wù)一:窮舉方案的設(shè)計(jì)及程序?qū)崿F(xiàn)
【情境】《奔跑吧兄弟》游戲設(shè)置的第一個(gè)任務(wù)是用銀行卡到最近的柜員機(jī)提取100元,但拿到的銀行卡密碼紙條已破損,只能看到6位數(shù)密碼是159□4□,個(gè)位數(shù)和百位數(shù)已經(jīng)模糊不清,不過(guò)紙條上還提示這個(gè)6位數(shù)能被88整除。
筆者將計(jì)算思維滲透到任務(wù)的設(shè)置中,啟發(fā)學(xué)生將抽象的概念進(jìn)行數(shù)學(xué)建模,并用循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)進(jìn)行實(shí)現(xiàn),培養(yǎng)學(xué)生界定問(wèn)題、抽象特征、建構(gòu)模型、確定算法的計(jì)算思維。
學(xué)生經(jīng)過(guò)個(gè)人思考、小組討論,最后給出整個(gè)方案。任務(wù)進(jìn)行到這里并沒(méi)有結(jié)束,筆者再次提出了新的拓展任務(wù):在不遺漏任何一個(gè)正確解的前提下,如何縮小羅列的編碼范圍,從而達(dá)到循環(huán)結(jié)構(gòu)循環(huán)次數(shù)減少的目的,來(lái)提高程序的執(zhí)行效率,即實(shí)現(xiàn)程序最優(yōu)化。這一任務(wù)培養(yǎng)了學(xué)生多維度思考問(wèn)題的習(xí)慣,提升了計(jì)算思維的應(yīng)用。
任務(wù)二:拓展延伸
【情境】《奔跑吧兄弟》游戲發(fā)出的第三個(gè)任務(wù)是挑戰(zhàn)以下問(wèn)題:
(1)已知玩具公雞每只5元,母雞3元,小雞1元3只,要求用100元買(mǎi)100個(gè)小玩具,三種玩具都要有。
(2)如果一個(gè)三位數(shù)等于它的每個(gè)數(shù)位上數(shù)字的立方和,如153=13+53+33,則我們稱此數(shù)為“水仙花數(shù)”。求100-999之間的全部水仙花數(shù)。
(3)有6名犯罪嫌疑人A、B、C、D、E、F,已知:A、B至少有1人作案;A、E、F三人中至少有2人參與作案;A、D不可能是同案犯;B、C或同時(shí)作案,或與本案無(wú)關(guān);C、D中有且僅有1人作案;如果D沒(méi)有參與作案,則E也不可能參與作案。請(qǐng)推理出誰(shuí)作了案。
整個(gè)課堂教學(xué)中,學(xué)生經(jīng)歷了分析問(wèn)題、建構(gòu)數(shù)學(xué)模型、確定算法、編程實(shí)現(xiàn)算法的基本過(guò)程,并在兩個(gè)窮舉方案的制定過(guò)程中領(lǐng)會(huì)窮舉算法解決問(wèn)題的基本思路、算法優(yōu)化和窮舉算法的適用范圍,在解決問(wèn)題和完成任務(wù)中提升計(jì)算思維;教師通過(guò)組織學(xué)生討論和歸納、思維啟發(fā)等教學(xué)方式來(lái)培養(yǎng)學(xué)生的計(jì)算思維,從解決實(shí)際問(wèn)題中親歷窮舉算法的實(shí)現(xiàn)和知識(shí)的遷移,并且在最后設(shè)置了窮舉算法的現(xiàn)實(shí)應(yīng)用的探究,使算法的學(xué)習(xí)回歸到生活中。
能否充分地、精心地做好課前教學(xué)資源的準(zhǔn)備是有效培養(yǎng)學(xué)生計(jì)算思維的必要前提條件。筆者在窮舉法教學(xué)設(shè)計(jì)的時(shí)候,利用UMN互動(dòng)平臺(tái)在課前向?qū)W生發(fā)布了教學(xué)資源包,包括介紹窮舉算法的微課視頻、窮舉法設(shè)計(jì)程序?qū)W(xué)案、程序半成品、拓展閱讀材料等。這些教學(xué)資源可以讓學(xué)生課前對(duì)上文中提到的任務(wù)有充分的時(shí)間去思考去預(yù)習(xí),課后也可以對(duì)學(xué)習(xí)進(jìn)行檢驗(yàn)與補(bǔ)充拓展,為學(xué)生計(jì)算思維的培養(yǎng)和應(yīng)用提供了載體。資源還包含了檢測(cè)題目,提升不同層次學(xué)生的思維敏捷性和獨(dú)創(chuàng)性。
多元化評(píng)價(jià),一方面可以是教師對(duì)學(xué)生的評(píng)價(jià),在《用窮舉法設(shè)計(jì)程序》一課中,筆者根據(jù)學(xué)生在學(xué)習(xí)過(guò)程中的表現(xiàn)以及方案完成情況來(lái)評(píng)價(jià)學(xué)生用計(jì)算思維解決問(wèn)題的能力。另一方面是指學(xué)生借助導(dǎo)學(xué)案和評(píng)價(jià)表,完成自評(píng)和互評(píng)。筆者根據(jù)教學(xué)目標(biāo)和計(jì)算思維培養(yǎng)目標(biāo)設(shè)計(jì)了一份發(fā)展性評(píng)價(jià)表,根據(jù)表格的描述,學(xué)生在進(jìn)行自評(píng)時(shí),能清楚地知道自己掌握到什么水平。
計(jì)算思維是信息技術(shù)學(xué)科核心素養(yǎng)的根基,更是培養(yǎng)信息技術(shù)核心素養(yǎng)的著力點(diǎn)。如何將計(jì)算思維貫穿于教育教學(xué)的全過(guò)程,提升學(xué)生計(jì)算思維的意識(shí)和品質(zhì),將是今后學(xué)科研究的核心內(nèi)容。筆者僅以《用窮舉法設(shè)計(jì)程序》一課為例,將計(jì)算思維的培養(yǎng)滲透到課程教學(xué)設(shè)計(jì)中,為學(xué)生核心素養(yǎng)的提升、解決問(wèn)題能力的提高打下基礎(chǔ)。
(作者單位:廣東潮州市饒平縣貢天職業(yè)技術(shù)學(xué)校)
責(zé)任編輯?? 晁芳芳