段 敏,謝 進(jìn)
(合肥學(xué)院 人工智能與大數(shù)據(jù)學(xué)院, 合肥 230601)
近20年來,中國在教育信息化方面投入很大。專家們寫文章、作報(bào)告,老師們講公開課、參加課件競賽評(píng)獎(jiǎng),似乎一片繁榮景象,但信息技術(shù)只有深入學(xué)科才能真正發(fā)揮作用。數(shù)學(xué)教學(xué)中的信息技術(shù)可以分為3類:普適信息技術(shù)、數(shù)學(xué)教學(xué)中常用的信息技術(shù)和專題教學(xué)活動(dòng)所需的信息技術(shù)。以數(shù)學(xué)為例,用好的學(xué)科教學(xué)平臺(tái)備課和制作課件,比使用流行的普適的課件平臺(tái)的效率提高10倍到100倍,而且課件的交互性和開放性好得多。[1]因此,推進(jìn)教育教學(xué)與信息技術(shù)深度融合是實(shí)現(xiàn)課堂改革、教育教學(xué)質(zhì)量“變軌超車”的突破口。[2]
作為高等學(xué)校的數(shù)學(xué)教師,在信息技術(shù)高度發(fā)展的今天,教師在數(shù)學(xué)教學(xué)活動(dòng)中適時(shí)引入信息技術(shù),讓信息技術(shù)深度融合在數(shù)學(xué)教學(xué)之中,不斷提高TPACK(即整合技術(shù)的學(xué)科教學(xué)知識(shí))的能力。[3]要做到這一點(diǎn),下功夫制作出具有自身特點(diǎn)和優(yōu)勢的,并能將自己教學(xué)藝術(shù)風(fēng)格融入在制作課件的教學(xué)過程之中的課件。若能現(xiàn)場在學(xué)生面前制作而不是拿別人或網(wǎng)上或隨書贈(zèng)送的現(xiàn)成課件用于教學(xué),達(dá)到“讓學(xué)生看到思維過程”的境界,這是提高TPACK核心素養(yǎng)的必由之路之一。但目前教學(xué)中存在的最大問題是缺乏自制課件,尤其缺乏即時(shí)制作的能力/盡管高等學(xué)校的教學(xué)研究與改革一直在不斷的深入,取得了很好的教學(xué)成果,但可以肯定的是,真正能適應(yīng)信息技術(shù)與教育教學(xué)深度融合這種大勢的教師,數(shù)量還很少,還遠(yuǎn)遠(yuǎn)不能滿足時(shí)代的要求[4]。因此,提高教師TPACK的能力之一,是培養(yǎng)教師具有即時(shí)制作數(shù)學(xué)課件的能力與水平。只有這樣,才能使技術(shù)、學(xué)科內(nèi)容、教法實(shí)現(xiàn)真正的深度融合。
要實(shí)施深度融合,工具的選擇尤為重要,按照張景中院士提出的“深入學(xué)科的信息技術(shù)”這一鮮明主張,選擇Mathematica是最符合大學(xué)數(shù)學(xué)教師使用的數(shù)學(xué)軟件,其中的Manipulate函數(shù),架起了代碼與圖形用戶界面交互式操作的橋梁。圖形界面中的控件與想要調(diào)節(jié)的參數(shù)便有了類似指針的聯(lián)系,有了它,開發(fā)數(shù)學(xué)交互式課件很簡單,使用者就能像使用Windows圖形用戶界面一樣方便。不管你從事哪方面的數(shù)學(xué)系列課程教學(xué),只要教師按照自己的教學(xué)內(nèi)容與教學(xué)方式,簡單的幾行代碼,加上Manipulate的封裝,一個(gè)具有交互式操作的圖形用戶界面立刻生成。通過拖動(dòng),伴隨著動(dòng)畫與數(shù)字的實(shí)時(shí)改變,勝過你千言萬語的講解。
Manipulate是Mathematica高版本新開發(fā)的用于交互式運(yùn)行的函數(shù), 一般書寫格式為:Manipulate[代碼段,控件1,控件2,…,控件n]。代碼段是程序區(qū),用于完成算法的書寫,反映的是算法思想的代碼實(shí)現(xiàn),最能體現(xiàn)程序設(shè)計(jì)風(fēng)格的數(shù)學(xué)化。若以思維方式數(shù)學(xué)化的深刻內(nèi)涵為引領(lǐng),定能編寫出高質(zhì)量的好程序、好課件??丶?,控件2,…,控件n區(qū)域中的控件,是實(shí)施實(shí)時(shí)交互的源泉。簡單地講,Manipulate函數(shù)就是去操控函數(shù)的變量,它能夠調(diào)用各式各樣的控件以用戶想要的方式進(jìn)行操控,最后完成一個(gè)或多個(gè)變量在其定義域內(nèi)變化而產(chǎn)生的動(dòng)態(tài)過程[5],而且開發(fā)周期短,甚至可以在上課時(shí)邊教學(xué),邊開發(fā),最大的好處是突出以過程為中心的教學(xué)原則。
下面僅選擇數(shù)值分析中兩個(gè)最重要的內(nèi)容數(shù)據(jù)擬合與數(shù)值積分進(jìn)行制作。首先,制作曲線擬合的課件,請(qǐng)輸入以下代碼并運(yùn)行之:
Manipulate[ Module[{x},
Plot[Fit[points,Table[x^i,{i,0,order}],x],{x,-2,2},PlotRange->2,ImageSize->500,Evaluated->True]],
{{order,3,"擬合多項(xiàng)式次數(shù)"}},{{points,RandomReal[{-2,2},{5,2}]},Locator,LocatorAutoCreate->True}]
運(yùn)行后,生成的交互式畫面如圖1所示,使用者就可以輸入擬合次數(shù),在圖形界面上拖動(dòng)點(diǎn),觀察曲線的變化,也可動(dòng)態(tài)增加點(diǎn)與刪除點(diǎn),短短的一條代碼,加上兩個(gè)控件,一個(gè)控制擬合次數(shù),一個(gè)用自動(dòng)創(chuàng)建定位點(diǎn)輸入擬合的數(shù)據(jù),圖形用戶界面的數(shù)學(xué)課件即刻生成,非常簡單。
圖1 曲線擬合動(dòng)態(tài)演示圖
其次,制作數(shù)值積分計(jì)算的綜合性課件,數(shù)值積分的計(jì)算方法有左矩形、右矩形、中矩形、梯形、Simpson公式、牛頓—柯特斯公式等。這些內(nèi)容,只講原理與公式,哪怕你講的再完美,若不配上實(shí)時(shí)的計(jì)算、不去比較各種方法的誤差,不以生動(dòng)的動(dòng)態(tài)圖形顯示,教學(xué)效果是不會(huì)顯著的?,F(xiàn)在有了Manipulate函數(shù),上述問題得到徹底解決,下面的代碼是復(fù)化中矩形計(jì)算定積分的函數(shù)模塊:
MidBox[f,a_,b_,n_ ]:= Module[{tx1,tx2,xab,yab,jqz,jsz,wc},
tx1=Plot[f[x],{x,a,b},PlotStyle->RGBColor[0,0,0],AxesOrigin->{0,0},PlotLabel->"復(fù)化中矩形公式"];
xab=Range[a,b,(b-a)/n]; yab=Map[f, xab]; jqz=N[Integrate[f[x],{x, a, b}],7];
jsz=N[(b-a)/n* Sum[f[(xab[[i]]+xab[[i+1]])/2],{i,1,n,1}],7];
wc=Abs[jqz-jsz];tx2={};
For[i=1,i<=n, i++,
r=Graphics[
{RGBColor[0,0,0],Line[{{xab[[i]],0},{xab[[i]],f[(xab[[i]]+xab[[i+1]])/2]},{xab[[i+1]],f[(xab[[i]]+xab[[i+1]])/2]},{xab[[i+1]],0},{xab[[i+1]],yab[[i+1]]}}]}];AppendTo[tx2,r]];
Column[{Grid[{{"精確值",jqz},{"近似值",jsz},{"誤差",wc} },Frame->All],
Show[tx1,tx2,ImageSize->300]},Alignment->{{Center,Center}}]]
仔細(xì)研讀上述代碼的算法,一部分是選擇計(jì)算公式,另一部分是繪制用中矩形近似曲邊梯形的圖形。
限于篇幅,完全類似,只要對(duì)上述程序稍加修改,即可編寫出左矩形、右矩形、梯形等的函數(shù):
LeftBox[f_,a_,b_,n_]、RightBox[f_,a_,b_,n_]、Trapzoid[f_,a_,b_,n_]。
現(xiàn)在有了各種積分算法函數(shù),用Manipulate封裝一下:
Manipulate[ xz[f,a,b,n],
{{xz,LeftBox,"選擇積分近似公式"},{LeftBox->"左矩形",RightBox->"右矩形",MidBox->"中矩形",Trapzoid->"梯形"}},
{{f,Sin,"輸入被積函數(shù)名,自定義被積函數(shù)在代碼最前端定義"}},
{{a,0,"積分下限"}}, {{b,1,"積分上限"}}, {{n,2},1,100,1,Appearance->"Labeled"} ]
運(yùn)行后,立刻得到如圖2所示的交互式用戶界面,你可輸入積分的上下限,可選擇不同的計(jì)算公式,還可輸入被積函數(shù)。若系統(tǒng)沒有定義函數(shù),還可以自定義函數(shù)。隨著拖動(dòng)區(qū)間個(gè)數(shù),近似值與精確值和誤差及圖形等都動(dòng)態(tài)變化,能對(duì)數(shù)值積分有更深入的理解。
圖2 數(shù)值積分演示公式
總而言之,交互式輸入通過調(diào)節(jié)控件類型選項(xiàng),能夠?qū)崿F(xiàn)類似于windows的文本框、下拉式列表框、選項(xiàng)卡、滑桿、微調(diào)按鈕等常用的交互式操作;也可設(shè)置初值、標(biāo)簽等一些提示信息;還可通過行列布局命令實(shí)現(xiàn)交互界面的各對(duì)象的布局。通過幫助文件,深入學(xué)習(xí)Manipulate操作命令中的各種選項(xiàng)的使用方法。仔細(xì)研讀示例與模仿練習(xí),定能提高交互式界面的數(shù)學(xué)課件設(shè)計(jì)水平。
教學(xué)方式經(jīng)歷一次次的變革,但都沒有像這次受疫情影響帶來的變革大。各種教學(xué)平臺(tái)的實(shí)現(xiàn),僅僅是技術(shù)上提供了保證。因此,在疫情期間教學(xué)的真正成功的一堂課, 就是看老師的TPACK的貫徹程度如何?可以說,實(shí)施TPACK是對(duì)老師的教與學(xué)生的學(xué)的一次大考,是提高教學(xué)質(zhì)量的催化劑。Manipulate架起了通向GUI(圖形用戶界面)的最后一公里,徹底結(jié)束了開發(fā)數(shù)學(xué)交互式課件的難度。而代碼段的算法設(shè)計(jì)在Mathematica環(huán)境中一般都短小精悍,使即時(shí)設(shè)計(jì)成為可能,經(jīng)Manipulate封裝。一個(gè)交互式圖形用戶界面的數(shù)學(xué)課件瞬間生成,能真正使信息技術(shù)與教育教學(xué)深度融合,提高教師的TPACK的核心素養(yǎng),達(dá)到潤物細(xì)無聲的效果。