陳建文 趙軍產
摘要:算法導論是一門理論與實踐相結合的課程,內容極為豐富。這門課程對培養學生軟件設計與開發的能力起著至關重要的作用。傳統期末考試的考核方法有過于理論化和形式單一的弊端,學生動手能力差。本文探索算法導論課程考核改革,以期中考查和期末開卷考試的綜合形式考核學生應用算法的編程能力。先進的考核方法有利于充分調動學生學習的積極性和主動性,有利于學生綜合素質的提高。
關鍵詞:算法導論;考核改革;核心課程;算法編程能力
一、 引言
算法導論是信息與計算科學專業一門核心課程,具有理論與實踐緊密結合的特點,是保證學生所學知識與企事業需求密切相關的關鍵課程。根據國家“十三五”關于教育的規劃綱要,大數據和人工智能是優先發展領域。在這些發展領域的核心技術中,算法扮演著關鍵的角色,被譽為計算機學科的靈魂。這門課程的學習,不僅是對學生“C語言程序設計”“數據結構”“離散數學”“代數學”等的理論延伸和強化,而且對后續課程的學習及軟件綜合設計能力的培養起著至關重要的作用。課程的目標是培養面向社會需求的應用復合型人才,需要學生提升開闊的思維能力,能在面對復雜問題時提出自己獨到的見解。這對教學提出了較高的要求,教師只有從課堂教學、實驗和考核各個環節整體推進,算法導論課程的總體目標才能實現。學業水平考核是大學專業教育質量保障的重要手段,它對學生的學習和教師的教學具有診斷作用,也能檢測出考核方法是否具有合理性和先進性。對《算法導論》課程而言,我們不但要及時更新算法內容,還要探索進行課程考核改革,以適應大數據與人工智能時代對計算科學人才更高的要求。
二、 考核改革的必要性
在算法導論課程的教學過程中我們發現,學生的算法理論知識學得扎實。但學生的程序設計語言基礎薄弱且編程能力差,未形成良好的創新算法思維,無法適應互聯網企業對軟件人才的要求。為此,我們應該注重對學生實際編程能力的考察。具體為理論方面的考核注重學生對算法設計思想的理解,應用能力的考核重點考查學生新型算法解決實際問題的能力。
考試的主要作用是對學生所學知識進行學業評價反饋,檢測教學效果并督促學生認真學習,同時有利于發現教學中存在的問題并不斷改進教學工作。目前各大學課程考核主要是采用期末考試或者期末課程論文考核與平時成績相結合的方式,平時成績主要包括作業、考勤、課堂討論等成績,期末采用筆試方式。這一傳統考核方法有一定的作用,但存在一些弊端:其一,平時成績沒有側重對實驗報告的考核;其二,期末考試內容過于理論化,考試形式單一,學生在應用算法解決實際問題的動手能力差;其三,這是一門理論與實踐緊密結合的課程,而傳統權重占70%的期末閉卷考試難以評估學生的學習情況。應該以期中考查和期末開卷考試的綜合形式考核學生應用算法的編程能力,這有利于充分調動學生學習的積極性和能動性,有利于促進學生創造性思維的形成。
因此需要改革《算法導論》的考核方式,增加可操作的平時成績的考核形式,重點進行月度的實驗報告的考查,避免出現一考定終身和高分低能。原則上,我們應該嚴格審查實驗報告的真實性,避免抄襲作假。提高學生思考和解決問題的能力,全面提升學生的綜合素質,為社會培養高水平的應用復合型人才,是本課程教學的主要目的。因此,我們認為《算法導論》課程的考核改革是十分必要的。
三、 考核改革的基本思路
算法導論課程考核改革的基本思路是將該課程考核貫穿于整個課程教學和學習過程中,使考核真正成為手段而不是目的,從各個角度對課程進行合理評價。具體有三個方面內容:改革考核方法;改革考核形式;改革考核內容。
首先,改革考核方法。《算法導論》課程的教學應該理論與實踐相結合,重點考查學生應用算法知識解決實際問題的能力。為此,《算法導論》課程考核方法擬分為三部分:平時成績、期中考查、期末考試,各占比例分別為30%、30%、40%。能有效調動學生在整個課程學習過程中的積極性、主動性,發揮考核的激勵導向作用。期中考查包括課程案例分析和4次算法設計編程實驗報告,重點考查學生編程能力、算法設計能力以及算法創新能力,嚴格審查學生實驗報告的真實性,避免出現抄襲作假和高分低能。期末考試主要包括《算法導論》課程常用算法種類和算法復雜性的計算,考核在有限時間用常用算法編寫簡單程序的能力,重點考核學生通過圖表描繪算法過程能力,有利于學生平時抓緊學習,形成良好學風。
其次,改革考核形式。《算法導論》所涉及的知識十分廣泛,700多頁的經典教材內容非常豐富,48學時的教學只能涉獵其中一小部分,很大一部分新型算法需要學生課后自學,傳統閉卷考試方法不適宜《算法導論》這類應用性極強的課程。《算法導論》課程的考核形式擬分為兩部分:期中考查、期末開卷考試。期中考查包括課程案例分析和第4、8、12、16周的實驗報告,有利于給予學生充足時間來復習課程知識、查找相關資料、解決提出的具體問題,有利于學生盡快準備好參加每年一次的全國數學建模競賽和畢業后軟件開發工作。期末考試實行開卷考試,目的是考核學生算法知識的自學能力和算法基礎知識的理解能力,有利于學生自學沒
有時間教學的課程剩余內容,也有利于考核應用算法的能力,而不是無謂的花大量時間和精力去記憶數量龐大且內容深邃的算法。
再次,改革考核內容。《算法導論》的主要內容:基本的排序算法,如快速排序和堆排序;算法的設計與分治策略,時間復雜度等理論;新類型的高效可靠算法,如算法加密技術、并行算法、神經網絡算法、搜索引擎算法和遺傳算法等方面的基礎知識與應用實例。本課程內容龐雜且部分新型算法難度較大。為此,《算法導論》課程的考核內容分為三部分:基本算法理論、算法復雜性的計算、用算法編程。基本算法理論放在期末考試中,重點考核用圖示表示算法,并能用算法編寫簡單程序。算法復雜性的計算也放在期末考試中,考查學生分析算法時間空間復雜度的能力。算法編程放在每月一次的實驗報告。考查的題型具有開放性、拓展性、創新性,重點考查學生的綜合素質。建立上機試題庫、試卷庫,逐步實現無紙化考試。改革有利于學生增強綜合分析問題、解決問題的能力和創新能力,有利于提高學生的綜合素質。
四、 考核改革的實施效果
有兩個方面的特點:第一,考核改革的方法上有創新,以應用能力評價學業成績。《算法導論》課程的特點是理論與應用結合,算法種類繁多,側重的是算法在實際問題中的應用。我們從考核方法上出發,重點考查學生應用經典和新型算法解決實際問題的能力,重點考查學生寫作、編程能力。我們的考核方法與傳統方法有所不同,學生的求知欲增強加,對算法的認知和編程能力明顯增強;第二,考核改革的結果上,學業成績、競賽成績和綜合素質整體提高。從平時成績、期中考查、期末考試三個方面分別按大致相同比例對學生進行考核,學業成績權重分散,有利于提高學生積極性和主動性,更有利于培養學生創新性思維。學生可以節省大量記憶背誦各種不同類型的算法時間,用于提高自己應用算法實現編程的動手能力,以及提高數學建模和其他相關專業基礎的能力。從2017年湖南商學院獲得全國數學建模競賽兩個全國一等獎的結果來看,《算法導論》課程的考核改革取得了初步的成果。(通訊作者:趙軍產)
參考文獻:
[1]莊連生.以問題為導向的情境式《算法導論》課程教學方法初探[J].考試周刊,2016(10):121-121.
[2]馬漢杰,馮杰,黃海.淺析《算法導論與體系結構》的教學改革[J].教育界,2014(10):93-94.
[3]孫廷凱,於東軍,孔慧,張宏,陸建.“算法設計與分析”課程探究式教學改革實踐[J].工業與信息化教育,2017(10):66-70.
[4]高麗萍,彭敦陸,鄧桂英,陳慶奎.面向企業應用的“算法設計與分析”課程建設改革探索[J].中國電力教育,2011(20):92-93.
[5]何克晶,張星明,鄭運平.算法設計與分析課程全方位實踐教學改革探索[J].計算機教育,2017(2):45-49.
[6]劉偉,丁長松.“算法分析與設計”課程教學改革與實踐[J].工業與信息化教育,2017(3):62-65.
作者簡介:
陳建文,趙軍產,湖南省長沙市,湖南商學院數學與統計學院。