李偉
通過高中信息技術(shù)學(xué)科的教學(xué),讓學(xué)生通過啟發(fā)式推理關(guān)注分解任務(wù),同時(shí)仿真解決抽象問題,進(jìn)行形式化表達(dá),構(gòu)建模型,以程序設(shè)計(jì)教學(xué)為切入點(diǎn)剖析計(jì)算思維各個(gè)層次的思維深度,探索深度思維架構(gòu)的過程,能夠培養(yǎng)學(xué)生運(yùn)用計(jì)算思維方法靈活而又主動(dòng)地發(fā)現(xiàn)問題、分析問題、解決問題、總結(jié)歸納問題的能力。通過基于問題分解與抽象的教學(xué)實(shí)踐,能夠幫助教師更新教學(xué)理念,提升專業(yè)素養(yǎng),同時(shí)提升學(xué)生的計(jì)算思維能力。
● 計(jì)算思維教學(xué)實(shí)施中的困難分析
通過對上海市青浦區(qū)96位信息技術(shù)教師問卷調(diào)查,我們發(fā)現(xiàn)目前學(xué)科教師對計(jì)算思維的認(rèn)識不足,主要表現(xiàn)在對什么是計(jì)算思維缺乏基本了解,對計(jì)算思維抽象和自動(dòng)化的本質(zhì)缺乏清晰的認(rèn)識。通過對部分教師的進(jìn)一步訪談,我們還發(fā)現(xiàn)有些學(xué)科教師把計(jì)算思維的定義當(dāng)作知識來學(xué)習(xí)。還有不少教師將計(jì)算思維培養(yǎng)簡單地理解成計(jì)算機(jī)原理的教學(xué),將計(jì)算思維教育誤解為對計(jì)算機(jī)原理性知識的講解。另外,我們發(fā)現(xiàn)很多教師雖然對計(jì)算思維有所了解,但對于用怎樣的教學(xué)方法培養(yǎng)學(xué)生的計(jì)算思維存在疑惑。許多一線信息科技學(xué)科教師的教學(xué)模式變化跟不上時(shí)代節(jié)奏,更有甚者還有不少教師在用陳舊的教學(xué)方式來給生在信息技術(shù)社會(huì)的“原住民”授課,課堂上基本表現(xiàn)為直接教會(huì)學(xué)生使用某個(gè)軟件或工具,方法上也是以講授法為主。即使在算法模塊中,也是簡單地把編程教學(xué)理解為計(jì)算思維教學(xué)。教師習(xí)慣于完成知識與技能目標(biāo)的教學(xué),對于思維教育,苦于沒有合適的方法。
因此,教師要改變現(xiàn)有的認(rèn)識,關(guān)鍵是要從根本上改變傳統(tǒng)的講授式教學(xué)模式,課前精心設(shè)計(jì),把知識目標(biāo)分解成若干個(gè)問題進(jìn)行呈現(xiàn)。課堂上清晰地表達(dá)出任務(wù),引導(dǎo)學(xué)生通過啟發(fā)式推理關(guān)注分解任務(wù),同時(shí)能夠抽象問題,進(jìn)行形式化表達(dá),進(jìn)一步構(gòu)建出解決問題的模型。通過這樣的教與學(xué)改變,學(xué)生基于任務(wù)不斷重復(fù)上述過程,教師也能在這樣的教學(xué)實(shí)踐中逐步深入理解計(jì)算思維教育的本質(zhì),加深對計(jì)算思維的認(rèn)識。
● 任務(wù)驅(qū)動(dòng)教學(xué)模式的設(shè)計(jì)
計(jì)算思維的重要特征之一是問題分解,在教學(xué)上的體現(xiàn)是教師能夠運(yùn)用恰當(dāng)?shù)慕虒W(xué)方法和思維技巧引導(dǎo)學(xué)生分解復(fù)雜問題,形成若干方便理解和解決的子問題或系統(tǒng)設(shè)計(jì)時(shí)所需要的模塊化設(shè)計(jì)思想。因此,采用如下頁圖所示的基于任務(wù)驅(qū)動(dòng)的教學(xué)方式,關(guān)注問題的分析、分解直至問題解決,有利于達(dá)成這樣的教學(xué)目標(biāo)。
課堂上將任務(wù)以問題的形式呈現(xiàn),引導(dǎo)學(xué)生不斷分解問題,抽象特征,最終找到解決問題的方法。問題的提出其實(shí)就是給學(xué)生呈現(xiàn)教學(xué)任務(wù),因此任務(wù)的設(shè)計(jì)也就成為課堂教學(xué)的關(guān)鍵。任務(wù)設(shè)計(jì)的好壞關(guān)系到基于任務(wù)驅(qū)動(dòng)的計(jì)算思維教學(xué)的實(shí)施效果。這些任務(wù)的設(shè)計(jì)由教師在課前完成,即把整堂課的核心任務(wù)按照課堂導(dǎo)入、實(shí)施的環(huán)節(jié)分解成幾個(gè)相互關(guān)聯(lián)、層層遞進(jìn)的子任務(wù)。每一個(gè)子任務(wù)都可以解決一個(gè)子問題,也是為后續(xù)解決問題做鋪墊。
學(xué)生在課前做好進(jìn)入思維教育的學(xué)習(xí)狀態(tài)的準(zhǔn)備,這樣有利于教師在課堂上更好地開展計(jì)算思維教學(xué),所采用的方法可以是課前讓學(xué)生對這節(jié)課的內(nèi)容有初步的了解。課堂上學(xué)生在明確任務(wù)后,在教師的引導(dǎo)下用計(jì)算思維方法分解任務(wù),最終完成任務(wù)。為了明確整個(gè)教學(xué)過程是否達(dá)到教學(xué)設(shè)計(jì)的效果,教師在課堂上要不斷運(yùn)用計(jì)算思維方法進(jìn)行監(jiān)控,出現(xiàn)問題及時(shí)做出調(diào)整,以確保所有預(yù)設(shè)的教學(xué)任務(wù)順利完成。
1.課前準(zhǔn)備
教師在課前進(jìn)行詳細(xì)的教學(xué)設(shè)計(jì),對教學(xué)目標(biāo)進(jìn)行分析,根據(jù)教學(xué)內(nèi)容分解教學(xué)任務(wù),同時(shí)明確每個(gè)任務(wù)呈現(xiàn)的形式以及任務(wù)之間的聯(lián)系、任務(wù)具體實(shí)施方式等,還應(yīng)思考怎樣運(yùn)用計(jì)算思維方法引導(dǎo)學(xué)生進(jìn)行抽象和建模。同時(shí),教師應(yīng)為學(xué)生課前的學(xué)習(xí)任務(wù)做準(zhǔn)備,例如,準(zhǔn)備一些新課知識點(diǎn)相關(guān)閱讀材料或者習(xí)題,讓學(xué)生在新課前預(yù)習(xí)使用。
學(xué)生課前初步了解新課相關(guān)內(nèi)容,通過習(xí)題等方式檢測相關(guān)內(nèi)容已有的基礎(chǔ),這樣學(xué)生能快速進(jìn)入思維教育的學(xué)習(xí)狀態(tài),為后續(xù)學(xué)習(xí)做準(zhǔn)備。這里的準(zhǔn)備除了包括知識方面的儲備,更重要的是為課堂上用計(jì)算思維方法分析分解任務(wù)打下基礎(chǔ)。
2.課堂實(shí)施
課堂實(shí)施時(shí),教師在課堂上要清晰地呈現(xiàn)任務(wù)。通常通過真實(shí)情境創(chuàng)設(shè),引入本課主題,情境的選擇要與上課內(nèi)容相關(guān),可以是網(wǎng)絡(luò)搜索的一些視頻,也可以是師生自己拍攝的與教學(xué)內(nèi)容相關(guān)的小場景。在實(shí)施任務(wù)環(huán)節(jié),教師通過啟發(fā)式推理,對問題進(jìn)行轉(zhuǎn)化,通常是化繁為簡,最后清晰地進(jìn)行形式化表達(dá),如數(shù)學(xué)表達(dá)式形式,從而建構(gòu)出解決任務(wù)的模型,通過組織學(xué)生進(jìn)行這樣的分析共同確定問題的解決方案。這部分內(nèi)容是計(jì)算思維能力培養(yǎng)的關(guān)鍵,抽象特征時(shí)教師要根據(jù)課堂上的情況啟發(fā)式引導(dǎo),把大的任務(wù)簡化,也就是一個(gè)化繁為簡的過程。教師在課堂上對整個(gè)教學(xué)過程進(jìn)行監(jiān)控,適時(shí)對學(xué)生的學(xué)習(xí)過程和結(jié)果進(jìn)行評價(jià),評價(jià)的內(nèi)容主要是學(xué)生作品的展示、交流共享自己的學(xué)習(xí)心得。在任務(wù)都完成后,教師對知識點(diǎn)進(jìn)行總結(jié)性概括,并引導(dǎo)學(xué)生拓展遷移所學(xué)知識,內(nèi)化新知。
學(xué)生在課堂上首先是明確教師提出的任務(wù),然后在教師的引導(dǎo)下用計(jì)算思維方法合理進(jìn)行問題分解,有效抽象出問題特征,進(jìn)行形式化表達(dá),建立解決問題的模型。這里的關(guān)鍵是學(xué)生在明確學(xué)習(xí)目標(biāo)和任務(wù)要求之后,可以以小組為單位進(jìn)行分析討論,根據(jù)任務(wù)的功能描述,采用計(jì)算思維方法中的分析、比較、約簡、抽象、概括和分解等方法對問題模型進(jìn)行建模,然后再在編程環(huán)境中自動(dòng)化運(yùn)行,檢驗(yàn)方案的正確性。相對于傳統(tǒng)的僅僅以完成任務(wù)為目標(biāo)的編程學(xué)習(xí),學(xué)生經(jīng)歷了“抽象—形式化表達(dá)—構(gòu)造—自動(dòng)化”這一完整的過程,所獲得的不只是學(xué)會(huì)寫代碼,更多的是學(xué)會(huì)用計(jì)算思維方式分析分解問題。這些學(xué)習(xí)過程的實(shí)踐和結(jié)果都是課堂上分享交流的好素材。
● 任務(wù)驅(qū)動(dòng)教學(xué)模式的教學(xué)實(shí)踐
“對分查找”是高中算法部分的學(xué)習(xí)內(nèi)容,該內(nèi)容的學(xué)習(xí)目標(biāo)是理解對分查找算法的原理,掌握對分查找算法的基本結(jié)構(gòu),通過分析對比順序查找和對分查找的過程,能很好地感受對分查找在查找效率方面的優(yōu)勢。對分查找的中點(diǎn)確定也是學(xué)生從抽象到形式化表達(dá)的難點(diǎn)所在?;谌蝿?wù)驅(qū)動(dòng)的課堂教學(xué)模式,師生共同分析分解任務(wù),抽象問題,通過一個(gè)個(gè)環(huán)環(huán)相扣的子任務(wù)完成形式化表達(dá)。
1.課前準(zhǔn)備
教師在課前明確教學(xué)目標(biāo):①知道什么是對分查找,確定中點(diǎn)位置,并用表達(dá)式表述出來。②能用自然語言描述對分查找的過程。教師根據(jù)教學(xué)目標(biāo)把教學(xué)任務(wù)分解成四個(gè)教學(xué)環(huán)節(jié)。為了使學(xué)生在課前對新課內(nèi)容有所了解,知道對分查找的基本內(nèi)容,教師準(zhǔn)備了導(dǎo)學(xué)單。導(dǎo)學(xué)單上“課前預(yù)習(xí)”部分給出了查找的定義,要求學(xué)生閱讀教材上關(guān)于對分查找的概念內(nèi)容,并設(shè)計(jì)了兩個(gè)順序查找和對分查找的不同應(yīng)用實(shí)例,目的是通過導(dǎo)學(xué)單“課前預(yù)習(xí)”的學(xué)習(xí)讓學(xué)生知道什么是對分查找,初步了解對分查找算法的原理。另外,教師在導(dǎo)學(xué)單上還設(shè)置了“課中解惑”和“課后鞏固”部分的具體內(nèi)容。這些內(nèi)容的設(shè)置都是基于教師明確了教學(xué)目標(biāo)后,對新課的知識點(diǎn)進(jìn)行了梳理,設(shè)計(jì)出了每個(gè)教學(xué)環(huán)節(jié)的具體任務(wù),同時(shí)針對教學(xué)環(huán)節(jié)中的重難點(diǎn),在導(dǎo)學(xué)單上設(shè)計(jì)了學(xué)生課上思考、練習(xí)的內(nèi)容,并設(shè)置了6道選擇題用于課堂最后環(huán)節(jié)的檢測鞏固。
學(xué)生在課前通過思考完成導(dǎo)學(xué)單上“課前預(yù)習(xí)”部分的習(xí)題,初步認(rèn)識對分查找算法的基本思想,為新課學(xué)習(xí)中用自然語言描述對分查找的模型打下基礎(chǔ),并在頭腦中建立確定中點(diǎn)值的概念,這樣有利于后面討論得出中點(diǎn)值的表達(dá)式。
通過這些課前準(zhǔn)備,教師對新課中對分查找的中點(diǎn)值和每次查找的范圍這些難點(diǎn)有了系統(tǒng)的設(shè)計(jì),學(xué)生通過課前預(yù)習(xí)的環(huán)節(jié)初步了解了對分查找的思想,為后面課堂上運(yùn)用計(jì)算思維進(jìn)行學(xué)習(xí)打下基礎(chǔ)。
2.課堂實(shí)施
教師在課堂上一開始就創(chuàng)設(shè)問題情境,呈現(xiàn)學(xué)習(xí)任務(wù)。提出問題:有一集成電路上有100個(gè)電阻,已知某一電阻出現(xiàn)故障導(dǎo)致整個(gè)電路不通,請?zhí)峁┡挪楣收宵c(diǎn)的思路。這個(gè)問題來源于生活,讓學(xué)生體驗(yàn)小工程師的角色,激發(fā)興趣,從而尋求問題解決方案。由于經(jīng)過了課前準(zhǔn)備,所以學(xué)生能快速聯(lián)想到從中間位置測量判斷故障點(diǎn)位置。接著,教師開始實(shí)施課前設(shè)計(jì)好的任務(wù),明確問題,討論出解決方案。教師通過提問引導(dǎo)學(xué)生一起總結(jié)出對分查找的基本思想。在此基礎(chǔ)上,通過在規(guī)模為16的數(shù)組中查找數(shù)值為52的數(shù)組元素實(shí)例,啟發(fā)學(xué)生理解如何確定中點(diǎn)位置,并進(jìn)行數(shù)據(jù)比較逐步縮小查找范圍。然后,引導(dǎo)學(xué)生討論得出中點(diǎn)位置的形式化表達(dá)公式,完成對分查找的問題。小結(jié)環(huán)節(jié)通過問卷星設(shè)置幾道習(xí)題,當(dāng)場呈現(xiàn)學(xué)生做的結(jié)果,教師對學(xué)生的學(xué)習(xí)過程和結(jié)果進(jìn)行評價(jià),總結(jié)這節(jié)課學(xué)習(xí)的內(nèi)容。這樣,在呈現(xiàn)任務(wù)后通過師生共同討論確定問題解決方案,在編程環(huán)境中進(jìn)行驗(yàn)證。這種教學(xué)模式完全基于任務(wù)驅(qū)動(dòng),把幾個(gè)教學(xué)任務(wù)相互關(guān)聯(lián),任務(wù)間層層遞進(jìn),學(xué)生課堂上都處于不斷探索思考、尋求問題解決方案的狀態(tài)中。整個(gè)過程包含情境的設(shè)計(jì)、問題序列設(shè)計(jì)、評價(jià)的設(shè)計(jì),這些設(shè)計(jì)貫穿整個(gè)課堂。
對分查找這節(jié)課的重點(diǎn)在于中間值的表達(dá),這也是新課的核心問題。教師引導(dǎo)學(xué)生分解任務(wù),提問前面場景中第一次檢查50號電阻,50是怎樣來的。學(xué)生的回答是首項(xiàng)加末項(xiàng)除以2,實(shí)際上這個(gè)思維過程就是抽象出問題的特征,并把問題的解決方案進(jìn)行了形式化的表達(dá)。分析過程中引導(dǎo)學(xué)生設(shè)置首項(xiàng)和末項(xiàng)的變量為i和j,中點(diǎn)用m表示,學(xué)生在經(jīng)歷抽象特征后,對中點(diǎn)位置變量m進(jìn)行形式化表達(dá),具體為如下數(shù)學(xué)表達(dá)式:m=int((i+j)/2)。形式化表達(dá)的目的是編寫出能夠完成對分查找的程序。接著,教師引導(dǎo)學(xué)生思考對分查找就是一個(gè)重復(fù)查找中間值的過程,這個(gè)討論的目的是引導(dǎo)學(xué)生建立循環(huán)的模型結(jié)構(gòu)。課堂上的任務(wù)三是讓學(xué)生判斷什么時(shí)候不能繼續(xù)對分查找。教師還是以問題的形式提出任務(wù),學(xué)生在明確任務(wù)后,在教師的組織下展開討論,分析出找到所需要的值就退出查找過程,另外一種情況是查找的范圍縮小到1還沒有找到也結(jié)束查找。這樣的討論就抽象出了問題特征,當(dāng)只有一個(gè)元素或者沒有元素的時(shí)候就不能繼續(xù)對分查找,隨后進(jìn)行形式化表達(dá),即i<=j時(shí)結(jié)束查找。經(jīng)過課堂上三個(gè)任務(wù)的活動(dòng),教師引導(dǎo)學(xué)生得出對分查找關(guān)鍵流程。
至此,學(xué)生已經(jīng)完成抽象問題,寫出相應(yīng)表達(dá)式的任務(wù),整個(gè)對分查找的結(jié)構(gòu)模型也建立好了,最后在編程環(huán)境中進(jìn)行驗(yàn)證與調(diào)試,通過程序的運(yùn)行體會(huì)計(jì)算思維中自動(dòng)化的特征。完成好的同學(xué)跟其他同學(xué)分享編程的結(jié)果以及整個(gè)過程中的收獲,教師再對學(xué)生的學(xué)習(xí)過程和結(jié)果進(jìn)行簡單評價(jià),并總結(jié)概括課堂上所學(xué)的知識。
● 效果與反思
類似于“對分查找”這樣的課例,以任務(wù)為主線,教師引導(dǎo)學(xué)生應(yīng)用計(jì)算思維系列方法,在分析問題、尋求更好的解決問題方案的過程中發(fā)展高層次思維能力。布置任務(wù)時(shí)引入真實(shí)情境,有利于學(xué)生快速進(jìn)入狀態(tài)。在接下來的課堂中,教學(xué)任務(wù)緊緊圍繞抽象特征和形式化表達(dá)展開,把一個(gè)大的問題進(jìn)行分解,對分查找的核心是查找中間值,經(jīng)過這個(gè)任務(wù),學(xué)生完成后再分析出對分查找其實(shí)就是一個(gè)不斷重復(fù)查找中間值的過程。這樣就構(gòu)建出整個(gè)程序的基本結(jié)構(gòu)模型,接下來分析出什么時(shí)候查找結(jié)束,用變量表達(dá)式的形式給出條件,把整個(gè)流程圖完整呈現(xiàn),在編程環(huán)境中進(jìn)行驗(yàn)證。
以構(gòu)建任務(wù)模型的教學(xué)實(shí)踐能夠培養(yǎng)高中學(xué)生應(yīng)用計(jì)算思維方法進(jìn)行學(xué)習(xí),把整節(jié)課要解決的問題分解成若干個(gè)小任務(wù)。教師應(yīng)用此類教學(xué)方法的關(guān)鍵是如何設(shè)計(jì)以任務(wù)為驅(qū)動(dòng),運(yùn)用計(jì)算思維方法全程監(jiān)控,逐步求精的過程。同時(shí),在課堂上引導(dǎo)學(xué)生運(yùn)用計(jì)算思維的方法分解任務(wù),抽象特征,進(jìn)行形式化表達(dá),從而構(gòu)建出解決問題的模型,在編程環(huán)境中進(jìn)行驗(yàn)證,體驗(yàn)自動(dòng)化呈現(xiàn)結(jié)果。
經(jīng)過一系列的基于任務(wù)驅(qū)動(dòng)的高中生計(jì)算思維培養(yǎng)的教學(xué)實(shí)踐,首先,學(xué)科教師對學(xué)科核心素養(yǎng)中的計(jì)算思維內(nèi)容加深了理解,教師專業(yè)素養(yǎng)得到發(fā)展。學(xué)科教師以任務(wù)驅(qū)動(dòng)的形式進(jìn)行教學(xué)實(shí)踐,在算法模塊中實(shí)踐培養(yǎng)提升學(xué)生計(jì)算思維能力的方法。在此過程中,學(xué)科教師通過教學(xué)研討課,及時(shí)梳理經(jīng)驗(yàn),總結(jié)出一套切實(shí)可行的教學(xué)模式,并在教學(xué)實(shí)踐中不斷驗(yàn)證、修正,使之更適合提升學(xué)生的計(jì)算思維能力。其次,在算法模塊學(xué)習(xí)中,學(xué)生會(huì)經(jīng)歷問題式的教學(xué)模式,通過一個(gè)個(gè)任務(wù)以問題的形式提出,在學(xué)習(xí)算法的過程中學(xué)會(huì)抽象特征,進(jìn)行形式化表達(dá),建立模型,編程自動(dòng)化實(shí)現(xiàn),這樣的經(jīng)歷能夠大幅提升學(xué)生的計(jì)算思維能力,并且還能把計(jì)算思維的思維方式運(yùn)用到其他相關(guān)學(xué)科中去。
在研究的同時(shí),我們也在不斷反思。既然計(jì)算思維是信息技術(shù)學(xué)科核心素養(yǎng)的重要內(nèi)容,那么除了程序設(shè)計(jì)模塊的教學(xué)內(nèi)容,在其他知識模塊中怎樣培養(yǎng)學(xué)生的計(jì)算思維能力?信息技術(shù)學(xué)科中所有的學(xué)習(xí)內(nèi)容是否都是可計(jì)算的?除了高中階段的學(xué)科教學(xué),初中、小學(xué)階段培養(yǎng)學(xué)生計(jì)算思維的教學(xué)應(yīng)該怎樣進(jìn)行?同時(shí),在研究過程中,教師團(tuán)隊(duì)也產(chǎn)生了很多新的疑惑,例如,計(jì)算思維和算法思維的聯(lián)系與區(qū)別是什么?計(jì)算思維怎樣遷移到編程模塊教學(xué)以及其他學(xué)科學(xué)習(xí)中去?這些都需要我們接下來進(jìn)一步研究與實(shí)踐。