賀晶晶
摘 要: 以自主搭建的Online Judge(OJ)實驗教學平臺為基礎,采用混合式教學模式,教學過程中注重以OJ具體問題激發學生的學習興趣,引導學生在課堂上進行小組討論、探究,強化鞏固理解教學內容,課后利用OJ平臺開展拓展訓練,提升學生計算機編程能力,提高學習效果。
關鍵詞: OJ平臺; 混合式教學; 程序設計; 教學實踐
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2017)06-58-04
C programming blended-learning practice based on OJ platform
He Jingjing
(Hunan Electrical college of Technology, Xiangtan, Hunan 411101, China)
Abstract: Based on the self-built Online Judge (OJ) experimental teaching platform, the blended learning mode is used in the teaching of C programming. The teaching mode pays attention to stimulate students' interest in learning with the specific problems on OJ platform, guides students discussing by group in class to strengthen the understanding of the content of teaching, and carrying out after-school training to improve students' programming ability, so as to improve the learning effect.
Key words: OJ platform; blended learning; programming; teaching practice
0 引言
C語言程序設計是高等學校理工科專業會開設的一門專業基礎課程,主要培養學生掌握C語言的基本語法,了解程序設計思想和編程方法,培養學生具有一定的程序設計、分析、編碼、測試等能力,以及解決一些實際問題的能力,為后續課程和從事軟件開發工作打下良好的基礎。通過此門課程的學習,培養學生對計算機編程的學習興趣,培養計算思維能力。
然而,就目前高校學生的學情現狀分析看,大部分學生剛入校時基本沒有編程基礎或有一些簡單的編程知識。因此針對多數沒有編程基礎的學生,采用什么方法開展教學才能達到課程教學目標,成為教師一直以來不斷探索的課題。本文提出一種基于OJ平臺的混合式教學方法,能更好的激發學生的學習興趣,培養學生的計算機編程能力,從而提高學生的計算機應用水平。
1 傳統教學的問題與混合式教學優勢分析
傳統的C程序設計課程教學主要分為理論知識講解和上機練習。學生先理解C語言的基本語法和編程思想,然后按照實驗指導書要求完成實驗題目,編寫源代碼。傳統的教學中存在如下問題,第一,實驗內容題目單一,學生編程思維比較局限;第二,學生實驗結果檢查難以及時檢查,發現問題;第三,學生教師交流互動少,學生遇到問題無法及時解決,導致學習興趣不濃厚,學習效果不佳。
根據傳統教學存在的問題,結合信息技術的發展和對教學實踐的不斷探索,越來越多的教育研究工作者將注意力放在將傳統教學與在線學習相結合,形成一種新的學習模式——混合式學習,這種學習模式逐漸成為大學課堂教學的主要改革方向[1]。
所謂“混合式教學”(Blending Learning)是將傳統學習方式的優勢和數字化或網絡化學習(eLearning)的優勢結合起來,既要發揮教師引導、啟發、監控教學過程的主導作用,又充分體現學生作為學習過程主體的主動性、積極性與創造性[2]。
混合式教學方式對老師提出更好的要求需要其在課程設計和知識講授中,將課堂教學與信息技術進行良好的融合,教學過程中使用“線下”(Offline)與“線上”(Online)的有機結合,并根據學生特點達到一個合理的學時分配。
筆者以自主開發的Online Judge(OJ)為實驗平臺,在C程序設計實踐教學過程中,引入混合式教學理念,結合線上、線下教學模式,以OJ上的問題為核心與載體,在課堂內、外的自主學習中,以及在小組合作學習中,凸現學生學習的主體性、實踐性,提高學生的計算機編程能力,并改革計算機類課程實驗考核方式,從而提高教學質量。
2 Online Judge教學平臺簡介
Online Judge系統(簡稱OJ)是一個在線的判題系統。用戶可以在線提交程序多種程序(如C、C++)源代碼,系統對源代碼進行編譯和執行,并通過預先設計的測試數據來檢驗程序源代碼的正確性。目前著名的OJ國外有RQNOJ、URAL等。國內著名的題庫有北京大學題庫、浙江大學題庫、電子科技大學題庫、杭州電子科技大學題庫等[3]。
網絡上的主流各大Online Judge系統,擁有豐富的試題庫,用戶注冊一個ID,然后用自己熟悉的編程語言(一般有Pascal/C/C++/Java)編寫源代碼提交測試即可,會立刻返回信息顯示你的程序正確性[4]。
筆者搭建了一個C程序設計課程的OJ平臺,教師能夠方便地在OJ添加和完善C程序設計課程相關的實驗題目。利用OJ學習平臺,學生編寫大量的程序,通過調試應用,提高自身利用計算機分析問題和解決問題的能力,養成自學動手的良好學習習慣,較大程度上激發了學生的學習興趣。教師也可以隨時查看學生實踐的情況,極大地減少了教師作業批改的負擔,提高了工作效率和準確性。
3 基于OJ平臺的混合式教學模式改革
3.1 搭建自主設計的OJ課程平臺
首先建立自己課程的OJ平臺,用戶分為“教師”、“學生”角色。“教師”角色的用戶,能夠方便地在OJ添加和完善各類問題,主要是C程序設計課程相關的題目。利用 OJ平臺,教師可以隨時查看學生實踐的情況,極大地減少了教師作 業批改的負擔,提高了工作效率和準確性。
筆者實際教學中上傳C程序設計課程的課后習題,如圖1所示。教學中,為了更好地利用OJ平臺,先建立學習小組,在學生課程學習之前,以網絡信息發布方式將相關的練習平臺推薦給學生;上課時利用學習能力強的學生作為小老師,利用學習小組,選定小組長,組長學習能力強能主動解答所在組成員學習過程中遇到的問題;并督促組員去OJ平臺做題和完成教師布置的實驗內容,每做一題會有相應積分,此分數作為期末平時成績的一部分,提高學生的學習興趣和編程能力。
3.2 基于OJ平臺的混合式教學實施
⑴ 基于OJ平臺的混合式教學設計思路
混合式教學模式的主要思路是將各類學習資源混合,學習方式混合,不同學習工具混合教學。在各類學習資源混合方面,C程序設計課程教師要善于將各類教學資源整合,例如課本資源、課程網絡在線資源、教師自己整理加工的學習資源和網上優秀的學習資源;在學習方式混合方面,教師要將傳統的面對面課堂教學和網絡在線學習相結合;在不同學習工具的混合教學方面,教師要合理利用世界大學城網絡空間、OJ實踐教學平臺、微信、QQ群教學等等。
在上述理論的支持下,筆者提出基于OJ平臺的C程序設計混合式教學設計框架(如圖2所示),按照這個框架, 混合式教學過程體現構建混合式教學環境、混合式教學實施、混合式教學評價等三個階段進行,并且在實施過程中隨時進行驗證與評價。
[① 搭建OJ教學平臺][② 面對面翻轉課堂教學][③ 基于OJ實踐教學平臺的教學][③ OJ平臺使用作品展示匯報,面對面交流學習][④ OJ平臺數據統計、學生使用率評價][將學習資料放在網絡學習平臺,學習者根據需要學習這些知識][師生交互、學生之間交互學習][學生利用OJ平臺進行實踐編程練習,提高編程能力][通過OJ平臺完成實踐編程任務,并展示匯報、交流學習心得][利用OJ平臺的學生實操數據統計,作為學生考核一部分,占期末總成績的40%,其他平時30%、期末30%]
⑵ 基于OJ平臺的混合式教學實施過程
利用構建好的OJ平臺,同時建立教學論壇方便交流、討論,將OJ上的問題作為核心和載體,以學生為主體進行自主探索學習,在網絡環境下,學生既可以在課堂內又可以在課堂外進行自主學習,實施模式如圖3所示。
[課前,教師搭建OJ平臺,上傳課程實驗資料及拓展資源][課前,學生熟悉OJ平臺,根據實驗內容導學,小作業測試][課中,教師主導教學,共性問題討論,答疑、交流、小組案例報告][課后,學生與教師進入課程交流群進行主題式討論及OJ平臺資源再學習]
⑶ 利用OJ數據統計分析進行混合式教學評價
當學生基本完成實踐操作之后,要對實驗進行總結和評價。在傳統的C程序設計課程考核中,教師主要按學生的實驗報告評定實驗成績,這種考核方式,對學生來說沒有壓力,存在相互抄襲的現象。現在基于OJ上的實驗內容,進行程序的編寫、調試、修改、提交程序,學生能實時得到評測結果和最新排名,根據OJ平臺的參與度進行綜合評價,并且期末上機考試可在OJ系統上進行,每個學生進行獨立測試,體現測評合理性。
⑷ 基于OJ平臺的混合式教學實施效果
在實際教學班級中我們對2個班級的C程序設計實驗課程進行了對比分析,其中,計算機1班學生人數28 人,進行了OJ平臺教學模式改革試點;計算機2班學生人數30人,未引入在線學習等混合式教學改革,這兩個班在課程考核情況對比分析中,1班的編程實踐考核通過率為88.6%,2班的編程實踐考核通過率為76.4%。通過學習評價問卷調查分析,通過實踐教學模式改革班級的學生,學習興趣、積極性、實踐能力等各方面都得到較大的提高,體現出混合式教學模式改革的初步成效。
C程序設計課程教學中,我們利用OJ實踐教學平臺結合翻轉課堂進行混合式教學,以OJ上的具體問題進行問題驅動,激發學生的學習興趣,培養學生自主學習的能力。要求學生在閱讀OJ上的實驗題目后,思考求解方法,查閱、整理資料,當學生的自主學習遇到阻礙時,教師再進行面對面課堂討論、引導思考,翻轉課堂教學活動包括以強化鞏固理解C程序設計知識為目的的學習支持活動,以及促進小組成員協作交流、知識建構為目的的互動交流活動。
4 結束語
基于OJ平臺的C程序設計混合式教學,有助于解決傳統教學中學生缺乏實踐操作的條件、自主學習缺乏、師生之間缺少交流等問題,提高學生的學習效率和學習的主動性。
通過教學實踐,學生認為OJ平臺的混合式教學模式有用而且有趣味,一方面優化了自己的學習方法,并能為自己提供更多的反思機會和編程操作的時間,一些模棱兩可抓不住重點的問題經過OJ平臺上的小測驗等能夠得以“做中學”,“玩中學”,從而更好掌握計算機技能,另一方面,通過這種模式進一步展示同學之間一起合作、討論研究,提高了個人交流合作的能力,進而加深對知識的理解、記憶,提高了學習效果,教師也提高了工作效率。
總的來說,利用OJ實踐教學平臺的在線學習是傳統課堂教學的有益補充,能有效促進課程教學改革,并提升教學質量。
參考文獻(References):
[1] 王妍莉等.基于Blackboard平臺的民族高校混合式教學行動
研究[J].電化教育研究,2015.9:77-82
[2] 何克抗.從 Blending Learning 看教育技術理論的新發展[J].
電化教育研究,2004.3.
[3] 百度.OJ的定義[EB/OL].[2016-12-1].https://zhidao.
baidu.com/question/647404762646677565.html.
[4] 風雨無阻博客.各大OJ平臺介紹[EB/OL].[2012-2-7].
http://www.cnblogs.com/lzmfywz/archive/2012/02/07/2342010.html.
[5] 范立新等.基于OJ的《數據結構》探究式實驗教學探索[J].紹
興文理學院學報(自然科學),2015.7:91-95
[6] 蔣寧.基于混合式教學的計算機“C#程序設計”課程教學改
革研究[J].職教通訊,2016.3.
[7] 劉利.基于OJ平臺的《程序設計基礎》實踐教學方法[J].電腦
知識與技術,2015.11:104-105