集美大學誠毅學院 武 斌 周 喜
為了提升數據結構與算法課程教學質量,提出基于知識點智能推薦的線上線下混合教學模式進行教學改革。該教學模式主要借助線上互動教學平臺課堂派+PTA、引入智能推薦算法設計題目,實現課前內容準備、課中實踐測試、課后總結溝通,改善學生學習過程的考核方式。實踐表明,該教學方法可以有效激發學生學習興趣,提高課程教學質量。
數據結構與算法是計算機科學與技術、軟件工程、網絡工程等相關專業的專業核心課程。該課程的學習目標是使學生掌握計算機加工數據的對象特性,選擇合適的邏輯結構、存儲結構和算法求解問題,培養學生問題建模能力,算法設計與分析能力,算法實現能力。通過該課程的學習,使學生具有良好的編程技能。同時,數據結構與算法在計算機學科專業體系中起著承上啟下的重要作用。
2019年4月,教育部辦公廳發布《教育部辦公廳關于實施一流本科專業建設"雙萬計劃"的通知》。一流本科專業建設需要一流的課程建設。在實際教學過程中,數據結構與算法課程的教學效果不盡如人意,存在諸多亟待解決的問題。尤其是目前互聯網時代,網上資源豐富,學生獲取知識的途徑多樣化。在這種形勢下,數據結構與算法的教學如果還是墨守成規,不進行改革,學生就不能適應環境,課堂教學質量就會比較差。引入線上線下教學資源融合的混合教學模式有利于提高學生學習和實踐能力。
數據結構與算法課程主要介紹了研究對象如何在計算機中存儲、對象之間的邏輯關系、對象的操作,知識點繁多、內容抽象、邏輯復雜,并且存在相當一部分知識點的推演和其算法實現有一定難度。盡管先修了程序設計課程,但是學生的編程水平層次不齊、相對薄弱,無法獨立編寫出程序或者算法來驗證理論知識。逐漸地,學生失去編程的信心和學習的興趣。
在目前的教學中,還存在教師采用滿堂灌的傳統教學方式講授,致使學生非常被動。有些教師布置大量的練習題、作業,搞題海戰術,導致學生學習沒有針對性,效率低。有些教師上課不注重課堂效果,缺乏教學互動。由于學生在知識掌握和理解上存在個體化差異,對于理解力偏差、基礎薄弱的學生就不能夠很好的接受此種授課方式,造成課堂知識沒聽懂、不理解,教學效果不理想。
數據結構與算法課程的理論知識最終需要通過算法實踐來實現的,它是一門實踐性較強的課程。課程實踐是提升學生編程能力的關鍵,同時也是鞏固和掌握理論知識的手段。但是大部分院校在做教學計劃時該課程總學時64學時,其中實踐環節占16學時,相對較少。另外,在實踐環節,有些教師簡單布置幾道實驗作業給學生做,沒有針對性,也沒有區分題目難易度,造成基礎差的學生無法完成實驗。實踐效果差影響了理論知識的掌握,理論知識不吃透又限制了實踐,造成惡性循環。
綜上所述,數據結構與算法課程的教學必須進行改革、創新。
互聯網教育快速發展,在線教育資源越來越豐富。面對海量的線上習題,如何針對性的選擇適合自己的資源成為研究的熱點。在大數據的背景下,智能推薦算法應運而生。利用高效可靠的習題推薦算法篩選合適的資源,既是個性化學習新的要求,也是新的訴求。智能推薦算法主要分基于內容推薦和協同過濾推薦。本文采用以知識點為內容的智能推薦算法,推題規則如下:
(1)獲取班級信息
①復習的類型:課后復習、課前預習、總復習。
②訓練類型:基礎訓練、強化訓練。
③本節課的上課內容(假設為知識點1、知識點2、知識點3)。
④當前班級的學生(假設為學生A、學生B、學生C)。
⑤輸入的作業題量(假定為10題)。
⑥作業的類型:課前預習或者課后復習。
(2)獲取學生的知識點掌握度
示例如表1所示,若無掌握度值則為0。

表1 知識點掌握度
(3)每個知識點對應的試題難度范圍
根據訓練類型、學生知識點掌握度、作業類型定位試題難度范圍,如表2所示。

表2 試題難度范圍
(4)設定作業題量分布
假定總的題目量為N,表3所示題量分布設計。

表3 題量分布設計
(1)獲取每個知識點的標簽
獲取知識點對應類型(基礎訓練或強化訓練)的典例題的所屬標簽。知識點標簽如表4所示。
(2)篩選試題
以課后作業、基礎訓練為例。假設初始信息如表5所示。

表4 知識點標簽
得出篩選試題的條件隊列,如表6所示。

表5 初始信息

表6 條件隊列
根據條件隊列,從精品題中為每個學生篩選試題,然后由易到難對題型內的試題進行重新排序。假設題量N=7,以學生A舉例,如表7所示。

表7 學生A篩選的試題
課堂派是一種在線課堂管理平臺,操作簡單,支持微信一鍵登錄,在線實時互動,全過程教學統計,自動錄播,再次回顧,保留教學資產。隨時隨地發布話題,測試,作業,在線批閱,實時查重,自動管理教學成績,教學過程自動分析,可留存,可追溯。
PTA是一個在線程序設計類實驗輔助教學平臺,可以在線編譯程序。系統全面繼承了計算機程序設計能力考試系統的基礎練習題庫。題庫中包含判斷、選擇、程序填空、函數、編程等類題目共十余萬道。
教師借助課堂派+PTA平臺對課程組織和教學過程重新設計,將教學設計分為課前準備、課堂教學、實踐教學和課后鞏固。
(1)課前準備
課程開設之前,教師設計習題庫,將授課學生們加入課堂派課程班級里,并分為一組,上傳課程資源到課堂派對應課程的資源庫,包括課程教學計劃、教學大綱、教學課件PPT等資料,讓學生對該課程有個整體的了解,做好課前預習。為了更好的掌控課堂教學進度,教師可以在課堂派上布置預習內容和一些題目測試學生的預習情況。除了第一次課外,預習的習題來自智能推薦。
數據結構與算法課程中理論概念比較多、算法知識點多,有些比較難以掌握和理解,比如鏈表的合并,二叉樹的性質、遍歷,線索化二叉樹建立,圖的存儲、遍歷,最小生成樹,最短路徑,平衡二叉樹,串的模式匹配等知識點。教師可以制作一些容易理解的動畫演示發布在課堂派上供學生課前預習。
課堂派提供私信功能使學生與教師之間交流比較便捷。
(2)課堂教學
課堂教學階段是教學環節的關鍵階段。在上課前2-3min,教師利用課堂派的多樣式考勤功能對學生進行考勤,取代傳統的點名考勤,節約了時間,提高了效率,也督促學生到課堂學習。課堂前幾分鐘,教師可以利用智能推薦以小測試的形式回顧上次課內容,增強對前期內容的掌握。
根據課前預習和測試情況,教師適當地調整本次講課內容的側重點和知識量,有目的性地講解學生不懂或者掌握不好的地方。在教學過程中,為了增加課堂師生互動性,活躍課堂氣氛,學生可以利用課堂派的彈幕功能提出自己的疑問,進而調動學生的積極性。
在互動環節,教師可以利用課堂派隨機提問,啟發式地引導學生分析問題和解決問題。根據學生回答情況,在課堂派上可以獎勵星星的形式記錄,同時作為課程考核時平時成績的一部分。在算法知識講解時,為了讓學生容易聽懂,可以借助動畫演示算法執行過程。同時,教師講解解決問題的思路和方法,引導學生積極思考,深刻地理解算法的思路和原理。
(3)實踐教學
課程實踐是檢驗和理解課程理論知識的重要途經。在實踐環節,教師在課前制訂好實踐指導書分發給學生。教師利用PTA平臺設計難度系數不等的題目,包括基礎題、提高題、競賽題。學生通過PTA平臺在線編譯程序,同時還能看到自己的成績排名,進而激發了學習興趣。
(4)課后鞏固
課后鞏固復習與課堂教學是相輔相成的。根據智能推薦算法,篩選適合學生的習題。
對于理論知識,教師課后通過課堂派布置一定量智能推薦的在線習題測試或在線作業。通過課后練習和作業實施,學生可以及時復習鞏固和查缺補漏,教師能夠實時了解學生的學習情況。
在實踐方面,為了鍛煉實踐能力,教師在PTA平臺上布置一些算法編程題目。學生通過PTA平臺鍛煉編程能力、算法設計能力。
(5)課程考核
為了較好的對學生的學習過程評價,準確的掌握學生對課程知識的掌握情況,課程考核成績采用平時分(占30%)+期考分(占50%)+實踐分(占20%)。平時分包括課堂考勤分(30%),作業測驗完成分(40%),課堂表現分(30%)。

圖1 出勤率、及格率對比

圖2 課堂教學滿意度

圖3 實驗完成情況對比圖
本課程教學改革方案于2019年和2020年在計算機專業開展基于智能推薦的線上線下混合教學資源融合的教學模式,并取得了明顯的效果。如圖1所示,在學生的出勤率和考核及格率方面,2019年和2020年均高于2016-2018年。
如圖2所示,使用改革方案后,學生對課堂教學滿意度接近100%,明顯高于前幾年。
如圖2所示,使用改革方案后,學生對課堂教學滿意度接近100%,明顯高于前幾年。
如圖3所示,實驗16課時,8次實驗,使用改革方案后,學生每次實驗完成百分比對比情況,2019-2020年明顯高于前幾年。
將課堂派+PTA作為教學輔助平臺,同時引入智能推薦習題應用于數據結構與算法課程教學中,包括課前準備、課堂教學、課后鞏固、實踐教學。通過實踐教學證明,與傳統教學模式相比,新的課程改革方案能夠擴展教學活動,調動學生的學習主動性,使得學習變得更加有趣生動,教學方法更加豐富多彩,學生與教師的雙向交流更加順暢,更有利于培養學生的思考能力以及提高學生實踐能力。