胡金錦
在高中信息技術(shù)教學(xué)中,以項(xiàng)目為基礎(chǔ),通過深度學(xué)習(xí),可以培養(yǎng)學(xué)生的高階思維能力。高階思維是高階能力的核心,主要指問題求解能力、批判性思維能力和創(chuàng)新應(yīng)用能力。浙江省在信息技術(shù)選考試題中,力求依托真實(shí)情境,考查學(xué)生在真實(shí)情境中分析問題、綜合運(yùn)用知識(shí)解決問題的能力,問題的解決需要學(xué)生從深度學(xué)習(xí)中獲得分析、綜合應(yīng)用、解決問題、迭代優(yōu)化的能力,而項(xiàng)目學(xué)習(xí)為深度學(xué)習(xí)提供了極佳的平臺(tái)和途徑。下面,筆者以“‘蒲豐實(shí)驗(yàn)算法實(shí)現(xiàn)”項(xiàng)目學(xué)習(xí)為例,說明深度學(xué)習(xí)在促進(jìn)學(xué)生高階思維發(fā)展中的應(yīng)用。
● 基于復(fù)雜的情境,培養(yǎng)學(xué)生問題求解能力
高階思維的活動(dòng)對(duì)象是非結(jié)構(gòu)化、真實(shí)而復(fù)雜的情境,在項(xiàng)目設(shè)計(jì)時(shí),要盡可能提供一些富有挑戰(zhàn)性的開放的現(xiàn)實(shí)問題,以知識(shí)情境化來實(shí)現(xiàn)知識(shí)問題化。同時(shí),也要把握好項(xiàng)目的規(guī)模與難度。例如,在“‘蒲豐實(shí)驗(yàn)算法實(shí)現(xiàn)”項(xiàng)目中,筆者通過如下一段史料,引出項(xiàng)目主題——用計(jì)算機(jī)模擬投針驗(yàn)證蒲豐投針實(shí)驗(yàn),同時(shí),界定此項(xiàng)目采用隨機(jī)數(shù)即蒙特卡羅法證明pi,通過統(tǒng)計(jì)分析讓學(xué)生體驗(yàn)隨機(jī)現(xiàn)象中隱藏的確定性,為后續(xù)大數(shù)據(jù)、人工智能的學(xué)習(xí)做引子。
1777年的一天晚上法國(guó)數(shù)學(xué)家蒲豐先生的家里賓客滿堂,原來他們是被邀請(qǐng)來見證一個(gè)神奇的實(shí)驗(yàn)——地上放著一張紙,紙上畫著等間距的平行線(間距D=1),賓客們一輪一輪往紙上隨機(jī)投針(針長(zhǎng)L=1/2D),蒲豐先生在一旁記錄。如此忙碌了一個(gè)小時(shí),蒲豐先生宣布結(jié)果:“大家一共投針2212次,與線相交704次,相除結(jié)果正好是3.14。”蒲豐提高嗓門說這正好是“pi的近似值”,賓客們一片嘩然,紛紛議論。
接下來,學(xué)生在教師的引導(dǎo)下,通過“抽象建模、算法設(shè)計(jì)、程序?qū)崿F(xiàn)、調(diào)試優(yōu)化”等步驟循序漸進(jìn)地構(gòu)建問題處理的有序思維。
第一步:抽象與建模
(1)提煉核心要素加以確定。讓學(xué)生從數(shù)學(xué)角度分析針與并行線相交的因素,如下頁圖1所示。
在提煉核心要素的環(huán)節(jié),通過問題串的形式分解問題,降低問題復(fù)雜性與思維難度,如通過“如何確定針在平面中的位置”和“如何判斷針與線是否相交”問題串引導(dǎo)學(xué)生提煉核心要素。在交流分析中,要素不斷得以明確,大家發(fā)現(xiàn)針的位置可以通過兩端坐標(biāo)(x,y),(x',y')或一個(gè)端點(diǎn)坐標(biāo)(x,y)和水平方向的夾角θ來確定。針與線的相交可以通過判斷y與y'是否處于不同的區(qū)間實(shí)現(xiàn),如圖2所示。而方案二程序?qū)崿F(xiàn)較為簡(jiǎn)單,確定關(guān)鍵要素:縱坐標(biāo)與夾角(y,θ)。
(2)使用數(shù)學(xué)符號(hào)描述解決問題的計(jì)算模型。由圖2可知D=1則針長(zhǎng)為1/2,則y'=y+0.5×sinθ。與平行線是否相交需考慮縱坐標(biāo)y與y'是否落在同一區(qū)間內(nèi),如圖2中y落在區(qū)間(0,1),y'落在區(qū)間[1,2),或y正好落在線上(y=1),則針與并行線相交,反之不相交。
基于上述分析,可以得出解決該問題的計(jì)算模型,如圖3所示。
第二步:設(shè)計(jì)算法
算法設(shè)計(jì)是人機(jī)適配的過程,需要將問題解決過程流程化,并按計(jì)算機(jī)處理問題的形式進(jìn)行分解與明確化。引導(dǎo)學(xué)生采用“自頂向下,逐步細(xì)化”的策略,迭代的思想將問題的求解步驟進(jìn)行反復(fù)梳理細(xì)化成最終的算法:①輸入模擬投針次數(shù)n;②投針計(jì)數(shù)器i,初始化為1;③若i≤n,則轉(zhuǎn)④,否則轉(zhuǎn)⑧;④隨機(jī)產(chǎn)生y[0,10000]坐標(biāo);⑤隨機(jī)產(chǎn)生與x軸的夾角θ(0≤<360°);⑥當(dāng)y+1/2sinθ」不等于y」或y」等于y,m=m+1;⑦i增加1,轉(zhuǎn)③;⑧pi=n/m,輸出pi。
第三步:算法實(shí)現(xiàn)與調(diào)試
高一的學(xué)生剛剛接觸編程,程序?qū)崿F(xiàn)能力較弱,因此可以通過流程圖,引導(dǎo)學(xué)生梳理算法思想,進(jìn)一步細(xì)化算法步驟,使執(zhí)行過程更加清晰化、明確化,如圖4所示。
學(xué)生經(jīng)歷了抽象建模、算法設(shè)計(jì)、程序?qū)崿F(xiàn)及調(diào)試這一計(jì)算機(jī)解決問題的完整過程,了解到解決問題的起點(diǎn)是明確問題,算法的形成過程是自頂向下不斷迭代的過程。
● 通過反思與改進(jìn),培養(yǎng)學(xué)生批判性思維能力
算法的實(shí)現(xiàn)過程是一個(gè)“嘗試—驗(yàn)證—修正—再嘗試”不斷迭代、不斷優(yōu)化的過程。在對(duì)算法不斷反思、評(píng)價(jià)與改進(jìn)的過程中,勢(shì)必引發(fā)學(xué)生對(duì)問題的深入思考,這對(duì)培養(yǎng)學(xué)生科學(xué)嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度,勇于探究、勤于思考的高階思維品質(zhì)有著積極的意義。在模擬隨機(jī)投針項(xiàng)目教學(xué)中,項(xiàng)目小組對(duì)上一步的模擬投針實(shí)驗(yàn)程序提出了以下幾方面的質(zhì)疑,并進(jìn)行了多維度的驗(yàn)證。
1.模擬投針實(shí)驗(yàn)程序中含有π,存在結(jié)論證明結(jié)論的問題
細(xì)心的學(xué)生發(fā)現(xiàn)在程序中使用了常量math.pi(π)即存在結(jié)論證明結(jié)論的邏輯,好像不適合,通過網(wǎng)上查閱相關(guān)文獻(xiàn)發(fā)現(xiàn)也存在類似的問題,原因是Python三角函數(shù)采用的是弧度制。通過分組學(xué)習(xí)探究,學(xué)生給出的解決方案是多樣化的,下面引用幾種比較典型的改進(jìn)策略。
改進(jìn)一:采用角度隨機(jī)數(shù)替換弧度隨機(jī)數(shù)。
在程序改進(jìn)過程中,有的小組通過查閱相關(guān)資料,在浙教版《數(shù)據(jù)與計(jì)算》中第85頁的“math模塊中常用常數(shù)與函數(shù)”表中找到了math.radians(x)函數(shù),將弧度隨機(jī)數(shù)改成了角度隨機(jī)數(shù),程序改進(jìn)如下頁圖5所示。
改進(jìn)二:采用隨機(jī)斜率k代替弧度。
產(chǎn)生隨機(jī)數(shù)坐標(biāo)(a,b),a∈[-1,1],b∈[-1,1],得到隨機(jī)斜率。設(shè)針長(zhǎng)為l,一端坐標(biāo)為(x1,y1),另一端坐標(biāo)為(x2,y2),得:(q>0),得到y(tǒng)2=y1+aq,x2=x1+bq,于是l2=(x2-x1)2+(y2-y1)2=(a2+b2)q2,q=,,,程序中只需考慮y2即可,改進(jìn)的部分代碼如下頁圖6所示。
2.增加投針次數(shù)是否能使實(shí)驗(yàn)結(jié)果更加逼近3.14
學(xué)生容易想到的是將上一步的代碼封裝為pi(k)函數(shù),即使用列表記錄不同k值下的拋針結(jié)果值pi(k),并使用matplotlib將結(jié)果可視化,代碼略,程序執(zhí)行結(jié)果如圖7所示。
● 開展追求本質(zhì)的深度學(xué)習(xí),培養(yǎng)學(xué)生創(chuàng)新應(yīng)用的能力
在驗(yàn)證增加投針次數(shù)是否能消除隨機(jī)不確定性,使實(shí)驗(yàn)結(jié)果逼近3.14的問題時(shí),由于需要重復(fù)調(diào)用投針pi子程序,程序的執(zhí)行效率為O(n2),隨著運(yùn)行規(guī)模的增加,程序執(zhí)行時(shí)間成倍增長(zhǎng),效率越來越低下。此時(shí)就引出了能否將程序優(yōu)化為O(n)的問題。在項(xiàng)目分組實(shí)施的過程中,得到了兩種比較典型的優(yōu)化策略。
優(yōu)化方案一:分組拋針求平均概率法——以拋針1000枚為一組,計(jì)算多組平均概率(代碼略)。
優(yōu)化方案二:一邊拋針一邊統(tǒng)計(jì)計(jì)算pi值,代碼如下頁圖8所示。
在算法的改進(jìn)過程中,不同層次的學(xué)生選擇了不同的優(yōu)化策略,學(xué)生在各自的思維層次得到了充分的發(fā)展。在項(xiàng)目教學(xué)實(shí)施的過程中,還可以提出改進(jìn)型問題拓展。例如,驗(yàn)證完整的蒲豐公式pi=2l*n/(m*D),還可以引導(dǎo)部分學(xué)習(xí)基礎(chǔ)較好的學(xué)生實(shí)現(xiàn)拋針過程可視化。
模擬投針的問題模型類似于蒙特卡洛方法求解pi值,可以引導(dǎo)學(xué)生將蒙特卡洛算法遷移至新的問題情境中,如使用投點(diǎn)比例來算π值、求定積分或利用隨機(jī)數(shù)解方程等。
依托真實(shí)情境的項(xiàng)目教學(xué),為學(xué)生提供了高階思維實(shí)踐的載體與空間,在項(xiàng)目主題的生成性發(fā)展過程中,還能促進(jìn)學(xué)生發(fā)現(xiàn)問題并不斷改進(jìn)和優(yōu)化算法的能力,并將問題解決的過程與方法移到與之相關(guān)的其他問題解決中。在此過程中,學(xué)生的思維經(jīng)歷了解構(gòu)到重構(gòu)的過程,他們對(duì)信息的敏感性、對(duì)知識(shí)的掌控力、對(duì)問題求解的思考力得到了充分的發(fā)展,高階思維能力得到了最大程度的提升。