趙樂(lè)斌 福建省福州市晉安區(qū)教師進(jìn)修學(xué)校/福建省福州第二十中學(xué)
基于問(wèn)題解決的中學(xué)信息技術(shù)課堂教學(xué),倡導(dǎo)學(xué)生在學(xué)習(xí)過(guò)程中經(jīng)歷問(wèn)題的理解、分析、解決、總結(jié)遷移等,達(dá)到發(fā)展計(jì)算思維的目的。將教學(xué)內(nèi)容蘊(yùn)藏在問(wèn)題解決過(guò)程中,能夠有效地克服學(xué)生的思維惰性,避免講練式的知識(shí)傳遞、任務(wù)式的技能訓(xùn)練等所導(dǎo)向的淺層學(xué)習(xí)。
現(xiàn)實(shí)社會(huì)中的信息活動(dòng)呈現(xiàn)出客觀物理世界和虛擬數(shù)字世界之間的相互依存,表現(xiàn)于具體物理量和數(shù)字量之間的轉(zhuǎn)換。例如,如果要求設(shè)計(jì)一個(gè)杯子,學(xué)生常會(huì)受到形象認(rèn)識(shí)的束縛,進(jìn)行具有普遍性的水杯制作,而當(dāng)學(xué)習(xí)要求抽象到制作一個(gè)容器的高度時(shí),學(xué)生設(shè)計(jì)的作品在樣式上就會(huì)呈現(xiàn)多樣性。因此,在信息技術(shù)課堂教學(xué)中,需要引導(dǎo)學(xué)生在認(rèn)識(shí)問(wèn)題的過(guò)程中,脫離形式上的束縛,抓住主要內(nèi)容抽象其特征。以計(jì)算思維培養(yǎng)為目的,了解問(wèn)題,以數(shù)據(jù)為抓手,基于數(shù)據(jù)界定、變量賦值、數(shù)據(jù)計(jì)算、數(shù)值判斷等角度去理解問(wèn)題,抽象問(wèn)題的特征,變形象問(wèn)題為抽象的計(jì)算問(wèn)題,這樣的問(wèn)題重構(gòu),有助于學(xué)生對(duì)問(wèn)題的認(rèn)識(shí)從感性的情境理解,借助數(shù)據(jù)媒介,上升到計(jì)算可處理對(duì)象的理性認(rèn)識(shí),在了解問(wèn)題的本質(zhì)特征過(guò)程中,不斷培養(yǎng)抽象能力。
例如,閩教版初中信息技術(shù)《體驗(yàn)分支結(jié)構(gòu)》一課,要求結(jié)合“探秘?zé)o人駕駛汽車”學(xué)習(xí)主題,設(shè)計(jì)如何實(shí)現(xiàn)無(wú)人駕駛汽車遇到紅綠燈,執(zhí)行停車等候或繼續(xù)行駛。在分支結(jié)構(gòu)的第一課時(shí),主要了解與學(xué)習(xí)經(jīng)典的分支結(jié)構(gòu),即根據(jù)兩種不同的簡(jiǎn)單條件,執(zhí)行不同的指令。通過(guò)無(wú)人駕駛汽車通過(guò)紅綠燈的問(wèn)題,學(xué)生明確問(wèn)題的關(guān)鍵,綠燈時(shí)屏幕輸出“繼續(xù)行駛”,非綠燈時(shí)屏幕輸出“停車等候”。為了實(shí)現(xiàn)條件識(shí)別具有確定性和有效性,采用數(shù)據(jù)量化的方式設(shè)置條件,在約定“綠燈亮”時(shí),“紅綠燈狀態(tài)”設(shè)定為數(shù)值1,其他數(shù)值時(shí),就表示非綠燈狀態(tài)。將生活中根據(jù)紅綠燈行動(dòng)的情境抽象成“紅綠燈狀態(tài)”變量數(shù)值的判定,讓條件語(yǔ)句更加確切,能夠有效得到判斷和執(zhí)行。
在重視抽象能力的同時(shí),也要關(guān)注問(wèn)題抽象后知識(shí)的理解和掌握。計(jì)算思維培養(yǎng)視閾下的程序設(shè)計(jì)和問(wèn)題解決是抽象的學(xué)習(xí)過(guò)程,學(xué)生通過(guò)對(duì)抽象概念原理的理解,能夠正確認(rèn)識(shí)抽象問(wèn)題中關(guān)鍵的內(nèi)容,包括數(shù)據(jù)關(guān)系、算法等,其中也涉及規(guī)則、約定以及相關(guān)編程技巧等。
例如,在借助Python開(kāi)展“走進(jìn)程序世界”教學(xué)活動(dòng)中,在學(xué)生了解基本的輸出語(yǔ)句后,教師可以反饋具體課堂紀(jì)律的學(xué)情統(tǒng)計(jì)為問(wèn)題,采用填空題型的方式,使學(xué)生鞏固所學(xué)內(nèi)容。問(wèn)題:用程序語(yǔ)句記錄“認(rèn)真聽(tīng)課的同學(xué)”是“宋同學(xué)”,“上課講話的同學(xué)”先后分別是“陳同學(xué)”“謝同學(xué)”;最后讓計(jì)算機(jī)輸出講話的總?cè)藬?shù)和最后一位講話的同學(xué)的名字。問(wèn)題的理解,涉及變量類型選擇、變量?jī)?nèi)容的賦值、變量?jī)?nèi)容的修改、輸出函數(shù)等相關(guān)計(jì)算知識(shí)復(fù)習(xí)。嘗試讓學(xué)生設(shè)定相關(guān)變量名,讓學(xué)生對(duì)變量名、變量值和變量類型等產(chǎn)生具象認(rèn)知,并觀察執(zhí)行變量賦值后程序的輸出情況,讓學(xué)生清楚地認(rèn)識(shí)到計(jì)算機(jī)執(zhí)行的處理指令,有時(shí)是肉眼看不到的(如“認(rèn)真聽(tīng)課的同學(xué)”),因?yàn)樗磮?zhí)行輸出指令,它的結(jié)果存放在內(nèi)存中,當(dāng)計(jì)算機(jī)斷電后,相關(guān)變量?jī)?nèi)容信息將消失。
以生活中的信息行為的理解為起點(diǎn),能夠助推對(duì)學(xué)生計(jì)算思維能力的培養(yǎng)。因此,教師在教學(xué)過(guò)程中要善于利用生活中有益于計(jì)算思維培育的素材,將計(jì)算思維培育與學(xué)生已有的生活經(jīng)歷緊密聯(lián)系,抓住有利的思維起點(diǎn),把握契機(jī)引發(fā)學(xué)生分析問(wèn)題,積極提出解決問(wèn)題的假設(shè),將初步構(gòu)思的方法、步驟等與現(xiàn)實(shí)生活具體行為關(guān)聯(lián),構(gòu)建激發(fā)思考、促進(jìn)學(xué)生潛能發(fā)展的教學(xué)活動(dòng)。
例如,在結(jié)合無(wú)人駕駛小車項(xiàng)目進(jìn)行“算法和程序設(shè)計(jì)”單元學(xué)習(xí)的過(guò)程中,針對(duì)智能小車如何避礙行駛的問(wèn)題,可引導(dǎo)學(xué)生先學(xué)習(xí)認(rèn)識(shí)超聲波傳感器、光電傳感器等,在障礙物感應(yīng)、巡線問(wèn)題上,結(jié)合關(guān)愛(ài)特殊群體用拐杖感應(yīng)障礙物、依靠觸覺(jué)走盲道等生活行為,輔以蒙眼用手或紙板等道具實(shí)現(xiàn)走過(guò)班級(jí)通道的生活體驗(yàn),讓學(xué)生明白傳感器獲取相關(guān)信息的重要性,明確信息技術(shù)的變革和創(chuàng)新是為了更好地解決生活中的復(fù)雜問(wèn)題。
分解問(wèn)題就是把一個(gè)問(wèn)題分解成若干個(gè)子問(wèn)題,解決了子問(wèn)題,再把解決子問(wèn)題的方案合成解決原問(wèn)題的方案。分解問(wèn)題不同于解決問(wèn)題時(shí)的分步驟實(shí)施,不同于解決復(fù)雜問(wèn)題時(shí)的不同分類情況,計(jì)算思維的分解能力比較抽象,分析問(wèn)題時(shí)輔助典型生活實(shí)例介紹,能夠突出對(duì)問(wèn)題分解能力的培養(yǎng)。
例如,在分析用二分法查找有序數(shù)組中的具體數(shù)值時(shí),教師讓學(xué)生分析生活中翻開(kāi)書本第N頁(yè)的學(xué)習(xí)情境。解決這個(gè)問(wèn)題的方法是,從學(xué)生呈現(xiàn)的逐頁(yè)翻,過(guò)渡到應(yīng)用二分法的思想“對(duì)半”進(jìn)行“兩手抓”翻書,然后根據(jù)翻到的頁(yè)碼,判斷在哪只手抓的部分里繼續(xù)對(duì)半查找,直到找到。在體驗(yàn)后,幫助學(xué)生梳理翻書問(wèn)題,其子問(wèn)題算法步驟如下:①找出起始頁(yè);②確定結(jié)束頁(yè);③找到中間頁(yè)M;④判斷M和N的關(guān)系。諸如翻書的子問(wèn)題的生活體驗(yàn),能夠培養(yǎng)學(xué)生通過(guò)分解子問(wèn)題實(shí)現(xiàn)有效分析問(wèn)題的思維能力,得出解決方案,感受算法思維的魅力。
在概括問(wèn)題解決方案的過(guò)程時(shí),除了使用的算法模型外,還要深度探究解決問(wèn)題的關(guān)鍵點(diǎn),即問(wèn)題的核心。通常以數(shù)據(jù)或數(shù)據(jù)之間的關(guān)系為突破口,進(jìn)行相關(guān)計(jì)算、分類、排序、查找、轉(zhuǎn)化等相關(guān)操作。探究關(guān)鍵點(diǎn)在解決問(wèn)題與驗(yàn)證方法過(guò)程中的作用,發(fā)現(xiàn)應(yīng)用意義,實(shí)現(xiàn)從實(shí)踐體驗(yàn)、學(xué)習(xí)感悟到價(jià)值認(rèn)同。
例如,在初中開(kāi)源硬件體驗(yàn)《智能小助手——噪音檢測(cè)儀》一課中,面對(duì)如何定時(shí)獲取教室環(huán)境聲音,并根據(jù)音量大小做出相關(guān)提示這個(gè)問(wèn)題,在概括階段,引導(dǎo)學(xué)生進(jìn)行深度探究,發(fā)現(xiàn)解決這個(gè)問(wèn)題的核心就是“響度”這個(gè)變量數(shù)值的獲取,以及“指定數(shù)值”的確定,通過(guò)二者比較判定符合“環(huán)境聲音太大”情況。就計(jì)算思維的培養(yǎng)而言,課時(shí)內(nèi)容涉及了從傳感器獲得數(shù)據(jù)并進(jìn)行賦值,指定數(shù)值的確定,落實(shí)在具體數(shù)據(jù)上就是將“響度”變量的數(shù)據(jù)進(jìn)行分類,然后根據(jù)具體分類情況,利用分支結(jié)構(gòu),讓計(jì)算機(jī)執(zhí)行不同的操作。
計(jì)算觀念是學(xué)生思維的產(chǎn)物,是通過(guò)問(wèn)題解決,由思維活動(dòng)產(chǎn)生的某些具體的思想。這些觀念可能會(huì)隨著知識(shí)面的拓寬、思維能力的發(fā)展而不斷成熟。在教學(xué)過(guò)程中,要尋找問(wèn)題解決過(guò)程中學(xué)生思維發(fā)展的著力點(diǎn),使其領(lǐng)悟?qū)W科思想、學(xué)科觀念。
以解決1+2+3+4+5+6的累加問(wèn)題為例,根據(jù)中學(xué)生已有的認(rèn)知,能夠在掌握順序結(jié)構(gòu)基礎(chǔ)上,進(jìn)行簡(jiǎn)單的代碼編寫。方案一:用簡(jiǎn)單語(yǔ)句s=0,s=s+1,s=s+2,一直到s=s+6,最后輸出s的值。方案二:在簡(jiǎn)單算術(shù)運(yùn)算基礎(chǔ)上,發(fā)現(xiàn)數(shù)列的規(guī)律,使用計(jì)數(shù)器,用相關(guān)變量的累加代替具體加數(shù),采用語(yǔ)句s=0,i=1,s=s+i,i=i+1,s=s+i,i=i+1,一直到i=6,輸出s+i的值。方案三:學(xué)習(xí)新知利用循環(huán)結(jié)構(gòu)。能夠發(fā)現(xiàn)這三個(gè)方案之間的區(qū)別,就是學(xué)生計(jì)算觀念發(fā)生飛躍的過(guò)程、基于問(wèn)題解決的計(jì)算思維的領(lǐng)悟,以及通過(guò)問(wèn)題解決實(shí)現(xiàn)從知識(shí)掌握到思維發(fā)展的跨越。思維發(fā)展的著力點(diǎn)在方案二,它是學(xué)生在能夠解決的方案一的基礎(chǔ)上,提出的關(guān)于i=i+1、s=s+i就是帶有普遍性和代表性的計(jì)數(shù)器、累加器的初步應(yīng)用,能夠在同類型問(wèn)題中繼承應(yīng)用。將此作為提升計(jì)算觀念的錨點(diǎn),能夠基于方法觀察、對(duì)比、探究,有效地發(fā)展學(xué)生的思維能力。在具體問(wèn)題解決過(guò)程中,引導(dǎo)學(xué)生意識(shí)到,發(fā)現(xiàn)有價(jià)值的算法、提出高效的算法等,比最后的編程實(shí)現(xiàn)更有意義。
在計(jì)算思維培育過(guò)程中,圍繞解決問(wèn)題的方法進(jìn)行思路交流,可以讓學(xué)生發(fā)現(xiàn)設(shè)計(jì)的算法的優(yōu)點(diǎn)與不足,并不斷優(yōu)化改進(jìn),明白問(wèn)題的解決是循序漸進(jìn)的過(guò)程,也可以讓學(xué)生實(shí)現(xiàn)從掌握解決問(wèn)題的方法到方法的創(chuàng)新。同時(shí),可以幫助學(xué)生內(nèi)化所學(xué)知識(shí),為后續(xù)的遷移解決相關(guān)問(wèn)題打好基礎(chǔ)。
例如,在解決期末成績(jī)判定等級(jí)的問(wèn)題時(shí),學(xué)生的差異性體現(xiàn)在會(huì)采用比較簡(jiǎn)單的單分支語(yǔ)句if cj>=90 and cj<=100:print('優(yōu)秀');if cj>=70 and cj<90: print('良好');if cj>=60 and cj<70:print('合格');if cj<60 and cj>=0:print('不合格')。雖然這樣的算法能夠解決問(wèn)題,但不是追求的最優(yōu)算法。在交流過(guò)程中,學(xué)生通過(guò)將多個(gè)單分支的流程圖的串聯(lián),與多分支結(jié)構(gòu)依據(jù)條件判斷分類執(zhí)行的情形相比,明確在單個(gè)數(shù)據(jù)的判定上,采用單分支結(jié)構(gòu)做了許多冗余的操作,得到其執(zhí)行的效率太低,在遇到大量數(shù)據(jù)的時(shí)候,就會(huì)大大影響執(zhí)行速度的結(jié)論。思路交流讓學(xué)生明確了算法的不斷改進(jìn)優(yōu)化需要更好的解決方法,同時(shí)內(nèi)化了所學(xué)的相關(guān)知識(shí)。
在教學(xué)中,學(xué)生通過(guò)交流、分享具體問(wèn)題情境下的解決方法,嘗試形成普適性的問(wèn)題解決模型,能夠領(lǐng)悟?qū)W科思想,提升思維能力。
基于具體項(xiàng)目或問(wèn)題,初中生會(huì)學(xué)習(xí)相關(guān)開(kāi)源硬件的內(nèi)容,以具體傳感器應(yīng)用為邏輯主線,涉及通過(guò)諸如濕度傳感器進(jìn)行土壤濕度數(shù)據(jù)采集與數(shù)據(jù)處理,決定是否啟用花卉灌溉設(shè)備等,學(xué)生在比較是否使用傳感器處理同類問(wèn)題的效果異同,掌握應(yīng)用濕度傳感器解決問(wèn)題的同時(shí),通過(guò)學(xué)習(xí)交流,拓展到對(duì)使用光敏、聲敏、熱敏等傳感設(shè)備來(lái)解決灌溉、照明、加熱等問(wèn)題的思考,以及復(fù)雜情境問(wèn)題的解決,讓學(xué)習(xí)視野、思維不再局限在課時(shí)內(nèi)容范圍內(nèi),而是通過(guò)一個(gè)問(wèn)題的解決,可以從容面對(duì)相似的問(wèn)題。
綜上所述,基于問(wèn)題解決,在抽象、分解、算法、概括等方面發(fā)展中學(xué)生的計(jì)算思維,能夠讓學(xué)生了解并正確對(duì)待計(jì)算機(jī)科學(xué)、信息技術(shù)相關(guān)的系統(tǒng)、問(wèn)題、行為,能夠從設(shè)計(jì)者的角度去思考和解決問(wèn)題,理性對(duì)待問(wèn)題,不斷提高問(wèn)題求解能力。