摘 要 根據教學的實踐經驗和對神經網絡以及博弈理論的研究,提出了協作競爭教學模式的關鍵機制的設計,并將其用于Java課程的教學實踐中,對教學模式的改進提出了一些看法。
關鍵詞 協作 競爭 教學模式 神經網絡 博弈
1 引言
大學課程教學是落實對學生能力培養的重要環節,由于培養是通過一定的方式進行的,教學方法對培養的效果影響很大。故我們期望教師所采用的教學模式是可靠而高效的。因此,本文作者對一流大學的計算機課程教學方式進行了一些調查和研究。通過調研我們看到,發達國家大學的教育比較扎實,特別重視給學生一把思考的鑰匙,提高學生的獨立思考能力和開放性思維能力是其大學訓練的重點。教師期望他們的學生達到幾種能力的提高:獨立的思考,資料的收集和解釋,在專業領域的創造能力,開放性地思考并做出一個以上的可能性的結論和解釋,在尋找適當解決方法上的決策和理解并熟練運用批判式的評估。國外大學在課程教學中的一些做法也給了我們一定的啟發。
本文作者借鑒“Learning by doing”和任務驅動教學方法、協作學習等方法的思路,并在Java課程的教學實踐中不斷進行探索,根據實踐所逐步積累的經驗,結合神經網絡理論,構建了一個協作競爭的教學模式:將學生按一定規則分為若干組,組之間相互競爭,組內成員按特定的協作機制來完成一個項目,對各班內組和各組內成員分別進行評價排序。本文探討了該教學模式的分組競爭實質,并將其應用于指導分組策略的設計。同時采用博弈理論來分析教學實踐中所出現的問題,改進了組內協作、實踐考核等關鍵機制的設計,從而較好地確保了該模式的合理性和實用性,取得了較為理想的教學效果。
2 Java課程中的協作競爭教學模式
我院Java課程的教學,按順序分為課堂教學和課程實踐兩部分。課堂教學部分包括課堂的Java知識講解,要求每個學生按進度獨立完成對應章節的編程實驗,從而為課程的實踐環節提供必要的準備。在課堂教學結束、課程實踐開始之前,安排書面考試,成績占課程總分適當的比例,不及格者視為該課程未通過,以此來促使學生梳理所學的Java知識,作為向隨后的課程實踐部分的過渡。根據我們對歷屆同學課程實踐情況的了解,若課堂教學之后沒有筆試,會使實踐部分的教學效果受到一定程度的影響。所以,課程實踐部分準備工作的落實非常必要。
在課程實踐部分,我們采取分組合作方式來完成一個課程項目。考慮到課程項目設計的效果,根據以往各屆的經驗并結合任課教師的工作負荷,一般每7~8人一組具有較好的可行性。分組的基本策略是:按每組的規定人數在本班范圍內自由組合。若發現某組學生專業能力普遍較弱,或有其他客觀原因,可以預見該分組會對其任務的完成及成員能力的提高不利,則通過協商調整分組。總之,確保每組至少有一位專業能力強的學生為該組的核心成員,使得各組都有較大的可能獨立完成項目。
在項目的分析、設計階段,收集項目所需資料,任課教師要求每個學生按照所掌握的Java與UML知識,獨立思考,提交自己的UML設計圖,在本組內討論。教師對各組的UML設計進行指導,審核各組修改后的設計,并給出組內協作的規則,同時,明確組內各成員的具體分工,使得各成員能夠按指定規則和預定的進度協作完成任務。
課程項目的考核采取兩階段設計,第一階段為各班內組間互評,第二階段為教師按預定順序對各組實時測評。首先,班內各組按照教師給出的項目考核規則來相互測試評價所完成的系統,要求各組提交報告進行班級內的組間互評,從而給出各組的分數及班內排名。在組間相互評估時,要求各組比較、分析其他組所完成系統的特點,并從專業角度給出合理的解釋,為本組系統的改進尋找適當解決方法。
第二階段,教師按擬定的項目考核規則來測試各組所完成的系統,得出該組所做項目的第二次評分,并且根據該組的分工記錄、每個成員的個人工作小結及對該組的考核情況,對每位學生進行提問,根據學生的回答情況給出項目考核成績。該成績占課程總成績的一定比例,該考核不及格者也視為該課程未通過。
以上為本文作者在Java課程的教學實踐中所采用的協作競爭教學模式的基本思想。根據實踐所積累的經驗,發現其中如何進行分組、組內成員是否協作、以及項目的評分規則等幾個環節是關鍵,它們都會對任務的完成、成員能力的提高產生重要影響。那么我們就要問,一個好的分組策略,其實質究竟是什么?結合神經網絡理論,本文指出該教學模式的分組競爭實質為自組織特征圖(SOFM)網絡,且作者也將該理論應用于指導分組策略的設計。
3 競爭網絡用于分組策略的設計
在生物學中,大神經元不僅加強自己,同時也加強接近它的那些神經元。生物網絡通常不是單個神經元活躍,而是在最為活躍的神經元周圍有活躍區。在神經網絡理論中,為了模仿生物學系統的活躍區、且不必實現非線性的加強中心/抑制周圍的反饋聯結,Kohonen作了簡化設計,他的自組織特征圖(SOFM)網絡首先使用競爭網絡層來決出獲勝的神經元i,然后,在獲勝神經元周圍一定范圍內的所有神經元的權值向量用Kohonen規則更新,具體公式如下:
iW(q)=iW(q-1)+α(P(q)-iW(q-1)) = (1-α)iW(q-1)+ αP(q),i∈Ni*(d)
其中鄰域Ni*(d)包含所有落在以獲勝的神經元i*為中心、半徑為d的所有神經元的下標:Ni*(d)={j,dij≤d}。W(q)為第q次的神經元權值,參數α為學習速度(0<α<1)。
該規則的含義為:當輸入向量P被提交,獲勝神經元的權值和其鄰域內的神經元的權值將向P移動,并相互靠近,結果是多次提交結束后,鄰域內的神經元將通過學習而擁有彼此相像的學習向量。
根據以上原理,結合課程教學的實踐,本人認為,教學模式的分組競爭實質為自組織特征圖(SOFM)網絡。在分組策略的設計中,就具體一個組來看,其成員可視為有相互連接的幾個相鄰神經元,若該組要較出色的完成任務,應當至少有一位成員(神經元)作為專業能力強的核心成員(可以獲勝的神經元)。這樣,按照項目要求的進度,該組內的成員通過多次學習將擁有彼此接近的專業能力,組的成員整體能力得到提高。
所以,在分組前要通過一定途徑,確定班中專業能力較強的學生,作為核心成員的候選。其次,根據該原理可知,鄰域是有一定范圍的,這意味著,若組成員人數過多,加強作用并不能對所有成員有效。因此,控制組的人數(鄰域大小),增加專業能力強的核心成員(可以獲勝的神經元)數目,是分組的關鍵。
4 博弈論用于組內協作機制的設計
在往屆的Java教學實踐中我們發現,有些組協作得較好,有些組協作上存在問題。究其原因,少數學生偷懶、組內分工不合理,且協作過程的監督沒有徹底落實是問題的關鍵。為了分析人的行為的本質特征并解決該問題,我們利用博弈論的理論來進行研究。
眾所周知,博弈論是一種研究理性的個體在對抗沖突中如何找出最優解的數學方法,而理性的個體行為總是選擇追求自我利益的最大化。通過采用博弈論來分析組內協作時存在的問題,我們能對其給出合理的解釋,并能據此設計出一個恰當的組內協作機制。
如圖1所示,假定學生SA與學生SB為同組,兩人各自的任務相對獨立,如果SA、SB都工作,最后該組考核得分,兩人收益均為3。若SA偷懶不做,SB容忍其行為,并且還得完成一些SA的任務,SA收益增為5,SB付出的成本加大,收益降為1。若SB對抗,兩人情況會惡化,收益均為-2。SA判斷出,SB容忍其行為比對抗的收益高。用序貫博弈的術語說,SB的決策是這個博弈唯一的基本子博弈,該子博弈的納什均衡決策是容忍,故戰略組合(SA偷懶,SB容忍)是子博弈完美均衡。所以對抗的威脅不可信。
然而,通過增加SB的任務,讓其承當一部分與SA有關的任務,可以改變這個規則,具體如圖2所示。
通過增加SB的任務,讓其承當一部分與SA有關的任務,提高了SA偷懶而SB容忍其行為的收益,但同時減少了SB在任何情況下的收益。當SA做時,因為SB任務增加,其收益也將減少為2。但最大的變化是,如果SB容忍,通過協作機制的設計,使得其任務會無法全部完成,則SB成績受很大影響,收益降為-5。然而,最終結果對SB來說變好了。因為基本子博弈的解變了,對抗成為最優反應,對抗的威脅是可信的,子博弈完美均衡是SA做。
通過以上的分析,本文作者設計了一個如圖3所示的組內循環協作機制,可以解決組內協作中存在的問題。
在圖3中,我們給組內8位學生編號1~8,同時使其兩兩配對,每個學生除了要按規定完成自己的編程任務,獲得1個原始分,還負責審核伙伴的程序,指出問題,并提出修改建議,給出審核報告,再獲得1/2原始分,在圖中體現為互換位置,依次類推,可獲得再獲得1/4和1/4原始分。如果有某組員沒有完成自己的任務(如圖3中的有X標記 的5號),則其喪失原始分,并且不能參與隨后所有的交換審核;同時也使得其伙伴從交換審核的一開始就不能參與,無法獲得相應的原始分。我們把學生獲得的原始分作為其實踐考核成績的調控因子。通過增加組內的重疊任務,使得子博弈完美均衡是所有組內成員都做。
該組內循環協作機制的設計,使得組內成員從任務的一開始就相互督促,不但可以極大地減輕偷懶的動機,還非常有助于老師對組內學生協作的過程按階段審核報告進行有效的監督,以確保各成員按進度協作完成任務。同時,該循環協作機制可以起到強化組內成員(相鄰神經元)間的相互溝通(連接),使得核心成員(可以獲勝的神經元)帶動組的成員整體能力得到提高成為可能。
5 用博弈論來改進實踐考核機制
在課程實踐部分,我們采取上述的分組合作方式來完成一個課程項目。假定某組的共同得分取決于該組平均的努力程度,得分采用數值形式表示:A=5,B=4,C=2,D=1,E=0(A,B,C,D,E分別代表不同的成績等級)。組內成員可能會偷懶,但如選擇工作,則個人的收益就是小組得分減去個人努力的成本。若同一組的學生得分相同,通過對如圖4所示的組成員數為3(大于3的分析亦同理)的收益矩陣進行博弈分析,可知存在一個占優戰略均衡,即每個人都選擇偷懶。
所以,必須設計一個有效的評分規則,促使學生選擇收益矩陣中的合作解,即每個學生都努力工作。按照對項目的貢獻和達到的專業能力對學生進行評級,給貢獻大的學生加分,從而激勵學生們去工作。
根據貢獻大小和達到的專業能力為學生評級,如圖5所示,以組成員數3為例(大于3的分析可同理類推),排小組第一的加3分,排第二的加2分,排第三的不加分。假定所有成員都工作,每人有1/3的機會得3分獎勵,1/3的機會得2分獎勵,收益的期望值為4+(1/3)*3+(1/3)*2=5 +2/3。假設學生SB偷懶,其他兩人工作。SB的收益僅為5,SA和SC會有1/2機會得3分獎勵,1/2機會得2分獎勵,各自收益和為5+1/2。
在修改后的博弈中,工作變成占優戰略,博弈成為合作占優博弈,該機制的設計能夠提高組的工作效率。
因為小組中的成員知道本組成員的貢獻,故可以按照對項目的貢獻和達到的專業能力為學生進行評級,但問題是每個學生都有歪曲事實的動機,為了更有機會獲得獎勵分,每個學生都可能給自己排第一。可以設計一個如圖6所示的機制解決此問題:每個學生為同組的其他成員評級,如果不影響自己的得分,一般會讓貢獻最大的學生得最高獎勵,如實地根據其他學生的相應貢獻來為他們評級。
取同組SA和 SC學生為SB評的最低等級作為對其最初的評估,若出現平局, SB和SC的等級相同,SA與他們不同,就用SA對 SB和 SC的評定來打破平局。
同時,將上述的組內評價考核原理推廣應用于班內組間互評,使其成為一個層次化的評價機制,通過評價機制的進一步改進,使得工作成為最佳選擇,并得到強化。
6 結束語
通過上述的博弈論中的方法,我們改進了Java課程教學方法中的組內協作機制和實踐考核機制,較好地解決了以往教學實踐中遇到的問題,對學生完成任務起到明顯的激勵作用,避免了學生通過提供非真實信息來提高其評級,從而促使學生在該課程中有效地提高能力。通過改進模式關鍵機制的設計,形成了一個協作競爭的教學模式,組內的成員整體能力得到提高,達到了改善教學效果的目的。當然,在今后的課程教學實踐中我們還需要進行不斷地探索。
參考文獻
[1] Martin T.Hagan, Neural Network Design. China Machine Press, CITIC PUBLISH HOUSE, 2002.
[2] Roger A.McCain, Game Theory, A Non-Technique Introduction to the Analysis of strategy. South-West, a division of Thomason Learning, 2004.
[3] John J.Shaughnessy, Eugene B.Zechmeister, Jeanne S.Zechmeister. Research Methods in Psychology. 6th Ed. McGraw-Hill Companies,Inc. 2003.
[4]C 語言程序設計下任務驅動的協作學習.計算機教育,2006,5.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文