袁友偉,張雪峰,仇 建
(杭州電子科技大學 計算機學院,浙江 杭州 310018)
?
基于MOOC的C++教學改革
袁友偉,張雪峰,仇建
(杭州電子科技大學 計算機學院,浙江 杭州 310018)
文章針對傳統(tǒng)C++教學中存在的問題,結(jié)合大型開放式網(wǎng)絡(luò)課程的特點和優(yōu)勢,提出了基于大型開放式網(wǎng)絡(luò)課程的線上線下教學相結(jié)合的教學改革模式與考核評價體系,顛覆傳統(tǒng)的教師講授的教學模式,把團隊合作和師生互動引入課堂,調(diào)動學生自主學習的積極性,有助于提高學生對編程語言的學習興趣和編程能力,是互聯(lián)網(wǎng)時代對教學模式改革的一次全新的探索。
大型開放式網(wǎng)絡(luò)課程;C++程序設(shè)計;教學改革
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,一種新型的教學模式——“互聯(lián)網(wǎng)+教育”引起了國內(nèi)外學者的廣泛關(guān)注,成為了當前教學模式改革領(lǐng)域的研究熱點。C++程序設(shè)計是一門重要的計算機專業(yè)基礎(chǔ)課程,通過該課程的學習,學生不僅可以掌握一門高級程序設(shè)計語言,全面了解面向?qū)ο蟪绦蛟O(shè)計的基本概念和方法,也為后續(xù)專業(yè)課程的學習打下堅實的基礎(chǔ)?,F(xiàn)如今傳統(tǒng)的C++教學問題日益凸顯,教學模式陳舊,學生學習興趣低,達不到應(yīng)有的教學效果。大型開放式網(wǎng)絡(luò)課程(MOOC:Massive Open Online Course)有著來自全球頂級的教學資源,課程資源面向大眾免費開放,同時提供了自由開放的學習環(huán)境,借助于互聯(lián)網(wǎng)平臺,引發(fā)了教育模式的變革,為解決傳統(tǒng)C++教學中存在的問題提供了一種新的思路。眾多學者對MOOC進行了研究,并取得了許多研究成果,浙江大學的李紅美等學者進行了MOOC時期高等學校教學新模式探索[1];國防科學技術(shù)大學的周麗濤對MOOC在計算機實踐教學中的應(yīng)用進行了探索[2];浙江工業(yè)大學的陳晉音等學者則進行C++程序設(shè)計課程的翻轉(zhuǎn)課堂教學改革的研究[3];本文在國內(nèi)外相關(guān)教學研究的基礎(chǔ)上,結(jié)合MOOC具有的教學資源豐富、學習氛圍自由、學習成本低等優(yōu)勢,同時引入團隊合作、案例驅(qū)動教學、反饋教學等元素,并且設(shè)計了合理的教學評價體系,形成了一種新型的基于MOOC的教學模式,能夠彌補傳統(tǒng)教學中存在的重理論輕實踐、教學資源陳舊、以教師為中心的缺點,與國外相關(guān)計算機教學模式相比,增加了多種教學元素,如反饋教學元素,對學生的學習情況進行跟蹤記錄,對學習問題和教學問題進分析,改善教學方式,提升教學質(zhì)量,如增加問題集,對學生的學習問題進行記錄,整理成問題集,方便學生了解學習誤區(qū)以及后續(xù)知識點復習,提高教學效果。
目前國內(nèi)眾多高校將C++程序設(shè)計作為計算機專業(yè)必修課程,該課程不僅是計算機專業(yè)的核心基礎(chǔ)課程,也是很多學生學習面向?qū)ο缶幊痰娜腴T課程,因此該課程具有重要的啟蒙作用。C++是一門軟件開發(fā)語言,在軟件行業(yè)中具有重要地位。傳統(tǒng)C++教學模式存在眾多問題:C++語法復雜,涉及的面向?qū)ο缶幊趟枷氤橄箅y懂,傳統(tǒng)的C++教學以課堂理論教學為主,上機實踐教學為輔,學生難以真正理解,學習興趣較低,無法將理論與之實踐相結(jié)合;當前計算機技術(shù)發(fā)展迅速,C++程序設(shè)計語言標準由C++標準委員會發(fā)布,每3年發(fā)布新標準,新標準將引入更多的新特性,提高程序開發(fā)效率,而當前C++程序設(shè)計教材更新速度緩慢,加大學生知識學習難度;C++是一門程序設(shè)計語言,需要開發(fā)者掌握程序設(shè)計思想,具備解決實際問題的能力,但是在傳統(tǒng)教學模式中,主要以教師講解,學生被動接受知識,教師演練,學生模仿,導致學生主動性不足,學習思維固化,動手能力弱。
MOOC,最早可追溯至2007年,由美國猶他州立大學的David Wiley教授和加拿大里賈納大學的Alec Couros教授發(fā)起的兩個項目奠定了MOOC的思想和技術(shù)基礎(chǔ)。此后MOOC引起了廣泛關(guān)注,國內(nèi)外眾多學者成為了MOOC知識的貢獻者以及學習的參與者,MOOC得到了教育領(lǐng)域?qū)<业恼J可,基于MOOC的教學模式成為了當前研究的熱點,雖然MOOC有其獨特的優(yōu)勢,但當前基于MOOC的C++教學存在以下問題:1.C++是一門嚴謹?shù)某绦蛟O(shè)計語言,擁有眾多的語法規(guī)則,晦澀難懂,而當前MOOC模式下的C++缺少完整的知識體系,使得學生學習時往往掌握不了要點。2.基于MOOC的C++教學利用MOOC眾多的優(yōu)異的資源,使得學生能夠全面學習C++語言知識,但是C++程序設(shè)計語言是一門程序開發(fā)語言,不僅要求學生掌握基礎(chǔ)知識,更要求學生具備解決實際問題的能力,當前基于MOOC的C++教學以MOOC資源教學為主,雖然能夠讓學生全面掌握基礎(chǔ)知識,但是導致學生缺少解決實際問題的能力。3.基于MOOC的C++教學具有入學門檻低,學習者不需要掌握其他知識,但是缺少必要的約束,導致退學率高[4]。4.當前MOOC的C++教學成果考查仍以期末考試為主,缺少科學的考核體系,使得教學成果無法進行科學的評測。
(一)教學模式改革
基于MOOC的C++教學改革模式與傳統(tǒng)教學模式最大的不同在于其顛覆性:把以前課前預習,課堂上學習和課后完成作業(yè)的教學模式變?yōu)檎n前學生自主預習和自學,課堂上互動式教學,課后在線研討、完成作業(yè)和測試,如圖1所示。
1.課前預習和自學
C++程序設(shè)計課程有如下特點:概念和語法規(guī)則繁多,這些知識點是學習C++的基礎(chǔ)知識,沒有學習難點,適合學生在線自學完成;實踐能力要求高,C++是一門軟件開發(fā)語言,是當前軟件開發(fā)行業(yè)中主流的開發(fā)語言之一,學生不僅需要掌握C++知識,而且需要將理論結(jié)合實踐,積累軟件開發(fā)經(jīng)驗?;ヂ?lián)網(wǎng)是當前最大的開放式信息資源庫,幾乎涵蓋了當前已知的所有知識點,并且信息更新迅速,學生利用電腦或者移動終端可以解決自己在學習過程中遇到的很多問題,教師可以完善知識體系提升教學質(zhì)量。在新的教學模式中,課前預習和自習是關(guān)鍵。在課前,教師對課堂知識進行提煉,將課堂知識分解為眾多細微的知識點,每個知識點錄制講解視頻,并布置知識點習題,做成文檔或其他形式的材料,以便學生在線預習。學生自行安排時間觀看預習文檔和教學視頻,完成預習任務(wù),對于預習中遇到的難點問題,學生可以在線討論,對于重點問題可以向教師反饋,形成重點問題集,以便教師完善課堂教學內(nèi)容,同時也方便學生進行查漏補缺。
2.課堂互動式教學
在課前預習和自習的環(huán)節(jié)中,學生根據(jù)教師的預習任務(wù)完成知識點學習,并對學習中的重難點問題進行反饋,教師依據(jù)反饋信息,完善教學視頻、梳理知識點脈絡(luò),針對上述情況設(shè)計課堂教學內(nèi)容。在互動式課堂教學中,教師主要以引導為主,對學生預習內(nèi)容進行補充,串聯(lián)預習知識點,此外教師收集學習難點,對于學生遇到的普遍問題進行統(tǒng)一講解,學生根據(jù)自己在課前學習中遇到的難點問題與教師進行交流,加深知識點理解。在新的教學模式下,學生將進行團隊式的學習、討論與合作:老師根據(jù)每堂課的知識點,設(shè)計編程案例,學生以團隊為單位進行思考、討論,得到解決方案,必要時也可以對解決方案進行現(xiàn)場展示并與其他團隊進行相互評價。老師根據(jù)課堂知識點、實際案例和學生展示情況提出具有啟發(fā)性和創(chuàng)新性的問題,供學生分析討論,并與老師交流[5]。經(jīng)過上述教學過程,不僅鞏固了學生課前預習的知識點,加深了對知識點的理解,而且培養(yǎng)了學生的計算思維能力,提高了創(chuàng)新能力,同時在案例展示過程中,培養(yǎng)了學生的組織能力,語言表達能力和團隊協(xié)作能力。
圖1 基于MOOC的C++教學模式圖
3.課后在線研討、作業(yè)和測試
C++程序設(shè)計課程注重實踐,因此培養(yǎng)學生的計算思維和編程能力至關(guān)重要[6]。學生在課后編程或?qū)φn堂上的案例有疑問的地方可以在線與同學和老師進行研討。由于C++課程內(nèi)容繁多、語法復雜,課后完成一定量的作業(yè)可以有效的鞏固本堂課所學知識,作業(yè)以程序題為主,采用線上提交的方式。老師可以及時查看學生的作業(yè)情況,在線發(fā)布作業(yè)答案并幫助學生答疑。在課后,老師還可以補充一下計算機或編程方面的最新動態(tài)與學習資料,供學生了解技術(shù)前沿與開拓視野。期末考核采用線上測試和線下筆試相結(jié)合的方式,線上測試主要考察學生的實際編程能力,而線下筆試主要考察學生對知識點的熟悉情況。老師統(tǒng)計學生作業(yè)與測試的正確率、成績等信息,為教學質(zhì)量的評估和教學方法的改進提供參考依據(jù)。
(二)線上線下資源相結(jié)合
基于MOOC的C++教學改革中,充分利用線上線下資源是關(guān)鍵,線上線下資源相結(jié)合可以充分發(fā)揮兩者的優(yōu)勢,彌補各自的不足。隨著互聯(lián)網(wǎng)和移動終端的普及,使得學生能便捷地使用線上資源,也為在線討論、作業(yè)、測試等提供了有利的條件。而在新的教學模式中,老師可以充分發(fā)揮線下教育的優(yōu)勢,彌補在線教育的不足。線上線下資源的利用如圖2所示。
1.線上:老師為學生甄選出優(yōu)質(zhì)的MOOC教學視頻資源供學生課前預習和自學使用,對于特定內(nèi)容老師也可以自制教學視頻;老師將自制預習文檔上傳網(wǎng)絡(luò),以便學生預習重要知識點,提高預習和自學的效率;充分發(fā)揮在線討論區(qū)的作用,供學生進行相互學習和交流,及時向老師反饋學習中遇到的問題;在線提交作業(yè),計算機自動批改,節(jié)約老師時間,提高工作效率;線上測試,測試學生實際編程能力,也能幫助學生適應(yīng)上機考試的環(huán)境,為以后計算機等級考試和企業(yè)上機測試做好準備;借助后臺系統(tǒng)可以方便地統(tǒng)計和處理線上數(shù)據(jù),便于老師及時了解學生的學習情況。
2.線下:教師根據(jù)線上教學知識點的不足進行補充,串聯(lián)知識點,幫助學生全面系統(tǒng)地掌握所學知識;團隊討論和合作,與老師互動,解答線上無法解決或無法理解的問題;實際案例展示和實際編程競賽,彌補在線教學實踐環(huán)節(jié)不足的缺點,提高學生的實際應(yīng)用能力。
圖2 線上線下教育資源綜合利用示意圖
(三)基于MOOC的C++教學案例設(shè)計
C++是一門軟件開發(fā)語言,注重實踐,并且概念和語法規(guī)則繁多,傳統(tǒng)的以講師課堂授課為主的教學模式使得學生學習興趣低,動手操作能力弱,教學效果差。在本小節(jié)中,以C++簡單程序設(shè)計章節(jié)為例,詳細介紹基于MOOC的C++教學改革案例,展示如何運用MOOC設(shè)計課前知識體系、課堂教學、課后知識鞏固。
1.課前預習與自習
在課前預習與自習環(huán)節(jié)中,教師需要對課堂知識進行提取,并將課堂知識分解成一系列細微的知識點,以便學生能夠自行學習,以C++簡單程序設(shè)計章節(jié)為例,對該章節(jié)知識進行提取分析,將提取出的知識點組建成一顆知識樹,如將C++簡單程序設(shè)計章節(jié)分析成三個知識點,這些是學習C++程序設(shè)計的基礎(chǔ)知識,分別是字符集、關(guān)鍵字和標識符。(1)字符集。字符集是構(gòu)成C++語言的基本元素。使用C++語言編寫程序時,除字符型數(shù)據(jù)外,其他所有成分都只能由字符集中的字符構(gòu)成,其中字符集包括三種基本元素:英文字母,A-Z,a-z;數(shù)字字符,0-9;特殊字符;(2)關(guān)鍵字。關(guān)鍵字是C++預先聲明的單詞,它們在程序中有不同的功能。其中關(guān)鍵字包含三種基本元素:數(shù)據(jù)類型,是C++程序設(shè)計語言中預定義的數(shù)據(jù)的類型,包括整型類型、浮點數(shù)類型、字符類型;操作符,是C++程序設(shè)計語言中用于控制程序流程,包括操作數(shù)值、字符運算;特殊關(guān)鍵字,除上述以外的關(guān)鍵字,具有特定的含義。(3)標識符。標識符是開發(fā)者自行定義的變量或常量,用于存儲字符或者實數(shù)值,代表特定的含義。
上述知識點是C++簡單程序設(shè)計章節(jié)中的主要知識點,將上述知識點組織成一顆知識樹,對于每一個知識點,講師錄制10-15分鐘視頻,講解知識點要領(lǐng),幫助學生理解,對于重難點問題,制作PPT文檔以幫助學生進一步理解,同時為每一個知識點設(shè)置知識點習題,學生在理解的基礎(chǔ)上在線演練,加深學生對知識點的理解,對于難點問題,可以在線進行問題反饋,在線系統(tǒng)對學生的習題進行評分,以便教師了解學生的學習情況。
2.課堂互動式教學
在課堂互動教學中,針對課堂知識點安排相關(guān)教學活動,將課堂互動教學分為三個部分,分別為:重難點知識詳解、提問互動、分組討論互動。經(jīng)過上述三個環(huán)節(jié),學生將加深對知識點的理解,并且在互動環(huán)節(jié)中將理論運用實踐中,用于解決實際問題,提高學生的動手能力,同時引導學生對知識點進行擴展學習。
(1)重難點知識詳解。在課前預習與自習環(huán)節(jié)中,學生對于難以理解的問題進行在線反饋,教師對學生反饋的問題進行統(tǒng)計,并設(shè)置問題集,將新問題加入到問題集中,以便學生后期復習時查漏補缺,加深對問題的理解,并按照問題的普遍程度進行劃分,對于普遍問題進行重點分析,幫助學生理解,在該環(huán)節(jié)中以教師教授為主。
(2)提問互動。在對重難點知識講解后,需要學生在理解的基礎(chǔ)上反饋學習情況,以師生提問互動的形式進行學習情況評定,在此期間教師依據(jù)重難點知識進行提問,學生回答,例如float類型包含的字節(jié)數(shù),“!、&&、||”之間的優(yōu)先次序等問題。
(3)分組討論互動。在上述兩個環(huán)節(jié)的基礎(chǔ)上,以案例驅(qū)動的方式快速提高學生的動手實踐能力。教師依據(jù)課堂知識,設(shè)計案例,學生自行分組討論,并將最后討論結(jié)果以小組形式進行成果展示,最后由教師進行點評,分析各個討論組的優(yōu)缺點,例如寫一個函數(shù),求兩個整數(shù)之和,要求在函數(shù)體內(nèi)不得使用+、-、x、/四則運算符。
3.課后知識鞏固
在上述兩個環(huán)節(jié)中,教師依據(jù)課堂知識設(shè)計知識學習體系,根據(jù)學生學習情況設(shè)置課堂教學活動,通過上述兩個環(huán)節(jié)的教學活動,學生基本掌握了課堂知識,具備了將理論結(jié)合實際的解題思想。在課后,學生需要對掌握的知識點進行鞏固學習,同時引導學生進行知識擴展,將課堂知識運用于實際問題中,動手解決實際問題,加深學生對知識點的理解。
4.考核體系
為了合理地評價學生的學習效果,本文設(shè)計了全面的考核體系,考核的各項標準比重如表1所示。
表1 考核體系
如表1所示,對學生學習情況的考核主要由三個部分組成:教師評價、學生評價和期末評價,各個部分的評價標準如下所示:
(1)教師評價:教師評價占總評價的45%,依據(jù)教學任務(wù)的不同將教師評價分為三大塊,分別是:1)課前評價。對學生課前預習任務(wù)完成情況進行評分,占總評分的10%,課前預習任務(wù)由觀看視頻和課前預習習題組成,分別為3%和7%;2)課堂評價。對學生在課堂上的學習表現(xiàn)進行評價[7],占總評分的20%,課堂評價由上機測試、出勤、課堂參與度、團隊協(xié)作能力、項目成果組成,分別為8%、3%、2%、3%、4%;3)課后評價。對學生課后作業(yè)完成情況進行評價,主要以課后作業(yè)的形式進行評分,占總評分的15%。
(2)學生評價:學生評價占總評分的5%,以學生互評的方式進行評分,在課堂上教師布置項目案例,學生自行分組,最后以團隊的形式進行成果展示,團隊之間進行成果互評,評價結(jié)果作為團對成員的評分。
(3)期末評價:期末評價占總評價的50%,以考試的方式進行評分,對學生的知識掌握情況進行全面測試。
為了科學地評價新教學模式,本文依據(jù)兩組教學的歷史記錄數(shù)據(jù),對比兩種教學模式的優(yōu)缺點,對比數(shù)據(jù)如表2所示。
在表2中對兩種教學模式下的教學情況進行了對比分析,2014年學生在傳統(tǒng)教學模式下的學習情況作為傳統(tǒng)教學的歷史記錄數(shù)據(jù),2015年學生在新教學模式下的學習情況作為新教學模式的歷史記錄數(shù)據(jù)。從表2中可以看出新教學模式在出勤率、優(yōu)秀率以及合格率上都有所提升,這說明新的教學模式能夠提升學生的學習興趣,帶動整體的學習熱情,形成良好的學習氛圍,有效地提高了教學效果。
表2 各教學模式的歷史記錄數(shù)據(jù)對比分析
本文設(shè)計的基于MOOC的C++教學模式取得了良好的效果,但是C++技術(shù)革新速度快,這就要求教師保持持續(xù)改革精神,保證教學資源的有效性,同時針對實際軟件開發(fā)的需要,設(shè)計具有針對性的軟件開發(fā)案例,以案例驅(qū)動的方式提高學生的學習效率。
基于MOOC的C++教學改革是在互聯(lián)網(wǎng)時代對傳統(tǒng)教學方式的一次革新,MOOC為C++程序設(shè)計課程的學習提供了廣闊的平臺。本文針對C++教學中存在的問題,結(jié)合C++程序設(shè)計課程的教學特點,充分發(fā)揮MOOC等網(wǎng)絡(luò)資源和平臺的優(yōu)勢,有效地提高了學生的學習興趣與學習效率,同時結(jié)合線下教學的優(yōu)勢,進行師生互動和團隊討論交流、展示,實例和編程的訓練有助于學生鞏固所學知識,也有助于計算思維的培養(yǎng)和編程能力的提高,取得了良好的教學效果。
[1]李紅美,陸國棟,張劍平.后MOOC時期高等學校教學新模式探索[J].高等工程教育研究,2014,7(6):58-67.
[2]周麗濤,劉越,彭立宏.探索MOOC在計算機實踐教學中的應(yīng)用[J].計算機工程與科學,2014,36(z1):118-121.
[3]陳晉音,俞山青,毛國紅.面向C++程序設(shè)計課程的翻轉(zhuǎn)課堂教學改革[J].計算機教育,2015,36(19):39-44.
[4]汪基德,馮瑩瑩,汪瀅.MOOC熱背后的冷思考[J].教育研究,2014,9(9):104-111.
[5]吳碩,劉志廣,宿艷,等.分析化學“翻轉(zhuǎn)課堂”的嘗試與探討[J].中國大學教學,2015,23(1):53-56.
[6]吳躍,陳崢.面向?qū)ο蟪绦蛟O(shè)計教改探索[J].計算機教育,2010,17(8):60-63.
[7]孫娜.基于啟發(fā)式的Visual C++程序設(shè)計教學改革[J].計算機教育,2011,13(22):29-32.
On Teaching Reform in C++ Programming Based on MOOC
YUAN You-wei,ZHANG Xue-feng,QIU Jian
(SchoolofComputing,HangzhouDianziUniversity,HangzhouZhejiang310018,China)
Aiming at the problems in the traditional C++ programming teaching and combining with the characteristics and advantages of MOOC, this paper presents a model of teaching reform and an evaluation system in the combination of online and offline based on MOOC that subverts the traditional teaching mode of teachers’ teaching so as to bring the team cooperation and the interaction between teachers and students into the classroom, and mobilizes the enthusiasm of students to study independently.The new teaching model can obviously improve students’ interest in programming language and programming ability and is a new exploration into the reform of teaching mode in the internet age.
MOOC;C++ programming;teaching reform
10.13954/j.cnki.hduss.2016.04.012
2016-01-13
浙江省教育科學規(guī)劃項目(2015SCG006);杭州電子科技大學高教研究課題(YB201525)
袁友偉(1966-),男,湖北潛江人,教授,智能計算、大數(shù)據(jù)分析.
G643.2
B
1001-9146(2016)04-0064-06