摘要:針對算法設(shè)計與分析課程教學中的問題,提出構(gòu)建以教師為主體、學生為主體和項目為主體的分層次多維度的課程教學模式,分析各環(huán)節(jié)的教學目的和方法,并對具體的操作形式進行探討。
關(guān)鍵詞:多維度;分層次;算法設(shè)計;教學改革
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2014)12-0094-02
隨著我國產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的進一步完善,社會對高層次應用型計算機人才的需求更加迫切。各地應用型本科院校加大了計算機專業(yè)課程建設(shè)的改革力度,使其從傳統(tǒng)學科向工程型和應用型學科轉(zhuǎn)變。應用型計算機學科專業(yè)中的計算機課程設(shè)置、內(nèi)容體系和教學手段及方法也具有了不同于傳統(tǒng)學科的鮮明特點。
計算機算法設(shè)計與分析是一門面向設(shè)計,且處于計算機學科核心地位的教育課程。這門課程覆蓋的知識點多,理論抽象,實踐性強,學生理解和應用難度大。為此,江漢大學(以下簡稱“我?!保⑦@門課程納入課程教學改革體系,從教學內(nèi)容、教學手段、教學方法和考評體系等幾個方面對這門課程進行了深入的改革,并構(gòu)建以教師為主體、學生為主體和項目為主體的分層次多維度主體課程教學體系,注重學生創(chuàng)新能力與實踐能力的培養(yǎng),達到應用型計算機人才培養(yǎng)的目標。
一、江漢大學算法設(shè)計與分析課程教學現(xiàn)狀分析
計算機算法設(shè)計與分析課程有典型的數(shù)學理論背景,抽象性和理論性強。同時,該課程實踐部分需要較多的專業(yè)前導課程基礎(chǔ),如離散結(jié)構(gòu)、程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)等相關(guān)知識,實際應用難度大。而我校本門課程的學時數(shù)也由原來的64學時縮減為40學時,這就造成多數(shù)學生在課堂上只能淺顯地了解算法基本思想,很難深入理解算法精髓,學生對本門課程的學習缺乏信心和興趣,難以達到教學預期效果。
目前,在算法設(shè)計與分析課程教學中,主要存在的問題有:
1.課程內(nèi)容知識點多,理論性強
算法設(shè)計與分析課程內(nèi)容主要包括經(jīng)典的算法設(shè)計技術(shù),例如遞歸與分治、動態(tài)規(guī)劃、貪心、回溯、分支限界、圖算法等也包括了一些高級的算法設(shè)計主題,例如網(wǎng)絡(luò)流和匹配、啟發(fā)式搜索、線性規(guī)劃。[1]課程內(nèi)容覆蓋面廣,對學生的抽象思維能力和邏輯推理能力要求高,學習難度大。而我校本門課程的課時數(shù)有限,要讓學生掌握各種算法設(shè)計方法及分析方法,時間非常緊促。
2.實踐環(huán)節(jié)要求高,缺乏創(chuàng)新意識
算法設(shè)計與分析是計算機專業(yè)對實踐環(huán)節(jié)要求很高的一門課程。學生不僅要靈活應用算法技巧構(gòu)建解題思路,而且還要能夠運用某種程序設(shè)計語言編程實現(xiàn)。但學生由于前期的課堂學習知識掌握不牢固,又缺乏獨立思考的勇氣和能力,以致于無法完成該門課程實驗的基本要求。
3.單向教學模式,學習積極性差
長期的灌輸式教學導致學生明顯缺乏學習的主動性,往往形成課堂上教師學生兩不管的現(xiàn)象。學生與教師間明顯缺乏溝通,學生消極地對待課程學習,從而導致算法設(shè)計與分析課程的課堂教學效果差,不能到達教學目標。
二、算法設(shè)計與分析課程教學改革的思路
針對算法設(shè)計與分析課程教學中的種種問題,有必要改革傳統(tǒng)的教學模式,構(gòu)建合理、科學的以教師為主體、以學生為主體和以項目為主體的三維一體的分層次多維度的課程教學模式。
1.以教師為主體的教學活動
教師在教學活動中扮演者重要的角色。算法課程中的抽象理論、算法思想都需要教師給學生進行深入的講解,幫助學生更快地掌握算法思想。同時,課堂教學活動中枯燥的灌輸式教學難以激起學生的求知欲,不利于調(diào)動學習積極性和主觀能動性。為此,在教學時,教師應注重以下問題:
(1)適當選取教學內(nèi)容,適應學生需求。針對我校學生的培養(yǎng)目標,算法課程的教學內(nèi)容主要選取遞歸與分治、動態(tài)規(guī)劃、貪心法、回溯法和分支界限等章節(jié)。同時,課堂上穿插介紹一些計算機相關(guān)領(lǐng)域的應用實例,如優(yōu)化算法、并行算法等,用以拓寬學生的專業(yè)知識面。
案例的選擇上,主要選用學生易于理解、帶有趣味性的典型案例進行講解。例如,在遞歸與分治算法章節(jié),筆者選用“青蛙過河”的案例,通過圖形化的動態(tài)顯示,幫助學生理解遞歸過程;在貪心算法章節(jié),筆者引入“聰明的阿凡提”的故事,將最優(yōu)裝載問題,背包問題融入故事中,以吸引學生的學習興趣;在動態(tài)規(guī)劃章節(jié),筆者以“探秘寶藏”為主題,將0-1背包問題、游艇租用問題和矩陣連乘等問題串聯(lián)起來,讓學生緊隨課堂教學思路,逐步理解動態(tài)規(guī)劃算法的核心思想;還有“百錢百雞”、“貨郎擔”和“連續(xù)郵資”等問題。這一個個生動案例的提出,使枯燥的算法變得生動,極大地激發(fā)了學生的學習興趣。
同時,教師應關(guān)注計算機算法的業(yè)內(nèi)發(fā)展動向,將新算法、新問題融入課堂教學之中,使學生體會到學有所用,從而達到增強學習興趣、培養(yǎng)創(chuàng)新能力的目的。
(2)采用啟發(fā)式教學,注重理論聯(lián)系實際。根據(jù)啟發(fā)式教學的基本思想,在算法課程的課堂教學中,教師應多引導學生分析不同問題間的相似性,尋找算法理論和實際問題間的切入點,從而將理論應用于實際問題。在這個過程中,學生能夠不斷思考、模擬和研究,從而變機械式教學為主動探索創(chuàng)新式教學。
課堂教學中教師應引導學生使用不同算法方法完成同一問題。例如,在解決0/1背包問題上,可以使用動態(tài)規(guī)劃法、回溯法和分支限界法完成,這樣可以加深學生對不同算法的理解,啟發(fā)學生大膽探索新的設(shè)計思路,激發(fā)學生的創(chuàng)造性,達到培養(yǎng)創(chuàng)新能力和提高教學效果的目的。在講課方式上,教師要注重探索啟發(fā)技巧,啟發(fā)并引導學生積極探索,給學生營造一個創(chuàng)新的發(fā)散思維氛圍。教學中,教師還應關(guān)注課程內(nèi)容與實際應用的密切聯(lián)系,培養(yǎng)學生發(fā)現(xiàn)問題、分析問題及解決問題的能力。
2.以學生為主體的教學活動
(1)引入學生課堂,激發(fā)學習能動性。課堂教學中長期采取教師講,學生聽的一言堂模式。這種單方面的教學活動不利于激發(fā)學生的學習積極性,教學效果往往也差強人意。
為此,我校在課堂教學中引入學生課堂模式,即變客為主,讓學生上臺講,從而激發(fā)學生的主觀能動性。教師根據(jù)教學課時,適當安排學生課堂次數(shù),讓學生自己上講臺,就某一個問題闡述自己的分析思路、解決方案,并演示最終的運行效果。為保證學生課堂的教學效果,教師可以提前幾周,布置難度分量適中的課題,通過自薦方式,挑選部分學生課下完成,并準備好匯報的PPT。在每次學生課堂的最后,教師再進行總結(jié)。
這種學生課堂的教學方式,極大地促進了學生的積極性,充分發(fā)揮了學生的主觀能動性。從我校的課堂教學效果來看,匯報的同學們認真投入;聽課的同學聚精會神,注意力高度集中。同學們都能完全融入到課堂活動中,成為課堂的主人;而老師則成為課堂教學的組織者和引導者。這種教學方式真正實現(xiàn)了課堂教學的教與學的雙向交流和互動。
(2)組建實驗小組,調(diào)動學生求知欲。以往的實驗課上常會出現(xiàn)部分學生因為不能完成實驗內(nèi)容,敷衍對待實驗課的現(xiàn)象。為此,我校算法實驗課上,筆者采取學生自由組合,組建實驗小組,分組匯報的形式。每組同學就自己的實驗報告,做詳細的說明和調(diào)試,其他組同學對其實驗進行評分。這種方式既提高了團隊的凝聚力,也刺激小組成員的求知欲,切實提高了學生算法設(shè)計與分析的能力,達到本課程的實驗教學目的。
3.以項目為主體的教學活動
(1)以實驗項目為載體,鞏固基礎(chǔ)知識。實驗是算法設(shè)計課程學習的重要環(huán)節(jié),學生只有通過實驗,才能判斷自己設(shè)計的算法是否正確,是否算得上一個較優(yōu)算法。
考慮到每個學生的能力不同,在安排實驗內(nèi)容時,教師應遵循由簡單到復雜的原則。根據(jù)學生的不同層次設(shè)計難易程度不一的程序,學生則采取自愿選擇的原則。我校算法課程的實驗內(nèi)容分為兩部分:驗證性實驗,主要結(jié)合課堂教學內(nèi)容展開,學生只需完成指定測試數(shù)據(jù)的算法正確性驗證;設(shè)計性實驗,目的是讓學生充分利用理解和掌握基礎(chǔ)理論知識,完成相對復雜的應用設(shè)計。除完成規(guī)定實驗任務(wù)外,學生可根據(jù)自己的能力,選做部分難度較大的實驗。這種多層次的實驗安排可以調(diào)動所有學生學習算法的積極性。
(2)以科研項目為載體,培養(yǎng)創(chuàng)新能力。在實際教學過程中,筆者也注意到,應用型本科院校中也有一批求知欲旺盛、進取心極強的學生,他們迫切希望向著更高層次目標奮進。如果嚴格按照傳統(tǒng)劃一的學科教學和學術(shù)標準要求他們,難以滿足這部分學生的多層次的需求。因而,筆者從教師的科研項目中,特意抽取部分與算法有關(guān)的問題,與本門課程教學內(nèi)容進行結(jié)合,形成獨立的小任務(wù),作為算法課程的綜合設(shè)計課題。學生可以選擇多人合作,共同完成課題。實踐已經(jīng)證明,這種互助合作的學習氛圍,不僅幫助能力薄弱學生的知識鞏固,也促進了高層次水平學生的能力提高,由此推動學生整體分析問題、解決問題能力的提高。
三、算法設(shè)計與分析課程的考核方法
算法設(shè)計與分析課程進行教學改革后,這門課的考試方式也不再采取過去單一的閉卷考試方式。目前,我校算法設(shè)計與分析課程的考試方式采取平時課堂學習占20%,實驗完成情況占20%,期末的大作業(yè)占50%,課題項目報告占10%的綜合考核方法。
課堂學習既包含平時的到課率,也考慮學生參加學生課堂的積極性和效果。實驗成績以最終評定的小組成績作為個人的實驗成績。期末的大作業(yè)主要以算法設(shè)計為主,教師提供難度不一的多個設(shè)計題目供學生選擇。這可以激發(fā)不同學習程度的學生自主學習、自主訓練的興趣和熱情,從而更加客觀地反映出學生算法設(shè)計與分析的能力,給出相對客觀的成績。課題項目報告的成績則以學生完成課外課題任務(wù)的質(zhì)量為評判標準。通過這四個方面的考核,可以更客觀地反映出學生的學習效果。
四、總結(jié)
本文針對應用型本科院校計算機專業(yè)算法設(shè)計與分析課程教學中存在的問題進行了探討,提出了構(gòu)建以教師為主體、學生為主體和項目為主體的分層次多維度的課程教學模式,對各個環(huán)節(jié)的具體操作形式進行了探討。通過對算法設(shè)計與分析課程的教學改革,筆者期望能夠以多種形式促進學生主動學習,培養(yǎng)學生的創(chuàng)新意識和創(chuàng)新能力,提高課程教學的質(zhì)量。實踐證明,這種三維一體的課程教學模式使這門理論性與實踐性都很強的課程獲得了良好的教學效果,不同層次學生的算法設(shè)計能力和創(chuàng)新能力在多維度的教學過程中得到鍛煉與提高。
參考文獻:
[1]王曉東.計算機算法設(shè)計與分析[M].北京:電子工業(yè)出版社,2012.
[2]秦董洪,陳智勇.算法設(shè)計與分析課程教學研究[J].計算機教育,2013,(11):98-101.
[3]陳蕾,張怡婷,許建.基于創(chuàng)新能力培養(yǎng)的算法設(shè)計與分析課程教學改革[J].計算機教育,2010,(20):27-29.
[4]鄧沌華,李源.數(shù)據(jù)結(jié)構(gòu)多層次漸進式實踐教學體系構(gòu)建[J].計算機教育,2012,(24):72-76.
[5]江家寶,鄭尚志.算法設(shè)計與分析課程實驗教學改革的研究[J].廣西教育,2011,(8):82-83.
[6]孫麗紅,葉斌.基于多元智能理論的算法設(shè)計分析教學改革[J].淮南職業(yè)技術(shù)學院學報,2012,(1):52-54.
(責任編輯:王意琴)