張翠肖,張國兵
(石家莊鐵道大學a.信息科學與技術學院;b.現代教育技術中心,石家莊 050043)
C 語言程序設計是目前各高校工科類專業的學科基礎課程,目的是培養學生計算機編程能力、計算思維和邏輯思維能力,以利用計算機解決工程實際問題,一般開設在大學一年級。傳統的“滿堂灌”課堂教學模式已經不能適應新工科背景下,OBE 教育模式的要求,需要進行改革和創新。
MOOC(Massive Open Online Courses)的出現,開啟了遠程教學、在線學習新模式[1]。但是,目前學生存在課下學習主動性差的問題,如果完全照搬MOOC 組織教學,老師無法精準掌控學情,無法了解學生線上MOOC 學習情況。2013 年,美國加州大學的阿曼德·福克斯教授提出了SPOC(Small Private Online Course)教學模式,即小規模限制性在線課程。SPOC 可以將優秀的MOOC 線上資源和線下課堂教學相結合,形成一種新型的混合式教學模式[2]。
OJ(Online Judge)是一種在線評測系統,用戶可以在線提交多種程序代碼,系統會自動對代碼進行編譯,并利用事先系統設計好的測試用例執行程序,對程序進行自動評測。是各種計算機程序大賽的主要平臺,也常用于高校程序設計類課程的實踐教學平臺[3]。
本文在我校面向非計算機類專業的基礎課C 語言程序設計中,融合OJ 和SPOC 系統,構建了線上線下混合式教學模式,改進課程評價體系,提高了學生的教學參與度,有效提高了學生的編程能力。
傳統的教學模式,一般是老師課堂教授,學生課下完成作業,機房進行上機實驗。對C 語言程序設計這種編程類課程來說,存在著很多不足,最主要表現為:(1)“老師布置題目、學生編程實現自測、老師驗收”這樣的實踐模式,學生都很難去構造充分的測試用例,會僅僅停留在最基本、最主要的測試數據中,程序設計的通用性、時空性能要求很難得到訓練,不利于系統培養學生程序設計能力。另外,學生提交的程序可能存在編譯錯誤、運行結果不正確或者部分正確等多種問題,學生得到的反饋比較慢,會大大影響學生的參與度和創新能力的培養。(2)傳統的以期末閉卷考試為主的課程考核方式,很難調動學生的學習積極性,對提高學生的程序設計能力、掌握程序調試技巧、享受編程的快樂、開拓創新思維都是不利的。(3)老師無法方便地精準掌握、統計和分析學生的學習情況。
為克服傳統教學方式的弊端,提高教學效果,針對程序設計課程,設計了基于OJ+SPOC 系統的混合式教學模式,利用OJ 系統搭建實踐教學平臺,充分利用平臺,提高學生課下學習投入,從而加大實踐訓練程度;根據平臺的實時反饋結果,學生可以隨時修改優化程序,提高了學生的參與度和創新實踐能力;利用SPOC 課程平臺,構建全員參與和個性化調動的課堂互動模式,提供線上學習資源,進行個性化培養。同時改進課程考核體系,過程性考核和結果性考核相結合,充分調動了學生的學習積極性。
基于OJ+SPOC 系統的C 語言程序設計混合式教學模式如圖1 所示。OJ 和SPOC 平臺為混合式教學的基礎平臺,其中,OJ 系統平臺為實驗教學平臺,SPOC 平臺為線上教學的主要平臺。借助這兩個平臺,老師可以組織混合式教學,課前布置在線學習任務點,學生學習教學視頻、完成老師的自測題;在線下的課堂教學中,老師組織重點講解、組織討論、互動和課堂練習;課后利用OJ 平臺布置作業和實驗。
基于OJ+SPOC 系統的混合式教學,大大激發了學生的學習動力,課前在線自學、課中參與課堂活動、課下完成作業,三者形成一個閉環[4]。使學生真正成為教學主體,教師為主導。在教學平臺的支撐下,學生在各個環節的表現得以可視化和量化。老師可以精準地把握每個學生的學習,做好學情分析,進行個性化教學。
利用混合式教學模式進行課程教學,需要重新設計教學環節,精心設計在線教學資源。C 語言程序設計課程依托超星泛雅平臺建設了在線網絡課程,進行線上線下混合式教學實踐。
2.1.1 OJ 實踐教學資源建設
OJ 作為一個在線自動評測平臺,優勢在于計算機程序的自動評測。在C 語言程序設計課程中,采用了杭州百騰教育科技有限公司的“拼題A”OJ 平臺,利用平臺的自有題庫和自己編制的題目,根據課程進度計劃設計了課后作業庫和實驗項目庫,共完成13 個作業庫,5 個實驗項目庫,為課程實施打下基礎。
2.1.2 SPOC 教學資源建設
C 語言程序設計線上教學最主要的教學資源就是課程視頻,借鑒了MOOC 的思想,按照知識點組織課程脈絡,每個知識點對應一個視頻文件,錄制了C 語言程序設計全部課程視頻,共61 個視頻;根據人的持續關注時間每個視頻長度在5~20 分鐘,共800 分鐘。
利用超星泛雅平臺,搭建了網絡課程,根據知識點設計課程目錄,把視頻嵌入到課程中,便于學生課前學習,并在每個知識點設計了自測題,每一章設計了章節測驗。
2.2.1 混合式教學實施計劃和教學設計
進行混合式教學方式,需要重新設計教學實施計劃。首先根據教學目標、教學內容和教學總學時,確定每章的學時分配;然后針對每次課進行教學計劃,包括預先內容、授課內容和重點難點以及課后作業。
針對每次課,需要進行詳細的教學設計,包括:課前線上學習內容、具體到知識點和視頻鏈接、需要完成的自測題以及時間安排;課中的課堂教學設計,包括課堂活動設計(時間點、具體內容和形式)以及每次課后的作業設計。
2.2.2 混合式教學活動
混合式教學活動,包括課前學生學習、課堂教學活動以及課下活動。為了讓學生明白每次課的教學組織和教學內容,課程組設計了“學習任務單”,提前下發給學生,讓學生明確每次課的課前任務、課堂組織步驟以及課后的作業、主題討論等。
教師通過查看學生的課前學習情況,以及自測題的正確率,大致了解了學生的易錯點。課堂活動一般先進行一次5 分鐘的、針對學生自學的課堂測驗,講解重點內容。課后完成擴展閱讀和課后作業。
課后作業包括了編程題和非編程題,編程題部署在OJ 平臺,非編程題部署在SPOC 平臺。共布置13 次作業,其中10 次作業包括了編程題。
2.2.3 基于OJ 的實踐教學
C 語言程序設計課程有極強的實踐性,沒有一定量的實踐投入,學生很難掌握程序設計的精髓,為鍛煉學生的限時編程能力,采用了“拼題A”OJ 平臺為課程的實踐教學平臺,平時的編程作業、實驗都在此平臺下完成。除了第一章緒論沒有安排上機實驗作業外,其余每一章都安排了上機實踐任務。共布置了10 次上機作業、5 個實驗項目。每次作業在下發后,要求學生在規定的時間內完成并在線提交,系統會自動進行評測,給出成績。
利用SPOC 平臺發布任務點114 個,其中課程視頻占57%,筆者班級共115 名學生,在線觀看視頻學習的平均參與度超過90%。在利用OJ 平臺實踐方面,平時上機作業10 次,實驗項目5 個。第一次上機作業提交數為395,每個學生平均提交3.4 次;第10 次上機作業提交數為164,每個學生平均提交1.4次,說明剛開始時,出現的編譯錯誤、運行錯誤較多。隨著訓練的增多,編程能力得到鍛煉,多數同學一次提交就能做對。
最終的課程考核,加大了平時考核的比例,包括學生的在線學習、課堂測試、作業程級和實驗等,占70%;期末考試成績占30%。全班平時作業平均成績為80.4 分;實驗平均成績為87.3 分。
從最后的總成績上來看,90~100 分的37 個,占32.17%;80~90 分的32 個,占27.837%;超過60%的同學達到良好以上,教學效果明顯提高。
教育技術的發展、在線網絡課程資源的不斷豐富以及新時代大學生的特點,促使線上線下混合式教學成為高校教學改革的重點之一。混合式教學能夠將信息技術和教育教學深度融合,充分發揮學生的教學主體作用和學習積極性。本文針對程序設計類課程特點,構建并實踐了“OJ+SPOC”的混合式教學模式,進一步優化了課堂教學效果,學生的程序設計實踐能力得到有效加強。下一步的建設需要在如何進一步調動學生的學習主動性和學生創新實踐能力上下功夫,精心設計課堂互動,進一步優化課程考核,增進學生“我編程,我快樂”的學習體驗,提高學生程序設計實踐創新能力。