冀榮華,高萬林,孫瑞志,鄭立華
(中國農(nóng)業(yè)大學信息與電氣工程學院,北京 100083)
算法分析與設計是中國農(nóng)業(yè)大學計算機科學與技術(shù)學術(shù)型碩士研究生的專業(yè)學位課。該課程通過講授典型算法的基本原理、設計和實踐方法,使學生理解并掌握算法設計的基本技術(shù),并能靈活地加以運用,解決科學研究中的實際問題,從而培養(yǎng)學生獨立的科研能力。然而,課程教學過程中也存在一些問題,主要包括:學時有限(32 學時)、算法多且更新速度快、學生在計算機和數(shù)學方面的基礎參差不齊、學生希望能夠?qū)W以致用等。
混合式教學是一種將在線教學與傳統(tǒng)教學優(yōu)勢相結(jié)合的教學方式,通過線上和線下兩種教學組織形式的有機結(jié)合,能夠有效引導學習者開展深度學習。因此,該課程采用混合式教學方式,以彌補學時不足的問題。實踐結(jié)果表明,在計算機課程中實施混合式教學能夠有效改善教學效果,從而提升學生綜合能力。案例式教學方法根據(jù)課程教學目的,選取真實案例進行典型化處理,形成便于學生分析與思考的實用案例,可有效幫助學生學以致用。對于研究生教學,采用研探討式教學能夠幫助學生盡快進入學術(shù)研究狀態(tài)。而在專業(yè)課中融入思政元素,可有效培養(yǎng)學生的家國情懷,令其建立自信。本文通過多年教學實踐,將上述多種教學方法糅合形成混合式教學模式,幫助學生通過學習、實踐、修正、再實踐和總結(jié)的過程,全面掌握算法分析與設計的關(guān)鍵環(huán)節(jié),在學習基礎理論和掌握實用技能的同時,培養(yǎng)其算法設計靈感,并全面提升學生的實際辯證思維及解決實際問題的能力。
本課程為中國農(nóng)業(yè)大學計算機科學與技術(shù)相關(guān)專業(yè)研究生的必修課程,教學對象為碩士一年級學生。招生錄取記錄顯示,學生中有80%以上來自不同高校的計算機科學與技術(shù)或相關(guān)本科專業(yè),其余學生則來自非計算機科學與技術(shù)相關(guān)本科專業(yè)。這種狀況直接導致了學生學習基礎的差異性,如何促進具有不同專業(yè)基礎水平的學生快速進入課程學習角色、在短暫課程期間獲得最好的學習產(chǎn)出則成為本課程教學方法改革的目標。
為驗證混合式教學方式的教學效果,本課程自2015年開始持續(xù)實踐三輪次,每輪次均將學生劃分為試驗班和傳統(tǒng)班兩個小班進行對照教學??紤]到非計算機科學與技術(shù)相關(guān)專業(yè)的學生基礎相對薄弱,為更好地激發(fā)其主動學習的能動性,這些學生均被分配到試驗班。2015-2017 年兩類班級學生人數(shù)分布如圖1所示。
可以看出,兩類班級人數(shù)基本相當,試驗班略多1~2名。課程采集了兩類班級學生基本信息并進行統(tǒng)計學對比分析,結(jié)果如表1所示。
Fig.1 Distribution of students圖1 學生人數(shù)分布
Table 1 Statistical analysis of students'basic information表1 學生基本信息統(tǒng)計分析
通過分析發(fā)現(xiàn),P 值均大于0.05,說明兩個班級學生在性別比、年齡和入學成績等方面無顯著統(tǒng)計學差異。同時,由于本課程由同一教師任教,教學大綱與教學內(nèi)容均保持一致,區(qū)別僅在于教學方法,因此具有一定的可比性。
兩個班級分別采用傳統(tǒng)式和混合式兩種不同教學方法。其中,傳統(tǒng)班采用傳統(tǒng)教學方法,即課前學生預習教材相關(guān)內(nèi)容,課堂以教師講授為主,采用PPT 形式授課,教師詳細講解典型算法原理、設計及實踐方法,并對所涉及典型算法的實踐過程進行指導,學生課后自行復習總結(jié)。試驗班則采用混合式教學方法,將師生納入到共同教學主體。將課前、課中與課后,線上與線下,授課教學、案例教學、研探討教學進行全方位混合。教師在開課前進行教學資料梳理、知識重點/難點梳理、教學方法設計,以及案例選擇與設計。案例大多來自教師本人的科研課題,并輔以經(jīng)典案例。通過精心設計與整理,選擇最具代表性和啟發(fā)意義,且與實際應用場景密切相關(guān)的案例作為典型算法的典型應用。課前要求學生自學典型算法基本理論及典型案例,并針對典型案例進行算法設計與實現(xiàn);課中以Seminar形式開展課堂教學,師生共同進行研探討,對不同解決方案進行對比、推敲與分析;課后要求學生根據(jù)討論結(jié)果進一步完善典型案例的設計與實現(xiàn)。
整個混合式教學過程分為課前、課中和課后3 部分。通過充分調(diào)動學生積極性,實現(xiàn)師生共同研探討和生生合作交流的良好互動式教學,以達到人人學有所得、學有所用的目標。
教師上傳課程相關(guān)資料(視頻、電子書、核心網(wǎng)址及算法開發(fā)工具包)至網(wǎng)絡教學平臺;設置課程電子調(diào)查問卷,以充分了解本屆學生的實際情況;建立微信群以加強師生內(nèi)部的實時交流。
第一次課以教師為主導開展教學,目的在于幫助學生了解完整的知識體系,掌握課程學習的工具和方法,并建立課程學習與研探討框架。教師首先介紹本課程安排和學習方法等基本情況,然后將試驗班學生分為6 個小組,每組3~5 人,由一名小組長負責組織交流,最后以第一個典型算法為例講解相關(guān)基本理論、分析案例,并進行算法設計與實踐的完整過程。實踐結(jié)果證明,保證第一次課的教學效果能夠充分調(diào)動學生的學習積極性,幫助學生快速進入主動學習的狀態(tài)。
第2-7 次課分為課前、課中和課后3 個階段開展教學。本課程在整個混合式教學過程中,通常會開展3 個案例的學習與講解。
課前,教師提前一周將本周要講解典型算法基本理論的微視頻、典型案例及相關(guān)資料、任務要求等發(fā)布在網(wǎng)絡教學平臺,供學生學習。學生以小組為單位進行任務分工,相互討論、交流形成文檔和代碼,具體要求如下:①調(diào)研報告。利用教師提供的資料及各種數(shù)字資源進行文獻查閱,了解算法基本原理、發(fā)展現(xiàn)狀及存在問題等,要求閱讀不少于5 篇近3 年的中英文參考文獻,形成不少于3 000字的調(diào)研報告;②算法設計報告。針對案例的算法設計與實現(xiàn)方案,要求至少包括:案例特點分析、選擇算法的依據(jù)及基本原理、算法設計思想;③算法實現(xiàn)代碼。要求該算法能夠?qū)崿F(xiàn)案例要求的基本功能,代碼可運行;④算法測試與評價報告。給出算法代碼測試過程、所用測試用例及算法評價;⑤匯報報告。以PPT 形式匯報上述4 份報告的核心內(nèi)容。
課中,教師按照以下過程組織課堂教學:
(1)匯報。隨機選擇兩組作為主講小組,匯報并展示本小組的課下成果。
(2)討論。教師引導學生圍繞兩個小組的匯報情況開展討論。鑒于目前學生提出問題的能力較弱,而能夠有效提出問題是從事科學研究的重要素質(zhì)之一,因此要求其余每個小組至少提出兩個不同問題。教師有時需要引導學生提出尚未提及的案例算法的關(guān)鍵缺陷問題,并針對這些問題在課堂上展開熱烈討論,形成一個多維互動的課堂討論情景。
(3)匯總。討論后隨機選定一個小組匯總討論內(nèi)容,形成討論報告。
(4)評價。隨機選擇一組學生對主講小組的匯報情況進行評價,形成評價報告。
(5)點評。教師對課堂討論情況進行總結(jié),以促進下一次討論課更加高效及富有成果,同時對案例算法設計中可進一步優(yōu)化之處進行點評,以推動學生更深入地思考問題、扎實掌握算法設計精髓,并逐漸形成自我驅(qū)動的習慣。
課后,學生根據(jù)課堂討論結(jié)果進行總結(jié)與修正,形成最終報告。
課程以綜合作業(yè)形式進行考核,在最后一次課前,教師給出結(jié)課作業(yè)及要求,課上學生分小組進行匯報,并提供調(diào)研報告、算法設計報告以及算法實現(xiàn)、測試與評價報告各一份。
最終課程成績由平時成績與結(jié)課作業(yè)成績兩部分組成,具體如表2所示。
Table 2 Composition of course scores表2 課程成績組成
在課程結(jié)束時,以匿名方式對試驗班和傳統(tǒng)班學生進行問卷調(diào)查,通過學習態(tài)度、專業(yè)知識和綜合素質(zhì)3 方面共14 個項目反映學生對課程教學效果的評價。每個項目按照學生收獲多少分為多、一般和少3 個等級,學生選擇一個等級對教學效果進行評價。表3 為3 輪教學實踐中兩個對比班級的學生評價結(jié)果。
Table 3 Teaching effect evaluation表3 教學效果評價 (%)
將試驗班與傳統(tǒng)班學生在“收獲多”這一項上作差值進行比較,結(jié)果如圖2所示。
Fig.2 Differences in students'achievements between experimental class and traditional class圖2 試驗班與傳統(tǒng)班學生收獲差異
可以發(fā)現(xiàn),試驗班學生各方面能力均較傳統(tǒng)班有一定程度提升,其中在算法知識獲取方面相差不大,但在綜合素質(zhì)和學習態(tài)度方面提升顯著。綜合素質(zhì)能力正是研究生培養(yǎng)目標所在,說明混合式教學模式更適用于研究生教學。
3 年的對比教學實踐結(jié)果表明,使用混合式教學模式能夠幫助學生更好地跟蹤算法設計發(fā)展前沿技術(shù),更系統(tǒng)地掌握算法分析與設計基礎知識,更深入地理解并掌握典型算法的精髓,并有能力運用典型算法對復雜問題進行求解。同時,混合式教學模式提升了學生主動學習和獨立思考的積極性,按照研究生應有的學習規(guī)律,培養(yǎng)并強化了學生科學研究的能力,具體表現(xiàn)在:
(1)獨立獲取知識的能力。逐步掌握科學的學習方法,閱讀并理解算法課程設計與實踐方法及開發(fā)技術(shù)相關(guān)的教材、參考書和科技文獻,不斷擴展知識面,增強獨立思考的能力,有意識地追蹤最新算法技術(shù)并更新知識結(jié)構(gòu),能夠?qū)懗鰲l理清晰且具有自我思考與見解的讀書筆記、小結(jié)或小論文。
(2)科學觀察與思維的能力。運用算法分析與設計的基本理論和基本觀點,通過觀察、分析、綜合、演繹、歸納、科學抽象、類比聯(lián)想、實驗等方法培養(yǎng)學生發(fā)現(xiàn)與提出問題的能力,使其對所涉及問題有一定深度的理解,能夠靈活運用已有知識,同時發(fā)現(xiàn)尚需補充的知識和技術(shù),并能夠判斷研究結(jié)果的科學性與合理性。
(3)分析與解決問題的能力。根據(jù)軟件工程問題的特征、性質(zhì)及實際情況,抓住主要矛盾進行合理的簡化,選擇合適的算法或基于實際問題提出新的解決方案,建立相應的邏輯實體模型,并用形式語言和程序設計語言進行描述。
綜上所述,在專業(yè)碩士學位課“算法分析與設計”中開展混合式教學改革,可有效利用學生已有的知識和學習能力,充分調(diào)動其學習的主動性,培養(yǎng)其獨立獲取知識、挖掘有價值的科學問題并提出解決方案的能力,尤其對于學生學術(shù)研究與創(chuàng)新能力的培養(yǎng)具有一定優(yōu)勢。