薛紅梅,申艷光,生 龍,孫勝娟
(河北工程大學信息與電氣工程學院,河北邯鄲056038)
目前,我國很多高校將“Python程序設計”選為面向全校學生必修的通識教育課。而對于Python程序設計,實踐性較強并且擁有大量功能強大的內置對象、標準庫、涉及各行業(yè)領域的擴展庫[1]。如何利用有限的課堂教學,使學生短時間內掌握大量理論知識,并把掌握的理論知識快速應用到實際工程項目中,是當前教學中亟待解決的問題。
根據(jù)文獻資料的調查,高校程序設計類課程在傳統(tǒng)的教學模式中,主要存在著以下問題[2]:
(1)學生被動學習現(xiàn)象普遍存在。在傳統(tǒng)的教學過程中,學生和教師之間沒有建立有效的互動,學生沒有參與到課堂中來,只是在被動聽課,因此在傳統(tǒng)課堂教學中缺少興趣,從而導致大部分學生失去對本門課程的學習興趣。另外,課堂上很多知識點還沒有講精講透就已經(jīng)開始下一個學習單元,導致學生不能較好地消化知識內容,必然失去學習的實效性;沒有實現(xiàn)以學生為中心,仍然教師是課堂的主體。
(2)實踐教學缺乏思維能力訓練。傳統(tǒng)的教學模式下的程序設計實踐教學中學生是在重復教師的指令,主要進行知識驗證,實驗內容主要是根據(jù)理論課各章節(jié)知識編制,題目類型固定,基本都是輸出程序運行結果,大部分學生不理解編程思想,束縛了學生的創(chuàng)新思維能力。
(3)學生程序設計課程的學習基礎各不相同。目前我國還沒實現(xiàn)計算機教育資源的普及,來自城市學生和偏遠地區(qū)學生在接受計算機教育方面存在較大差異,從而導致學生進入大學后計算機類課程的教學課堂上存在較為明顯的兩極分化。如果仍然采用傳統(tǒng)的教學形式,不考慮學生個體差異進行授課和上機實驗就無法滿足每個學生個體的知識需求,當然也無法較好完成既定的教學目標。
隨著網(wǎng)絡教育技術的發(fā)展和普及,以學生為主的“網(wǎng)絡在線學習”成為了當前教育的討論熱點。MOOC(Massive Online Open Course,大規(guī)模在線開放課程)就是典型的在線教學模式[3]。到2015年國內高校MOOCs課程上線將近1 000門。到2017年中國大學MOOC網(wǎng)入駐高校和機構數(shù)達200多所,課程數(shù)量達1 600多門,報名選課人次達1 200多萬,注冊用戶數(shù)達500多萬。
MOOC時代的到來,促使越來越多的學校和教師加入了MOOC的開發(fā)建設,參與MOOC學習人數(shù)也急速增長。但是在MOOC平臺的學習效果卻顯得不盡人意[4]。一個最為突出的表現(xiàn)就是注冊參加學習的人數(shù)很多,但是能夠從頭至尾完成同一門課學習的人數(shù)較少,主要原因是網(wǎng)絡學習的弊端:缺少監(jiān)督和引導、完成率低、教學方法缺失等。由于大眾化網(wǎng)絡在線學習的特點,MOOC基本不能做到面對面的交流互動,無法監(jiān)督管理學生的學習過程,不能針對學生個體差異進行教學,更不能實現(xiàn)對學生良好學習態(tài)度的培養(yǎng)和情感的教育[5]。因此,有必要利用MOOC的優(yōu)勢特點,結合傳統(tǒng)課堂教學的優(yōu)點提出一種新的教育教學模式。
結合網(wǎng)絡化教學和傳統(tǒng)課堂教學的優(yōu)勢,形成適合于Python程序設計基礎教學的混合式教學模式,保證了師生之間必要的面對面的交流溝通,同時充分發(fā)揮教師在課堂上的引導和啟發(fā)等主導性作用,突出了學生的主體地位,使學生在整個課程的理論知識學習過程中更具有主動性,在實踐實訓過程中更具有創(chuàng)造性,改變了學生被動學習的局面,更有利于學生創(chuàng)造性思維能力的發(fā)揮和發(fā)展。
(1)Python程序設計MOOC的設計原則。教育性原則與趣味性原則。Python程序設計MOOC以貼近生活且有趣的程序實例作為每節(jié)課的開端,將理論知識和設計方法對應到每個實例中,讓學生能夠體會到編程的魅力,慢慢喜歡上編程,學會編程、學會創(chuàng)新。
(2)Python程序設計MOOC的設計步驟。MOOC設計的主要步驟為教學目標分析、學習者分析、學習內容分析、知識點劃分、教學微視頻設計、隨堂作業(yè)設計、階段性測驗設計、項目驅動設計、多元化評價設計,MOOC設計過程模式如圖1所示。
圖1 Python程序設計MOOC平臺設計
基于MOOC的Python程序設計將教學過程分割成兩架馬車并駕齊驅:一個是由MOOC提供的在線課程“私人定制”。另一種是使用不同尋常的“傳統(tǒng)課堂”,課堂環(huán)節(jié)通過更多的實例項目和任務來強化在線部分的學習內容,加強學生創(chuàng)新能力。整個教學過程被分為線上、線下兩個階段和四個部分,由學生做主導,教師起到引導和監(jiān)督作用,如圖2所示。
圖2 教與學的流程
根據(jù)MOOC具有共享性、大眾性、自主性的特點,學生可以根據(jù)對Python程序設計的掌握情況自主決定學習本課程的內容、時間、進度以及章節(jié)的學習次數(shù),真正實現(xiàn)“按需學習”,學生在MOOC平臺進行相關視頻的觀看、論壇的討論答疑、完成布置的測驗,教師對學生在線學習的情況進行了解,如:某章節(jié)觀看次數(shù)較多,說明學生對這部分知識疑問較大,依據(jù)分析結果補充線下課堂教學內容及設計課堂教學過程[6]。MOOC在線學習過程主要是學生完成Python課程知識獲取的過程。
在完成第一步知識的構建后,學生必須參與線下課堂項目設計以完成Python課程學習的第二步——知識的應用。在課堂上,教師首先組織學生對MOOC平臺中的思考題進行討論,通過討論了解學生對知識點的掌握程度,針對較難理解的知識點進行講解。然后教師結合所講知識點對項目系統(tǒng)功能進行分析,提出項目設計任務,學生針對教師提出的開發(fā)任務進行思考、討論,利用MOOC平臺上學到的知識實現(xiàn)對項目創(chuàng)新性的的設計開發(fā)。在此過程中,教師起到輔助指導作用,及時了解個別學生遇到的問題并給予解答,對于學生共性的問題則進行詳細課堂講解。學生在進行項目設計開發(fā)時,進行團隊合作,互相交流、互相幫助、互相競爭,培養(yǎng)創(chuàng)新意識。
基于MOOC的Python程序設計教學模式既有線上MOOC學習也有線下課堂教學。因此,考核元素不能單一的依據(jù)線下筆試或線上測試,應該包括自主學習活動(視頻觀看時間、小組活動記錄、參與討論情況)、編程實踐活動(項目編程作業(yè)、OJ測試練習)、階段考試(平臺階段測試、考試系統(tǒng)模塊測試)三方面,體現(xiàn)了學、練、考三個維度。
“MOOC+”項目驅動教學目的在于要提高學生對知識的掌握與應用,所以應將評價作為學習體驗的一部分,而不是緊緊依靠筆試成績或上機成績來衡量學生。因此,基于MOOC的Python程序設計教學考核采用多元化考核,包括:考核內容的多元化、考核主體的多元化和考核方式的多元化三個方面??己藘热莸亩嘣侵缚己藘热莅▽W生MOOC平臺學習記錄和階段性自測成績、課堂項目創(chuàng)新設計、OJ平臺練習題成績、在線考試成績??己酥黧w的多元化是指教師、學生、隊友、隊間評價相結合的方式??己朔绞降亩嘣侵附處熆梢圆捎脤W生學習過程的定性和各類測試成績的定量相結合的考核方式。如圖3所示。
圖3 多元化考核體系
河北工程大學對2017級信息工程和自動化專業(yè)的Python課程采用了基于“MOOC+課堂項目驅動+多元化考核”三位一體教學模式,經(jīng)過一個學期的實踐證明,該教學模式是實際可行的,既克服了傳統(tǒng)教學中以教師為課堂主體的弊端,讓學生成為課堂的主角,改變了學生被動學習的不良局面,又提高了學生的學習效率和編程實踐創(chuàng)新能力。在今后的教學中將持續(xù)對該教學模式作出修正,形成一個更為科學有效的教學模式,并力爭能夠為學校課程教學改革提供有益借鑒,從而加快學校教學改革的步伐。