李支成 向華 吳開誠
摘要:在計算機語言課程混合教學改革中引入結對編程方法。對程序設計實踐內容按照項目進行組織,利用混合教學中在線學習平臺的PBL功能發布和管理項目。學生二人結對來共同完成項目,在學習過程中增加互動交流和幫助,提交了團隊意識和編程能力。
關鍵詞:結對編程;極限編程;混合教學
中圖分類號:TP319? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)24-0140-02
開放科學(資源服務)標識碼(OSID):
1 引言
計算機語言課程是非常重要的專業基礎課程,包括C/C++程序語言設計,JAVA程序語言設計,Python程序語言設計等課程。目前計算機語言課程存在的問題是教學模式和方法單一,傳統課堂以講授為主,著重程序語句和基本算法的講解,學生重復代碼實現,學生學習主動性差,遇到困難時容易放棄,同時教師和學生缺乏交流,教學效果不佳。
近些年來,將在線教學與課堂教學結合的混合教學[1,2]逐漸成為很多高校采用的教學方式。混合教學的核心是強調教師的主導作用和學生主體地位的有機統一,它所構建的環境是原有學習環境的擴展,并充分整合了傳統教學和在線課程學習所構建環境的優勢。將線上自主學習、討論等活動和線下協作學習等活動混合,是建構主義學習理論和行為主義學習理論結合。
Extreme Programming(極限編程,簡稱 XP)[3]是一種以編碼為核心任務并且經歷過實踐考驗的輕量級軟件開發方法。結對編程是極限編程的一種重要實踐,適合應用于計算機語言教學實踐[4,5]。結對編程把學生兩人一組,分成多個學習小組。在小組中一個輸入代碼實現,一個在旁邊觀察,發現編寫過程中的錯誤和待優化的代碼。兩人結成一對,及時進行交流,互相鼓勵。同時輸入者與觀察者的角色根據情況可以互換。讓學生學習編程語言的同時掌握應用軟件開發方法,提高學生的團隊意識和編程能力。
在計算機語言課程混合教學改革中應用結對編程方法,促進了學生與學生之間的交流,營造良好學習氛圍,被動學習轉為為主動學習,提高了學生團結協作和溝通能力,提升了學生的學習興趣和自信心。
2 結對編程在計算機語言課程混合教學改革中的應用
2.1 結對方法
結對方法采用多種方式,主要包括自由組合和能力搭配組合。在計算機語言混合教學中,本文案例使用的在線教學平臺是超星泛雅在線學習平臺。結對方法的具體實施工具是利用超星在線學習平臺的PBL功能。PBL是基于項目的方式,把學生劃分為多個小組,每組限定為兩人,組員合作討論,最終形成項目成果。PBL提供小組評價功能,包括教師評價和組間互評,并可以設定權重比例。利用PBL的優點在于充分利用混合教學在線課程平臺,讓小組成員可以及時在線交流,最后提交項目代碼結果。整個過程都留下了記錄,教師可以追溯整個項目完成的過程。
在課程的開始階段,教學內容相對簡單,采用的是自由組合方式。學生可以選定相對熟悉的同學進行配對組合。這樣有利于學生熟悉結對編程這種新模式。在課程的中后期階段,根據學生的在線課程學習成績,把學生分成高,中,低三種能力水平。讓水平較高的學生帶著水平較低的學生,以達到幫帶目的。可以采用的組合方式為:“高+中”“中+低”“高+低”。這個階段老師對班級學生的學習能力水平有了大致的了解,可以針對性地選擇學生進行配對。重點關注學習積極性差,學習進度慢的學生,征求這些低水平同學的配對意見。進行一到兩次的組合調整,達到相互促進目的。
2.2 結對編程的實施
教師把實踐內容分成多個項目,根據教學進度用PBL方式發布項目。班級學生二人一組,根據結對方法分成多個小組。小組可以選擇在課堂上進行結對編程,兩人共用一臺機器,完成項目。也可以在利用課外時間,在線交流討論,線上完成項目。
對每個小組的要求包括:(1)需要按照項目要求提交程序代碼和相關文檔。(2)給出小組成員的具體分工,分成編寫角色和觀察角色。并要求在不同項目中要交換角色。(3)隨機抽取的小組需要采用答辯的方式報告項目情況,教師和其他小組進行現場打分。沒有參加答辯的小組由教師和其他小組交叉評閱打分。
2.3 實施效果與分析
本文以《C語言程序設計》課程混合教學改革為例,對一個班級進行一個學期的結對編程實施,總體實施效果較好。班級平均成績較往年提高8分左右,優秀學生的比例有較大提高,不及格的人數也變少。實施效果分析如下:
(1)實施結對編程的班級課堂活躍度較高,小組成員之間相互討論,有問題立即討論解決,提高了學生學習的自信心。在課堂上遇到問題時,也會積極請教老師,和老師互動變多。在傳統課堂上學生遇到困難后,由于性格原因往往不會請教老師。在結對編程的學習氛圍下,學生的性格也會互補,交流互動變多。
(2)從項目結果來看,提交的代碼質量變高,程序交互界面也變得友好。部分學習好的同學甚至會擴展功能。主要是在結對編程過程中,兩個人綜合意見后,減少了代碼中的錯誤。
綜上所述,結對編程在混合教學中的效果較好。但在實施過程中仍然發現一些問題。例如有少部分學生存在“吃大鍋飯”現象,只完成少部分任務或不完成任務。在結對編程過程中兩個人也會出現配合不好,鬧情緒的現象。在面對難度較大的項目時,結對小組還可能面對不能完成項目的情況。
3 結語
混合教學在面對計算機語言課程時,也會面對計算機編程實踐教學中的困難。利用結對編程方法,對混合教學中的實踐內容按照項目進行組織,把班級分成多個二人小組,組內成員互相交流和幫助,能夠提交教學效果,同時提高學生的團隊意識和編程能力。
參考文獻:
[1] 呂娜,張琎,張芊茜,等.混合教學模式在程序設計類課程中的應用[J].計算機教育,2019(05):115-118+123.
[2] 陳剛.基于數據分析的分層混合教學模式實例研究[A]. Advanced Science and Industry Research Center.Proceedings of 2018 International Conference on Education Reform and Management Science(ERMS2018)[C].Advanced Science and Industry Research Center:Science and Engineering Research Center,2018:5.
[3] Beck K, Extreme programming explained [M].Addison Wesley P Educ,2000.
[4] 奚修學,高亞.敏捷軟件開發方法在C語言教學中的應用初探[J].成功(教育),2013(22):238.
[5] 徐勝舟,杜小坤.結對編程在Java Web開發課程實踐教學中的應用[J].現代計算機(專業版),2015(13):13-16.
【通聯編輯:朱寶貴】