摘要:“算法設(shè)計(jì)與分析”屬于難度較大的課程,需要學(xué)生具備良好的數(shù)學(xué)基礎(chǔ)。針對“算法設(shè)計(jì)與分析”課程的教學(xué)實(shí)際,分析教學(xué)過程中存在的問題,從教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段等方面進(jìn)行了探討,并提出了進(jìn)一步改革的方向和措施。
關(guān)鍵詞:算法設(shè)計(jì)與分析;教學(xué)內(nèi)容改革;教學(xué)方法改革;教學(xué)手段改革
作者簡介:姜楓(1980-),男,江蘇泰州人,南京理工大學(xué)泰州科技學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,講師。(江蘇 泰州 225300)
基金項(xiàng)目:本文系江蘇省‘青藍(lán)工程’資助、中央電化教育館課題(課題編號(hào):116230341)、南京理工大學(xué)課題(課題編號(hào):2011-C91)的研究成果。
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0079(2013)26-0068-02
“算法設(shè)計(jì)與分析”(以下簡稱“算法”)是計(jì)算機(jī)學(xué)科的核心課程,被認(rèn)為是計(jì)算機(jī)科學(xué)領(lǐng)域最重要的基石。在由美國計(jì)算機(jī)協(xié)會(huì)ACM和電氣與電子工程師協(xié)會(huì)計(jì)算機(jī)學(xué)會(huì)IEEE-CS于2005年發(fā)布的CC2005(Computing Curricula 2005)中,[1]將算法列為計(jì)算學(xué)科十一個(gè)重要領(lǐng)域中的第一位,在教育部計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)編寫的《高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報(bào)告暨專業(yè)規(guī)范(試行)》中也將算法與數(shù)據(jù)結(jié)構(gòu)課程列為計(jì)算機(jī)學(xué)科最重要的核心課程之一。[2]此外隨著ACM國際大學(xué)生程序設(shè)計(jì)競賽在國內(nèi)的知名度與參與度的逐步提升,國內(nèi)各大高校的計(jì)算機(jī)及相關(guān)專業(yè)對算法課程的重視程度越來越高。
算法課程邏輯性強(qiáng)、內(nèi)容抽象、實(shí)踐要求高,學(xué)生們在學(xué)習(xí)時(shí),普遍認(rèn)為難度偏大。因此,在教學(xué)過程中如何上好這門課程,使學(xué)生既熟練掌握課程的知識(shí)點(diǎn),又提高實(shí)踐動(dòng)手能力和培養(yǎng)創(chuàng)新思維,對教師提出了很高的要求。本文結(jié)合筆者多年的教學(xué)實(shí)踐經(jīng)驗(yàn),從課程的教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段等幾方面進(jìn)行探討。
一、優(yōu)化教學(xué)內(nèi)容
在計(jì)算機(jī)學(xué)科眾多專業(yè)課中,算法屬于難度較大的課程,需要學(xué)生具備良好的數(shù)學(xué)基礎(chǔ)、抽象思維能力以及程序設(shè)計(jì)技巧。多數(shù)學(xué)生在學(xué)習(xí)這門課程初時(shí)還有些興趣,但隨著課程的深入,難度越來越大,容易產(chǎn)生厭學(xué)情緒,甚至產(chǎn)生放棄的想法。為了緩解學(xué)生的畏難情緒,幫助他們學(xué)好這門課程,就需要科學(xué)、合理地選擇教學(xué)內(nèi)容。
1.精選經(jīng)典算法
如前所述,算法作為計(jì)算機(jī)學(xué)科的核心課程之一,對學(xué)生邏輯思維能力、數(shù)學(xué)建模和分析能力、程序設(shè)計(jì)能力都起到很好的鍛煉。因此在選擇這門課程的內(nèi)容時(shí),必須將一些經(jīng)典算法,如分治法、動(dòng)態(tài)規(guī)劃法、貪心法、回溯法等,作為重點(diǎn)做全面系統(tǒng)的分析和講解。在講解這些知識(shí)點(diǎn)時(shí),可以多聯(lián)系相關(guān)知識(shí)點(diǎn),如講到用動(dòng)態(tài)規(guī)劃法解決0/1背包問題時(shí),讓學(xué)生思考如何使用貪心法、回溯法來解決該問題。這樣通過同一問題的不同解題方法的思考和比較,一方面加深學(xué)生對于幾種不同策略算法的理解,另一方面也鍛煉學(xué)生分析、思考、解決問題的能力。
2.引入業(yè)界最新成果
近年來,算法研究的聚焦點(diǎn)包括隨機(jī)算法、近似計(jì)算、并行計(jì)算、人工智能算法等,這些算法與學(xué)生的生活更為貼近,容易激發(fā)學(xué)生的共鳴,調(diào)動(dòng)其興趣點(diǎn),喚起學(xué)習(xí)熱情。因此在講解經(jīng)典算法之余,也要有選擇地介紹一些學(xué)界和產(chǎn)業(yè)界研究的最新成果,一方面使學(xué)生感覺自己距離學(xué)科最前沿并不遙遠(yuǎn),樹立能學(xué)好算法課程的信心;另一方面,在講解這些算法討論的過程中能夠開拓師生的思路,挖掘一些有主見、會(huì)思考、有創(chuàng)新意識(shí)的學(xué)生。
3.處理好與數(shù)據(jù)結(jié)構(gòu)課程的關(guān)系
學(xué)習(xí)算法課程需要先修“數(shù)據(jù)結(jié)構(gòu)”課程。這兩門課程的知識(shí)點(diǎn)有一定交叉,如圖的遍歷、最短路徑等,因此在選擇課程內(nèi)容時(shí)需要加以考慮,既能讓學(xué)生全面地掌握算法設(shè)計(jì)思想與算法性能分析方法,又避免使學(xué)生產(chǎn)生學(xué)習(xí)內(nèi)容與之前課程重復(fù)的感覺。這就要求在教學(xué)大綱的制定上科學(xué)地處理兩門課程之間的關(guān)系,在數(shù)據(jù)結(jié)構(gòu)中,重點(diǎn)講解靜態(tài)數(shù)據(jù)結(jié)構(gòu)的定義和表示,以算法為輔讓數(shù)據(jù)結(jié)構(gòu)運(yùn)行起來;而在算法課程中,則需要借助數(shù)據(jù)結(jié)構(gòu)的已有基礎(chǔ),教學(xué)重點(diǎn)放在引導(dǎo)學(xué)生根據(jù)某種具體的數(shù)據(jù)結(jié)構(gòu)進(jìn)行算法設(shè)計(jì),并分析和比較各種算法性能。
二、改革教學(xué)方法
1.以學(xué)生為中心,創(chuàng)新教學(xué)方法
在傳統(tǒng)的課堂教學(xué)中,教學(xué)的雙方是教師與學(xué)生,教師根據(jù)教學(xué)大綱的要求選擇教材,組織教學(xué)內(nèi)容,再將知識(shí)傳授給學(xué)生,學(xué)生很大程度上只是順著教師的思維,被動(dòng)地接受知識(shí),很少能夠主動(dòng)思考,形成自己的思路。而算法課程的教學(xué)目標(biāo)中很重要的一條就是要培養(yǎng)學(xué)生算法分析設(shè)計(jì)的能力,這就和這種教學(xué)模式有很大的矛盾。
學(xué)生在算法領(lǐng)域幾乎是一塊“白紙”,思考問題時(shí)沒有條條框框的限制,而且青年人思維活躍,往往能想出與教材不同,甚至是教師都未曾想過的思路。因此在課堂上,教師要改變角色,主動(dòng)思變,變知識(shí)的傳授者為知識(shí)獲取的向?qū)В寣W(xué)生成為課堂的主角。教師的任務(wù)是多設(shè)立情景、拋出問題,根據(jù)實(shí)際情況,適當(dāng)?shù)亟o予提示,采取啟發(fā)式、討論式、合作式等方式,精講多練,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性。
2.大力推進(jìn)研究性教學(xué),引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí)、思考和實(shí)驗(yàn)
研究性教學(xué)將師生合作創(chuàng)造知識(shí)視為教學(xué)的本質(zhì),把教學(xué)內(nèi)容視為研究對象,將教學(xué)本身視為研究過程。研究性教學(xué)方法主要包括三種模式:問題解決模式、自主研究模式和課題參與模式。[3]根據(jù)算法課程的特點(diǎn),主要采取第一種,即問題解決模式。具體的流程為:教師創(chuàng)設(shè)問題情境→學(xué)生提出問題→搜集科學(xué)事實(shí)→探求解題方法→得出科學(xué)結(jié)論→運(yùn)用新知識(shí)。如在講解回溯法時(shí),以體彩雙色球?yàn)槔榻B雙色球的玩法規(guī)則,要求學(xué)生用計(jì)算機(jī)輸出紅球的所有組合方式。先引導(dǎo)學(xué)生使用窮舉的方法列舉出所有可能的解,然后介紹回溯法的思路,即盡可能壓縮搜索空間,接著讓學(xué)生根據(jù)該思路設(shè)計(jì)算法并用一種計(jì)算機(jī)語言進(jìn)行實(shí)驗(yàn),并與窮舉法的運(yùn)行時(shí)間進(jìn)行比較,最后得出結(jié)論,并將這種方法應(yīng)用到如8皇后或著色問題的求解上。
3.改革評價(jià)方式和評價(jià)標(biāo)準(zhǔn),采取多過程多元化相結(jié)合評價(jià)
傳統(tǒng)的教學(xué)中,學(xué)生從老師和教材吸取的知識(shí)較多, 能較好地掌握課堂講授的內(nèi)容;但學(xué)生創(chuàng)新能力差,不善于發(fā)現(xiàn)問題、提出問題, 缺乏實(shí)際解決問題的能力。導(dǎo)致這種現(xiàn)象發(fā)生的原因之一在于課程評價(jià)方式,即以閉卷考試為主要形式的導(dǎo)向促使學(xué)生更能接受應(yīng)試教育的學(xué)習(xí)方式。因此,考試形式和評分標(biāo)準(zhǔn)的改革也是教學(xué)方法改革的一個(gè)重要組成部分,在算法課程評價(jià)方面的改革措施如下。
評價(jià)方式改革:過程考核和結(jié)果考核并重,過程考核包括課堂表現(xiàn)、作業(yè)情況、實(shí)驗(yàn)完成情況;結(jié)果考核主要包括期中和期末考試。
評價(jià)標(biāo)準(zhǔn)改革:在卷面考試中,更多地看重學(xué)生在解題過程中是否有思路、思路有無創(chuàng)新性等,而不僅僅局限看考生的答案是否和標(biāo)準(zhǔn)答案一致。
三、豐富教學(xué)手段
教學(xué)手段是師生教學(xué)相互傳遞信息的工具、媒體或設(shè)備。隨著科技的發(fā)展,教學(xué)手段經(jīng)歷了口頭語言、文字和書籍、印刷教材、電子視聽設(shè)備和多媒體網(wǎng)絡(luò)技術(shù)等五個(gè)使用階段。
1.網(wǎng)絡(luò)教學(xué)平臺(tái)作為課堂教學(xué)的補(bǔ)充
當(dāng)今世界,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)飛速發(fā)展,基于建構(gòu)主義學(xué)習(xí)理論的網(wǎng)絡(luò)教學(xué)新模式作為傳統(tǒng)的基于行為主義和認(rèn)知主義學(xué)習(xí)理論的教學(xué)模式的有效補(bǔ)充,越來越為人們所關(guān)注。算法課程利用Claroline開源平臺(tái)建立了網(wǎng)絡(luò)課程,設(shè)置了課程簡介、課程計(jì)劃、課程講義、課程聯(lián)系、學(xué)習(xí)路徑、作業(yè)、學(xué)習(xí)討論、協(xié)作資源等模塊,為學(xué)生開辟了除課堂教學(xué)以外的“第二戰(zhàn)場”,突破了時(shí)間、空間的限制, 實(shí)現(xiàn)隨時(shí)隨地學(xué)習(xí)和授課的全新理念。
2.板書與多媒體優(yōu)勢互補(bǔ)
板書和多媒體課件的使用在教學(xué)中各有優(yōu)勢。板書靈活性強(qiáng),與教學(xué)各個(gè)環(huán)節(jié)緊密銜接, 并能有效地掌控課堂節(jié)奏,教師可以隨機(jī)應(yīng)變;而多媒體則能提供更為豐富的視聽環(huán)境, 使教學(xué)內(nèi)容更形象直觀、美觀活潑。
在算法課程中,使用了板書為主、多媒體課件為輔的方式,按照教學(xué)思路用板書反映大部分教學(xué)主要內(nèi)容,以多媒體課件呈現(xiàn)教學(xué)輔助材料,如:圖的最短路徑搜索、圖的遍歷、各種排序等問題的抽象求解過程。用多媒體展示教師的思考過程和算法的形成過程,便于學(xué)生直觀地理解這些復(fù)雜算法,提升課堂教學(xué)效果。
四、結(jié)語
教學(xué)的研究與探索是永無止境的過程,在今后在教學(xué)過程中,一方面要繼續(xù)關(guān)注“算法設(shè)計(jì)與分析”的基本理論和方法,讓學(xué)生通過掌握這些算法的同時(shí)提高分析問題、解決問題甚至是提出問題的能力。還要通過算法的實(shí)現(xiàn)過程強(qiáng)化學(xué)生的編程應(yīng)用能力,這就需要教師能夠不斷地研究課程教學(xué)的諸多環(huán)節(jié),激發(fā)學(xué)生的學(xué)習(xí)興趣。另一方面,算法課程涉及的應(yīng)用領(lǐng)域較廣,知識(shí)更新周期短,這對教師的學(xué)術(shù)水平提出了較高要求,這就需要教師跟蹤學(xué)術(shù)前沿,涉獵最新學(xué)術(shù)成果,不斷研究消化并反哺教學(xué),使得算法課程的教學(xué)效果逐步提升。
參考文獻(xiàn):
[1]The Joint ACM/IEEE-CS Task Force on Computing Curricula.Computing Curricula 2005-the Overview Report[R]. New Jersey:ACM and IEEE Computer Society,2005.
[2]教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì).高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報(bào)告暨專業(yè)規(guī)范(試行)[M].北京:高等教育出版社,2006.
[3]曹娟.關(guān)于高校實(shí)施研究性教學(xué)的理性思考[J].現(xiàn)代大學(xué)教育,
2002,(6):111-112.
(責(zé)任編輯:王意琴)