徐志佳
(1.華南理工大學機械與汽車工程學院,廣東廣州510640;2.塔里木大學機械電氣化工程學院,新疆阿拉爾843300)
隨著信息化和智能化技術的快速發(fā)展,掌握計算機的基本工作原理和一門計算機程序設計語言,已成為當代大學生知識結構中必不可少的組成部分。C++是一種多范型的程序設計語言,它既支持面向過程的程序設計,又支持面向對象的程序設計[1],是當今主流的編程語言。在此背景下,C++程序設計基礎于2017年全面成為華南理工大學非計算機專業(yè)本科生的計算機公共基礎課程。課程于大一第二學期開設,總課時為40 學時。其主要目標是要求學生掌握結構化程序設計中基本的概念、方法,并能夠使用結構化思想方法設計小規(guī)模的應用程序,進而為將來利用計算機解決本專業(yè)的理論和實際問題打下良好的基礎。然而,實踐發(fā)現,C++程序設計基礎課程教學目前面臨諸多亟待解決的挑戰(zhàn)。
首先,學生知識基礎較弱,普遍存在畏難思想。對教學班進行調查分析發(fā)現,95.8%的學生沒有C++程序設計語言的基礎,而且沒有學習其他程序設計語言類先導課程;100%的學生認為課程會較難。在這種情況下,如果采用的教學模式不當,往往難以激發(fā)學生的學習興趣、調動其學習積極性。
其次,傳統(tǒng)教學模式難以適應教學需求。盡管翻轉課堂、微課、MOOC 等新型教學模式不斷涌現,但由于課程總課時已被壓縮到40 學時,實驗課時僅為8 學時,教師往往被迫沿用傳統(tǒng)“填鴨式”教學模式[2],學生既缺乏深入思考與理解,又缺乏足夠的實踐鞏固知識[3],因而難以保證教與學的質量。
第三,缺乏支持學生差異化學習目標的有效手段。由于自身基礎、興趣的不同;加之大一新生的整體學習任務較重,平均每天10.4節(jié)課,學生對課程的預期目標不盡相同。但在傳統(tǒng)教學模式仍然未被根本改變的狀態(tài)下,難以為學生提供差異化的學習服務。
針對上述問題,提出一種多元驅動的C++程序設計基礎差異化混合教學模式。該模式首先面向學生的差異化學習目標,建立多元驅動模型;然后運用智慧教學工具長江雨課堂開展混合教學,并在教學過程中實施多元驅動策略,滿足學生的差異化學習目標需求。
學生的學習目標可以概括為四類:考試及格、獲得高分、簡單應用和進階應用。其中,考試及格是最低的學習目標,學生由于各種原因,不愿意在課程學習中投入足夠的時間。獲得高分主要以評優(yōu)評先為主要考量,側重于卷面成績的提升。簡單應用和進階應用偏向于程序設計語言的實用性,前者關注一些簡單問題的計算機求解,后者偏向于獲得一定的獨立開發(fā)應用程序的能力。
根據學生的差異化學習目標,設計的多元驅動模型如圖1所示。該模型首先以智慧教學工具(長江雨課堂[4-5])等現代教育技術搭建混合教學平臺。由于長江雨課堂能夠記錄并保存所有的教學活動,因此學生可以反復學習。這樣,學生可以根據自身目標選擇難度適合自己的教學內容“隨時隨地”進行學習,從而滿足其差異化學習目標。此外,長江雨課堂平臺具有豐富的學情分析、作業(yè)批改等功能,教師通過在其中查看學生的學習情況,能夠對學生的學習目標進行區(qū)分,進而針對性地選擇驅動方式。
圖1 面向差異化學習目標的多元驅動模型
驅動方式主要包括正常驅動、問題驅動、協(xié)作驅動、任務驅動和項目驅動。其中,正常驅動指不采用特殊的驅動方式,主要面向僅需要考試及格的學生,即對其參與后四種驅動方式中的表現不做過多要求。后四種驅動方式緊密相關。例如,問題驅動是以問題為基礎,以學生為中心,以任務驅動為主線,以小組協(xié)作為主導[6];項目驅動中,往往亦包含需要解決的問題,并為相互協(xié)作的項目成員分配不同的任務。需要說明,協(xié)作驅動還包括教師選擇助教進行協(xié)作教學,即教師采用自愿報名的方式在每10名學生中選擇一名助教,并以學習金字塔理論中“馬上應用/教別人”的主動學習方式[7]為依據,建立“教師-助教-組員”三位一體的作業(yè)協(xié)作批改機制。這四種驅動方式都可以面向獲得高分、簡單應用和進階應用的目標需求。此外,課程全程采用激勵式教學,驅動學生在其學習目標內都保持信心和積極性。
為保證多元驅動的C++程序設計基礎的差異化混合教學模式的順利實施,構建了形式多樣的教學資源,包括錄制所有教學單元的微課視頻,設計支持混合教學的預習課件庫、授課課件庫和復習課件庫,建立符合問題驅動、協(xié)作驅動、任務驅動和項目驅動需求的課前討論題庫,課堂練習題庫、示范題庫,課后同步練習題庫、綜合練習題庫、實驗練習題庫和項目練習題庫。所有的教學資源都存儲于長江雨課堂平臺中。
在此基礎上,依托長江雨課堂開展課程的混合教學。課前,教師通過長江雨課堂提前一周將預習課件推送給學生,組織學生學習微課視頻、完成預習題,使知識傳授環(huán)節(jié)前移,消除課堂教學中“填鴨式”教學模式的存在土壤。課中,教師在對課前預習情況進行分析的基礎上,首先安排一定時間,通過長江雨課堂隨機點名學生對預習知識點進行復述,一方面檢驗學生的預習效果,一方面無形中督促學生更認真地預習;其次,教師根據學生的預習情況,著重開展重/難點講解、示范/演示等教學活動,并通過長江雨課堂組織學生進行小組討論和實際演練,促進學生進行知識的應用,進一步鞏固預習和授課效果。課后,教師根據教學進程,通過長江雨課堂適時、適量發(fā)布同步練習、綜合練習、實驗練習和項目練習。其中,同步練習在每個教學單元學習完成之后發(fā)布,綜合練習在每章教學內容學習完成之后發(fā)布,實驗練習的發(fā)布頻率與實驗課時安排一致。通過課后練習,逐步達到知識內化的效果。項目練習用于支持任務驅動和項目驅動的教學,包括通訊錄管理系統(tǒng)、萬年歷、貪吃蛇等15個項目。在第一堂課,教師組織每個小組通過長江雨課堂投票選擇一個項目。每當學生具備一定的能力,如學會了輸入輸出,教師即通過長江雨課堂發(fā)布項目任務,讓各小組完成所選項目的某些功能,如完成貪吃蛇程序界面的輸出。課程教學全部完成之后,教師組織各小組進行項目匯報并現場展示程序運行效果。
在課前預習和課后練習過程中,教師首先批改助教的練習作業(yè),然后為助教答疑解惑,進而組織助教批改組員的練習作業(yè)。
教學模式對課程評價方式進行了改革,其中,期末考試成績、線上預習和復習、課堂表現、項目練習、上機實驗的占比分別為70%、5%、5%、5%、5%和10%。
教學模式的效果可以從教師和學生的主觀感受,以及學生的實際表現兩個方面進行評價。主觀感受層面,從教師的角度,明顯感覺跟學生的溝通更順暢了,學生的積極性更高了,課堂更為活躍了。從學生的角度,課程結束之后的問卷調查表明:1)教學模式在課前、課中和課后所有的教學活動中都設置了實踐環(huán)節(jié),能夠避免理論與實踐課時嚴重失衡造成的“重理論、輕實踐”問題;2)混合教學模式強化了學生的預習和聽課行為;3)多元驅動方式滿足了學生的差異化學習目標需求;4)項目練習增強了課程的趣味性,并使學生認識到了課程的實用性;5)學生普遍認為自身的協(xié)作能力、自學能力和滿足感得到了提升。
實際表現層面,80%以上的學生完成了課程所有的教學活動,包括課前預習、課后復習,以及其中的各類練習。雖然83.9%的同學認為項目練習難度偏大,但74.2%的同學完成了項目練習,未完成的僅占3.2%。其中,第7 組在項目練習中引入了外部函數庫,對貪吃蛇游戲界面進行紋理貼圖,形成了較為美觀控制臺游戲界面;同時設計了不同的游戲模式,游戲演示過程非常流暢。這些超出項目預期的內容,主要由小組成員通過討論和自學完成,充分體現了學生的知識綜合運用能力、小組協(xié)作能力、自學能力以及創(chuàng)造能力。此外,對華南理工大學安全工程專業(yè)連續(xù)兩屆教學班的考試成績分布情況進行對比發(fā)現:采用多元驅動的差異化混合教學模式之后,學生的卷面不及格率由31.8%下降到2.6%,高分率(大于等于80 分的學生占班級總人數的比)由31.1%(22.2%加8.9%) 上升到74.3%(33.3%加41.0%),如圖2所示。
圖2 安全工程專業(yè)連續(xù)兩屆教學班考試成績分布對比
華南理工大學的教學改革表明,采用多元驅動的差異化混合教學模式教學,是應對C++程序設計基礎學生基礎較弱、課程課時壓縮、理論實踐課時比例失衡、差異化學習目標需求等問題的一條有效途徑。該模式成功地將課堂延伸到了課外,提升了學生利用碎片化時間進行學習的主動性,增強了其中心地位,有望為非計算機類大一工科學生的C++程序設計基礎課程教學提供參考。