李文彬 潘理 吳岳芬 楊勃

關鍵詞:成果導向;混合式教學;程序設計與算法;教學改革
1 引言
程序設計基礎、數據結構與算法系列課程是高校計算機類專業的基礎核心課,著重培養學生的計算思維能力、問題求解能力、編程實踐能力,為后續課程學習與職業發展打下堅實基礎。隨著信息技術的發展,學習資源的日益豐富,在線學習已經成為傳統學習方法的重要補充[1]。但是由于學生的學習水平、自主學習與自我控制能力存在差異,想讓在線學習取代線下學習,讓學生享受到其他名師或重點高校的教學資源,從而達到專業人才培養目標,顯然難以實現。為提高學生的學習效率,達到專業人才培養既定目標,成果導向的混合式教學被提上日程。
成果導向教育是發端于美國的一種教育理念強調課程建設要持續改進,要根據教學的目標和學生的具體情況,不斷的優化提升,迭代發展[2]。尤其是針對不同專業、不同課程,其性質、規律和特點都不相同,就應設計不同類型的混合式教學模式,預設學習成果、反向設計、正向實施、不斷反饋等方面對成果導向的混合式教學模式進行研究和探討,從而更好地實現課程的教學目標。文獻[1]中探討在應用型本科高校如何基于成果導向,根據不同專業、不同課程性質構建混合式教學模式;文獻[3]中研究從融合和優化程序設計類課程內容,設計遞進式混合教學模式的程序設計類課程混合式教學模式;文獻[4]深入分析C語言程序設計教學中的不足,從教學成果入手強調理論與實踐的有機結合,提升人才培養質量;文獻[5]中根據程序設計基礎課程特點,提出了一種翻轉課堂的教學模式,提升學生興趣和課程教學效果;文獻[6]探索信息化環境下,如何提高課堂知識內化效率、提升學生學習能力的程序設計類課程的翻轉課堂教學模式;文獻[7]結合成果導向教育和計算思維模式進行程序設計類課程改革,提高學生計算機思維能力和教學效果。這些研究對于提高程序設計類課程教學質量提供了許多有建設性的思路與改革。但程序設計基礎、數據結構、算法設計等系列課程的理論、實踐和產出具備很強的關聯性,不能孤立改革某一門課程,尤其是在強化學生的計算思維、問題求解能力和編程能力方面,更需要整體規劃,深入研究符合該系列課程學習的混合式教學模式。
2 程序設計與算法系列課程主要問題分析
程序設計與算法系列課程主要包括程序設計基礎、面向對象程序設計、數據結構、算法設計分析,涉及基礎理論、算法和技術,因此,該系列課程具有理論與實踐、基礎與前沿并重的特征。但是,在目前的課程教學中,大多數還是知識講授主導課堂,忽視了專業素質和問題求解能力培養,所以還存在一些普遍性問題亟待解決:
1)傳統的程序設計基礎教學中,往往以教師為中心,課堂上重點關注知識的講解傳授,忽略了學生的內化,難以發揮學生的主體作用,忽視了學生計算思維和編碼實踐能力的培養。在實踐訓練資源中,設置的問題挑戰度低,難以滿足不同層次學生需求。
2)數據結構課程內容強調數據存儲與邏輯,主要采用課堂老師講授+上機實驗的方式,只有部分基礎案例供學生實踐,實驗設置往往以驗證性為主,設計性和綜合性少,很少結合實際工程問題,學生的問題求解能力沒有得到有效鍛煉,導致學生對課程理解和應用不足。
3)算法設計分析,設計內容全面,知識點多,難度大,課堂講解內容偏基礎,而且算法案例設計與求解方法上缺乏新意,沒有與教師科研很好結合,在前沿技術的深層次的探討不足,學生對前沿技術嗅覺不夠敏銳,自主與創新學習能力不足,導致學生實際工程能力不強,缺乏系統性問題求解訓練。
導致上述問題的根本原因:要學好程序設計類平臺基礎課,除了掌握理論知識,還需大量編程實踐和問題求解實踐,而現有教學以課堂基礎知識講解為主,且在實踐課上,學生只需要完成基本實踐任務即可,缺乏學生進行自主實踐的驅動力;專業課教學過程脫離了實際工作任務和科研項目,學生無法將所學理論知識直接應用到實際工作中,進而造成學生的學習興趣下降,甚至放棄課程的學習。為有效解決上述問題,對程序設計與算法系列課程進行課程改革實踐,在注重不同課程內容銜接與融合的同時,不斷更新在線平臺案例庫,引導學生自主訓練,支撐學生實踐能力達成,根據不同課程性質與特點,利用好現有省級一流課程資源和在線評測系統等設計不同的混合式教學模式,實施該系列課程教學改革實踐探索。
3 課程改革實踐
3.1 教學分析
針對程序設計基礎、數據結構、算法設計分析此類具有培養學生的計算思維、問題求解能力和編程能力同一目的,且呈現明顯層次遞進關系的課程,尤其要根據教學目標和內容設計不同的混合式教學模式,以便于更好提升教學質量。在教學實施過程中,該系列課程都可以利用在線評測(Online Judge, OJ)平臺輔助線下教學的模式,結合評測系統的實時反饋,形成了獨有的混合式教學模式,其總體思路如下:在課前,老師將學習視頻發給學生,同時在OJ平臺上發布預習作業,然后學生進行自我檢測,老師通過OJ系統收集并分析數據,總結學生自學過程中存在的問題,了解課前學生自學情況及存在的普遍性問題,為課中的知識講解做準備,如圖1所示,左邊為課前預測的在線測試,右邊為學生完成情況;課中,老師完成理論知識講解與重構,并進行隨堂檢測,通過OJ的實時評測,發現學生所犯錯誤,并分析問題、講解問題,如圖2所示,左邊為課前預測的在線測試,右邊為OJ系統發現的學生答案錯誤情況,老師就針對該錯誤,進行實時講解,實時解決課堂上知識學習與內化的問題;課后,老師在OJ上布置不同難度作業供學生課后完成,使知識進一步內化與鞏固,強化學生解決問題的能力。
針對不同層次學生需求和教學需要,在OJ平臺上,根據課程內容和特點(如圖3所示) ,課程組老師做了如下工作:
1)在OJ平臺上,基礎知識分類標記,進行知識模塊化,有利于學生在線自主學習;
2)OJ題庫分層設計,助力不同學生自主訓練;
3)算法專題面向升學與就業分流培養,實現個性化培養目的;
4)綜合訓練結合教師科研,培養學生問題求解能力和工程實踐能力。
在教學的每個階段中,要充分發揮教師的主導作用,體現學生的主體性,通過系列課程學習,掌握較扎實的面向數據、面向算法的專業知識,針對實際問題,能夠進行問題分析、算法設計、程序編碼、算法分析的能力,從而具備面向升學和面向就業的程序與算法設計實現的能力,為后續成果產出打好基礎。
3.2教學模式設計
程序設計基礎、數據結構、算法設計分析等系列課程一脈相承,又呈現知識的遞進關系,但也有各自特點和規律。程序設計基礎的知識點多但內容簡單、離散,學生能通過視頻資源進行自學即可掌握相關理論知識。對于程序的初學者而言,學習的難點在于程序思維培養,實踐有一定難度。因此,可采用一種以資源建設拓展的線上為主、線下課堂為輔的混合式教學模式,學生通過線上學習基礎知識,教師在線發布測試,利用在線OJ進行編程實踐,檢測學生獲得的知識與編程能力;學生在線學習后提出問題,教師解答,并總結測試結果,在線下課堂進行補充教學。
數據結構的理論知識重難點較多,學生難以通過線上自主學習掌握,因此在該課程中只能將線上教學作為線下教學的補充,在線上進行課前預習和課后知識鞏固,對取得更好教學效果起到了很好的補充作用。學生課前線上學習基礎知識,提出問題,教師在線下課堂進行知識重構和深入講解,利用在線OJ進行隨堂測試和作業布置;學生課后通過線上作業進行鞏固和練習,進一步鞏固知識成果。因此,數據結構宜采用線下教學為主,線上教學為輔的混合式教學模式。
算法設計分析是一門專業核心課程,強調學生所獲取知識與能力的應用,對未來就業和發展有著重要的作業和意義。算法設計分析是程序設計基礎和數據結構的后續課程,學生已掌握解決該類問題的基本知識與能力,為更好培養學生的工程實踐能力,宜采用基于翻轉課堂的線上線下混合式教學模式。學生先通過線上自主學習和小組討論完成理論知識學習,完成OJ系統中老師布置的算法設計題進行自測,發現問題,嘗試解決問題;教師針對不同層次學生特征,精心選取教學案例,通過發布任務、小組合作探究、解題報告等形式進行課堂知識內化;課后,學生通過完成相對應的ACM程序設計競賽習題,培養問題建模分析與問題求解能力,該混合教學模式的核心是教學過程管理和過程性評價,教學過程中的問題反饋要及時修正,以更好培養學生的工程實踐能力和問題分析求解能力。
在該系列課程中,以“注重基礎,整體優化,知識、能力、素質協調發展”為原則,從“以課堂教學為主”向“課堂教學加實踐教學并重”轉換;從知識傳授型教學向能力培養型教學的轉換,根據課程不同的性質與特點,分別采用不同的混合式教學模式。
4 教學情況與效果
程序設計與算法系列課程教學改革自2018年9 月開始,OJ平臺在線習題庫和教學案例不斷豐富,教學同時還引導學生參加各類程序設計競賽,有力支撐了混合式教學模式的實施,在培養學生計算思維、編程能力、問題求解能力和工程實踐能力上取得了良好效果,學生能力得到持續提升。在每年新生入學季,計算機科學與技術和軟件工程2個專業200多學生中,有50%的學生會申請加入ACM軟件技術實訓基地進行學習,也帶動了其他學生學習,其中部分拔尖的學生更是取得了良好的競賽成果,近3年獲得ICPC 國際大學生程序設計競賽亞洲區域賽銀獎1項,銅獎6 項;CCPC 中國大學生程序設計競賽分站賽銅獎3 項;獲“藍橋杯”全國大學生軟件技術大賽全國一等獎5項,二等獎7項,三等獎10項;獲中國高校計算機大賽——團體程序設計天梯賽全國團隊三等獎1項;其他省級獎勵100多項。獲獎同學在其他課程學習中也表現很優異,多人也獲得國家勵志獎學金,在同學們中起到了很好的模范帶頭作用,學生學習積極性與學習效果持續提升。
5 結束語
為更好實現計算機類專業人才培養目標,對程序設計與算法系列課程進行了混合式教學改革,從課程內容、性質與特征出發,設計不同教學策略,構建不同的混合式教學模式。在教學實施過程中,通過軟件技術創新基地、競賽訓練、導師制等手段引導學生自主學習,培養學生的計算思維、編程能力、問題求解能力和工程實踐能力。整體效果表明,該系列課程混合式教學改革效果良好,為計算機類專業其他課程教學改革提供新思路。