☆楊曉峰
(上海松江二中現(xiàn)代教育技術(shù)組,上海 201600)
算法與程序設(shè)計是上海市高中信息科技教學(xué)的三個選修模塊之一。筆者在多年的高中算法與程序設(shè)計教學(xué)中發(fā)現(xiàn),學(xué)生學(xué)習(xí)的主動性不足,部分學(xué)生反映“算法與程序設(shè)計的學(xué)習(xí)枯燥乏味”。
筆者以為產(chǎn)生這種情況的根本原因是學(xué)生的學(xué)習(xí)動機不足。很多教師專注于教學(xué)方法的優(yōu)化和教學(xué)設(shè)計的推陳出新,卻忽略了對學(xué)生學(xué)習(xí)動機的研究。高中的算法與程序設(shè)計教學(xué)需要學(xué)生積極主動的思考,培養(yǎng)學(xué)生的抽象思維,進行知識的建構(gòu)。學(xué)生在沒有明確為什么學(xué)習(xí)算法與程序設(shè)計,沒有切身體驗到學(xué)習(xí)內(nèi)容對自己的學(xué)習(xí)和生活有什么幫助的情況下,他們的學(xué)習(xí)只能是被動地學(xué)習(xí)。而缺乏了學(xué)生積極主動的參與,無論教師如何改進教學(xué)方法,教學(xué)的效果必然大打折扣。
ARCS動機設(shè)計模式是由美國南佛羅里達大學(xué)的心理學(xué)教授J.M.Keller提出的。這一模式認為,影響學(xué)生學(xué)習(xí)動機的因素有四類:注意(attention)、切身性(relevance)、自信心(confidence)、滿足感(satisfaction)。因此,教師在進行教學(xué)設(shè)計的同時,還應(yīng)該進行適當?shù)膭訖C設(shè)計,即針對學(xué)生群體的動機狀況和教學(xué)內(nèi)容的特點設(shè)計相應(yīng)的動機策略,設(shè)法使教學(xué)過程能夠引起并維持學(xué)生的注意、建立起教學(xué)與學(xué)生之間的切身性、使學(xué)生產(chǎn)生并維持對學(xué)習(xí)的自信心、并提供一種滿意感,那么教學(xué)就能激發(fā)學(xué)生的學(xué)習(xí)動機。
筆者運用ARCS教育理論,在高中算法與程序設(shè)計教學(xué)中進行了實踐研究。以激發(fā)學(xué)生的學(xué)習(xí)動機,促進學(xué)生主動學(xué)習(xí)為目標,在研究過程中不斷改進和優(yōu)化我校的算法與程序設(shè)計課程。
注意是學(xué)習(xí)者進行學(xué)習(xí)活動的前提條件。教學(xué)應(yīng)該有效地激發(fā)學(xué)生對教學(xué)內(nèi)容的好奇心。在學(xué)生產(chǎn)生學(xué)習(xí)興趣的前提下有效維持學(xué)生的注意力,才能使學(xué)生主動地投入到高效率的學(xué)習(xí)中。
對于高中學(xué)生而言,算法和程序設(shè)計不僅是一門全新的課程,更是一個全新的學(xué)習(xí)領(lǐng)域。學(xué)生必然會產(chǎn)生“我為什么要學(xué),學(xué)了有什么用”之類的疑問。這樣的疑問,并非開展教學(xué)活動的絆腳石。相反,如果很好解決這樣的疑問,幫助學(xué)生看到學(xué)習(xí)算法和程序設(shè)計的美好前景,反而會有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,成為學(xué)生主動學(xué)習(xí)的助推器。
以“驗證歌德巴赫猜想”作為課題引入,開始算法和程序設(shè)計課程第一節(jié)課的教學(xué)。方案如下:
(1)連續(xù)設(shè)問:“大家了解數(shù)學(xué)皇冠上璀璨的明珠——歌德巴赫猜想嗎?”、“根據(jù)歌德巴赫猜想,偶數(shù)8可以是哪兩個質(zhì)數(shù)的和呢?”。大多數(shù)學(xué)生對于歌德巴赫猜想是耳熟能詳?shù)模?,很容易就回答了以上兩個問題。
(2)繼續(xù)提問:“大家有沒有辦法算出2388是哪兩個質(zhì)數(shù)的和呢?”學(xué)生開始拿出草稿紙進行計算。由于缺少正確的算法,他們的計算更多的是在碰運氣地湊兩個質(zhì)數(shù)。題目的復(fù)雜讓大多數(shù)學(xué)生在一段徒勞無功地嘗試后選擇了放棄。
(3)程序演示:教師運行設(shè)計好的程序,在瞬間算出了正確的解答:1187+1201=2388。學(xué)生中一下子炸開了鍋。有的學(xué)生在贊嘆:“太給力了!”有的學(xué)生迫不及待地問:“老師,快告訴我們怎么編這個程序吧!”。
(4)教師引導(dǎo):現(xiàn)在講解這個程序,大家理解上會有一些難度。但是,在大家學(xué)習(xí)了程序設(shè)計的知識和算法的思想后,我確信每個同學(xué)都能編寫這樣的程序。
教學(xué)中提出一些在學(xué)生認知最近發(fā)展區(qū)內(nèi)的難題,雖然學(xué)生現(xiàn)階段無法獨立解決,卻能夠有效喚起學(xué)生的探究活動,啟發(fā)積極的思考。而對這些問題的求解,可以是我們進行下一階段教學(xué)的“潤滑劑”。
在學(xué)生掌握分支結(jié)構(gòu)的基礎(chǔ)上,提出分支結(jié)構(gòu)無法解決的難題,然后提出循環(huán)結(jié)構(gòu)并有效解決難題。這不僅使新教學(xué)內(nèi)容的引入自然順暢,也讓學(xué)生充分了解了循環(huán)結(jié)構(gòu)的用途和適用范圍。
隨著教學(xué)過程的開展,學(xué)生的學(xué)習(xí)興趣和熱情會逐漸地消退,注意力也會開始分散。教師可以通過教育形式和教學(xué)媒體的改變,或是教師本人的肢體語言,或是表達風(fēng)格的切換(幽默-嚴肅、大聲-輕聲等)以保持學(xué)生的注意力。
從教育心理學(xué)的角度看,有意義、有變化的教學(xué)內(nèi)容更容易保持學(xué)生的注意力。
在講解符號“+”在字符中的連接作用時,筆者按照常規(guī)舉了個例子。A=“a”;B=“b”;C=A+B,所以,C的值是“ab”;D=B+A,所以,D的值是“ba”。學(xué)生的反應(yīng)冷淡,自己也覺得索然無味。
于是在下一節(jié)課的教學(xué)中,筆者更換了舉例的內(nèi)容。A=“開”;B=“放”;C=A+B,所以,C 的值是“開放”;D=B+A,所以,D的值是什么呢?教學(xué)到這步,學(xué)生已經(jīng)搶著回答了“放開”。很多學(xué)生在這個時刻發(fā)出了會心的笑聲。
通過解決與學(xué)生切身相關(guān)的問題,使學(xué)生認識到算法與程序設(shè)計的學(xué)習(xí)與自己的學(xué)習(xí)和生活密切相關(guān),與過去的經(jīng)驗和以前學(xué)習(xí)的知識相互關(guān)聯(lián)。
明確學(xué)習(xí)的目的并取得學(xué)生的認同,對提高學(xué)習(xí)的主動性和保持學(xué)生的注意力至關(guān)重要。通過設(shè)計評委打分程序,并實際應(yīng)用于社團評比活動中,使學(xué)生明確學(xué)習(xí)算法與程序設(shè)計有助于解決生活中的實際問題。通過一題多解,使學(xué)生感受到學(xué)習(xí)促進了自己創(chuàng)新思維的培養(yǎng),思維的廣度和深度獲得了提升。類似的教學(xué)既突顯了算法與程序設(shè)計教學(xué)的特點,也讓學(xué)生切身感受到自身能力的提升。
利用學(xué)生經(jīng)驗中熟悉的東西進行教學(xué),從學(xué)生已有的生活經(jīng)驗和知識體系出發(fā)開展教學(xué),能有效降低學(xué)生參與新的教學(xué)活動的陌生感,提升學(xué)習(xí)的熱情。
在講解邏輯表達式的運算規(guī)則中,采用學(xué)生比較熟悉的單科獎學(xué)金和綜合獎學(xué)金進行舉例。
條件1:語文成績超過90分。條件2:數(shù)學(xué)成績超過90分。
P1(單科獎學(xué)金)的規(guī)則:只要有一門課超過90分。
P2(綜合獎學(xué)金)的規(guī)則:必須兩門課都超過90分。
由于以上規(guī)則是建立在學(xué)生熟知的基礎(chǔ)上,在下面學(xué)習(xí)邏輯運算符“AND”和“OR”的運算規(guī)則時,學(xué)生的學(xué)習(xí)顯得非常的順利。
條件1 條件2 P1(條件1 AND條件2) P2(條件1或 條件2)否否 否 否否是 否 是是否 否 是是是 是 是
在教師進行了必要的引導(dǎo)后,大部分的答案學(xué)生都可以自己推導(dǎo)出來了。
算法與程序設(shè)計要消除學(xué)生個人封閉學(xué)習(xí)的“偏見”,要挖掘共同學(xué)習(xí)的學(xué)習(xí)內(nèi)容,形成濃烈的學(xué)習(xí)氛圍。
在模塊化程序設(shè)計教學(xué)中,筆者引導(dǎo)學(xué)生將設(shè)計評委打分程序的問題分解成四個模塊,并由四個小組各自完成一個模塊的求解。
第1小組:輸入8個評委的分數(shù),并保存在數(shù)組a。
第2小組:根據(jù)數(shù)組中的分數(shù),計算最高分,保存在max變量中。
第3小組:根據(jù)數(shù)組中的分數(shù),計算最低分,保存在min變量中。
第4小組:根據(jù)數(shù)組中的分數(shù),計算總分,保存在sum變量中。
當四個小組分別完成各自的任務(wù)后,計算平均分的工作就顯而易見了。學(xué)生利用(sum-max-min)/6就求出了平均分。
以上教學(xué)讓學(xué)生依靠集體的力量完成了工作量相對較大的任務(wù),體驗了分工與合作的過程,也加深了對模塊化程序設(shè)計思想的認識。
算法與程序設(shè)計的很多思想對學(xué)生而言是全新的,是對常規(guī)的順序式的思維方式的突破。在教學(xué)中需要從學(xué)生已有的思維習(xí)慣入手,強調(diào)教學(xué)過程的循序漸進,幫助學(xué)生進行知識的建構(gòu)。
在引入循環(huán)結(jié)構(gòu)教學(xué)時,筆者采用了計算6個班級的捐款總額的例子。
學(xué)生固有的思維方式是順序式的依次累加。特別是學(xué)生習(xí)慣于將6個數(shù)字在草稿紙上全部記下來以后,然后計算總額。為此,筆者故意設(shè)置障礙,要求不得使用草稿紙。這樣學(xué)生不得不采用記住一個數(shù)值,和已有的總額累加,再獲取一個數(shù)值,再和已有的總額累加的方法。這樣,學(xué)生的計算方法就符合了計算機利用循環(huán)結(jié)構(gòu)進行累加求和的方法,體驗到了循環(huán)體“輸入一個值,累加求和”反復(fù)執(zhí)行的過程。
在此基礎(chǔ)上,筆者引導(dǎo)學(xué)生總結(jié)循環(huán)體“輸入一個值,累加求和”,分析循環(huán)次數(shù),得出循環(huán)的結(jié)束條件,并確定循環(huán)變量的初值。與此同步,筆者在黑板上將上述的引導(dǎo)過程通過流程圖逐步勾勒出循環(huán)結(jié)構(gòu)解決上述問題的過程,實現(xiàn)對知識的逐步建構(gòu)。
步驟1:總結(jié)循環(huán)體 步驟2:分析循環(huán)次數(shù),得出循環(huán)的結(jié)束條件步驟 3:并確定循環(huán)變量的初值
通過學(xué)習(xí)算法與程序設(shè)計,逐步解決從前無法解決的問題,掌握解決問題的方法,體驗到自身能力的提高,幫助學(xué)生在學(xué)習(xí)中樹立自信。提升學(xué)生的自信,是教學(xué)活動的目標。在教學(xué)過程中獲得的自信,也有助于學(xué)生在下一階段的學(xué)習(xí)中主動的投入。
在“驗證歌德巴赫猜想”的課題中,可以通過以下問題的設(shè)置?!叭绻鹡為偶數(shù),a和b為所求的兩個質(zhì)數(shù),在確定a的值以后,b的值如何確定?”、“確定了b=n-a以后,分析 a的取值范圍?”、“當 a從 2到 n/2逐步取值時,b的值在如何變化?”、“如何驗證a是否為質(zhì)數(shù)?”、“如何驗證a和 b同為質(zhì)數(shù)?”,“當a和 b不同為質(zhì)數(shù)時,a和b如何取值,逐步縮小取值范圍?”、“循環(huán)的結(jié)束條件是什么?”。最終學(xué)生得出a從 2到 n/2逐步取值,b始終取值為 n-a,當 a和 b同為質(zhì)數(shù)時就得到了正確的答案。讓學(xué)生充分發(fā)揮學(xué)習(xí)的主動性,在不斷求解新問題的過程中獲取知識,在一步步的成功中看到自身能力的提升,從而增強學(xué)習(xí)的興趣和信心。教師對學(xué)生的每一份努力、每一次進步,應(yīng)給予及時而適當?shù)谋頁P,激發(fā)學(xué)生積極的學(xué)習(xí)心態(tài)。
通過一題多解等方式,突破常規(guī)思維方式,培養(yǎng)學(xué)生的創(chuàng)新意識和創(chuàng)造能力,強化學(xué)習(xí)的自信心。
在學(xué)習(xí)交換兩個變量的值時,教師先講解常規(guī)的解題方法。然后提出不用中間變量,引導(dǎo)學(xué)生思考更高效的解題方法。
常規(guī)方法 創(chuàng)新方法一 創(chuàng)新方法二a=5 b=3 t=a a=b b=t a=5 b=3 a=a+b b=a-b a=a-b a=5 b=3 a=a觹b b=a/b a=a/b
在教學(xué)中教師應(yīng)組織強化,幫助學(xué)生達到自己的學(xué)習(xí)期望,使學(xué)生從學(xué)習(xí)中獲得滿足。而這份從學(xué)習(xí)中獲得的滿足感必將轉(zhuǎn)化為進一步主動學(xué)習(xí)的動力。
在評委打分程序的教學(xué)中,如果只是簡單地實現(xiàn)總分除以人數(shù)得出平均分是不能真正讓學(xué)生滿意的。經(jīng)驗告訴他們實際比賽中使用的評委打分程序并非如此。這里需要引入最值問題的求解。只有讓學(xué)生掌握了求解最大值和最小值的方法,并在此基礎(chǔ)上實現(xiàn)了“計算總分,去掉一個最高分,去掉一個最低分,最后得出平均分”這一符合實際應(yīng)用的方法后,他們才會略感滿足。
在和實際應(yīng)用的比較中,學(xué)生又會發(fā)現(xiàn)程序新的不足。剛才設(shè)計的程序只能實現(xiàn)多個評委對一個學(xué)生的打分。對該學(xué)生的打分完成后,程序就結(jié)束了。顯然現(xiàn)實中并非如此。這里又需要引入雙重循環(huán)的概念,使用外部循環(huán)處理多個學(xué)生,使用內(nèi)部循環(huán)實現(xiàn)多個評委對一個學(xué)生的打分。
在與現(xiàn)實應(yīng)用的不斷比較中,學(xué)生不斷地發(fā)現(xiàn)現(xiàn)有程序的不足。通過進一步深入地學(xué)習(xí),他們不僅拓寬了自己的知識面,更對自己的程序更具實用價值感到滿意。
意識到自己的程序具有使用價值以后,學(xué)生總是希望盡可能地在實際生活中使用它。學(xué)校的社團評比提供了應(yīng)用評委打分程序的舞臺。教師幫助解決了電腦和投影設(shè)備等環(huán)境的布置。學(xué)生則對程序運行界面作了進一步的美化,在得出一個相對較高的得分時,程序還會發(fā)出驚嘆的擬人聲音。使用電腦程序進行評委打分的過程是令人滿意的。這不僅提高了評委打分的效率,也讓設(shè)計程序的學(xué)生獲得了成就感。
教學(xué)中提供給學(xué)生真實的問題解決環(huán)境,讓他們應(yīng)用已有知識解決實際問題。在此過程中,讓每一位學(xué)生充分發(fā)表自己的見解,積極鼓勵學(xué)生大膽嘗試并提供必要的引導(dǎo)和幫助。當這些大膽的嘗試取得積極的成果,并且符合學(xué)生的預(yù)期時,學(xué)生的學(xué)習(xí)動機就會被激發(fā),維持在一個較高的水平上。
幫助學(xué)生提煉解題方法,讓學(xué)生感受到自己學(xué)習(xí)的不是解決某個問題的步驟,而是解決一類問題的方法。這不僅有助于學(xué)生知識遷移能力的培養(yǎng),更能幫助學(xué)生提升學(xué)習(xí)的效率。
通過例題“求 65+90+10+35+75的和 s”學(xué)習(xí)了累加求和的方法后,給出相似的題目“求s=1+2+3+……+n的值,其中n由鍵盤輸入”。學(xué)生發(fā)現(xiàn)這個問題的求解仍然是累加求和的方法,只是循環(huán)的次數(shù)不是事先確定的,而是在程序執(zhí)行過程中由鍵盤輸入的。這時給出進一步的題目“求s=2+4+6+……+n的值,其中n為偶數(shù),由鍵盤輸入。”學(xué)生會發(fā)現(xiàn)這個題目的求解也是累加求和的方法,只是在上一題的解題基礎(chǔ)上增加了“循環(huán)變量的值每次增加2”的變化。通過相似題目的類比和思考的逐步深入,學(xué)習(xí)累加求和方法的適用范圍。
求 65+90+10+35+75的和s求 s=1+2+3+……+n的值,其中n由鍵盤求 s=2+4+6+……+n的值,其中n為偶例題教學(xué),學(xué)習(xí)了累加求和的方法題目的變形1:循環(huán)的次數(shù)不是事先確定的,而是在程序執(zhí)行過程中由鍵盤輸入的題目的變形 2:增加了“循環(huán)變量的值每次增加2”的變化
筆者將ARCS動機設(shè)計模式運用于高中算法與程序設(shè)計教學(xué),在高一年級的算法與程序設(shè)計教學(xué)中進行了5個月的實踐。實施策略前后,在實驗班和對照班的學(xué)生中分別進行了“高中算法與程序設(shè)計學(xué)習(xí)動機調(diào)查問卷”的調(diào)查。通過對5個月前后的調(diào)查結(jié)果和學(xué)業(yè)績效的分析、比較,發(fā)現(xiàn)學(xué)生的學(xué)習(xí)動機、情感反應(yīng)和學(xué)業(yè)績效均有一定程度的提高。
運用ARCS教育理論,從注意、切身性、自信心、滿足感四個維度促進學(xué)生的主動學(xué)習(xí),使學(xué)生成為學(xué)習(xí)的主人。學(xué)生主動地學(xué)習(xí),必將推動三維教學(xué)目標的有效實現(xiàn)。
[1]郭德俊,汪玲,李玲.ARCS動機設(shè)計模式[J].首都師范大學(xué)學(xué)報(社會科學(xué)版),1999,(5).
[2]黨鳳良,劉恩山.高中生學(xué)習(xí)生物學(xué)動機的初步研究[J].生物學(xué)通報,2003,(7).
[3]張祖忻.如何將動機原理整合于教學(xué)設(shè)計過程[J].開放教育研究,2003,(2).