王彥群,劉付勇
(塔里木大學信息工程學院,阿拉爾 843300)
《算法設計與分析》課程教學方法改革探究
王彥群,劉付勇
(塔里木大學信息工程學院,阿拉爾 843300)
針對傳統教學方法不能取得較好教學效果的問題,提出階段式的多元化教學法。該方法在《算法設計與分析》課程教學中的實施,極大提高學生的興趣和實踐能力,是值得借鑒和推廣的教學方法。
算法設計;基于問題的教學法;任務驅動教學法;案例教學法;分組討論法
《算法設計與分析》是計算機、信息與計算科學、信息安全和系統工程等專業的一門重要專業課。該課程旨在通過對計算機算法的學習,使學生掌握算法設計及復雜性分析方法,培養學生分析問題、解決問題的能力[1]。
該課程是一門實踐性、技能性很強的課程,主要依靠理解與實踐,并加以靈活應用。但在教學過程中較多的學生對該門課程掌握的情況并不理想,一方面源于學生知識學習深度不夠,另一方面源于教師缺乏有效的教學方法和手段。為取得較好的教學效果,任課教師必須具有較強的理論基礎和實踐技能,同時又要不斷探索改進教學方法。
常用的教學方法有講授法、基于問題的教學法、任務驅動教學法、案例教學法、項目教學法、分組討論法等。
講授法是以語言傳遞為主的教學方法;基于問題的教學法是把教學內容設計成問題,教師引導學生帶著問題學習,探討問題解決的教學方法;任務驅動教學法是把教學內容設計成任務,由教師指導、學生主導來完成任務的教學方法[2];案例教學法是通過對具體實例的演示、講解,讓學生對案例進行分析、討論、交流,達到認知學習目標的一種啟發式教學方法[3];項目驅動教學法是案例教學法的基礎上采用“案例導向、項目驅動”的教學方法[4],通過項目的形式進行教學,由教師指導、學生獨立完成相對獨立的項目。分組討論法將學生分成若干小組,教師提出一個具體問題或方案,由學生以組為單位,進行討論、分析和解決[5]。以上教學方法各有優點,但在教學中需要綜合實施多種教學方法才能達到好的效果。
根據以上教學方法分析,筆者提出階段式多元教學法。階段式多元教學法是將教學任務劃分為多個階段,有步驟地進行,每個階段的目標明確,并且根據各階段內容特點融合多種教學法的一種方法。
2.1 算法設計與分析課程教學內容分析
根據《算法設計與分析》課程教學大綱的要求,本課程具體教學內容包括算法基本概念與分析方法、蠻力法、分治法、減治法、動態規劃法、貪心法、回溯法、分
支限界法、概率算法、近似算法、計算復雜性理論等[6]。我們根據《算法設計與分析》課程教學內容,融合以上幾種教學方法,同時把課程理論知識部分輔以教學網站實施,并注重學生主體性,提出階段式多元化教學法。
2.2 基于階段式多元化教學法的算法設計與分析課程教學安排
在實際教學過程中,我們根據教學內容把整個教學環節劃分為基礎學習階段、進階學習階段、拓展學習階段3個部分。基礎學習階段側重基本知識點的掌握,只有通過了基礎學習階段才能進入進階學習階段,拓展學習階段的內容大多屬于選修內容,在課時充裕的情況下可以教授。
其中基礎學習階段的內容包括算法基本概念與分析方法、蠻力法、分治法、減治法;進階學習階段的內容包括動態規劃法、貪心法、回溯法、分支限界法;拓展學習階段包括概率算法、近似算法、計算復雜性理論。我們在各階段靈活運用多元化教學法,其中基礎學習階段主要采用講授法、案例教學法、任務驅動教學法,并把教學網站發布出去,供學生學習和復習;進階學習階段主要采用案例教學法、分組討論法、任務驅動教學法;拓展學習階段則主要采用基于問題的教學法、分組討論法、案例教學法。這幾個階段是連續的,預示著學習環節由初級到高級的過程。每個階段用到的教學方法也并會根據教學內容靈活使用。具體的教學環節安排詳見表1。

表1 算法設計與分析課程教學環節安排
《算法設計與分析》主要是講授計算機應用中經常遇到的實際問題的各種解法,講授各種算法的基本思想、方法與技術,旨在培養學生分析問題和解決問題的能力。為此,筆者精心設計了階段式多元化教學法,以期獲得良好教學效果。
3.1 基礎學習階段
基礎學習階段的教學內容相對基礎、容易理解,內容包括動態規劃法、貪心法、回溯法、分支限界法。采用講授法,能讓學生短時間內獲得本課程的性質、地位、作用、學習方法,算法基本概念與分析方法等知識,為以后的學習指明方向。在講解蠻力法、分治法、減治法時,采用案例教學法和任務驅動教學法結合的方法。例如,講解蠻力法時,拋出案例:旅行商問題,即TSP問題(Travelling Salesman Problem)又譯為旅行推銷員問題、貨郎擔問題,是數學領域中著名問題之一。假設有一個旅行商人要拜訪n個城市,他必須選擇所要走的路徑,路徑的限制是每個城市只能拜訪一次,而且最后要回到原來出發的城市。路徑的選擇目標是要求得的路徑路程為所有路徑之中的最小值。
教師通過對TSP問題講解和實驗演示,讓學生對蠻力法的特點進行分析、討論、交流。然后把查找問題中的順序查找、串匹配以及排序問題中的選擇排序、冒泡排序等,設計成任務,由教師指導、學生主導用蠻力法來完成。
3.2 進階學習階段
進階學習階段的教學內容相對難理解,內容包括動態規劃法、貪心法、回溯法、分支限界法。采用案例教學法、分組討論法、任務驅動教學法。
例如,講解動態規劃法時,拋出案例:0/1背包問題,即給定n種物品和一背包,物品i的重量是wi,其價值是pi,背包的容量是M,問如何選擇裝入背包中的物品總價值最大?
教師通過對0/1背包問題講解和實驗演示,讓學生對動態規劃法的特點有所了解,然后3人或4人一組對動態規劃法的解題思路和步驟進行討論、交流。由各小組代表發言,回答同學們的各種提問,教師進行總結。最后把查找問題中的最優二叉查找樹、近似串匹配以及圖問題中的TSP問題、多段圖的最短路徑等,設計成任務,由教師指導、學生主導用動態規劃法來實現。
3.3 拓展學習階段
拓展學習階段的教學內容屬于選修內容,包括概
率算法、近似算法、計算復雜性理論。采用基于問題的教學法、分組討論法、案例教學法。例如,講解近似算法時,拋出問題:TSP問題的時間復雜度是多少,有沒有其它降低時間度的解決辦法?然后小組討論,由各小組代表發言,學生代表覺得指數時間內求解的問題,轉化成多項式時間內求解決最好。教師給予贊許,接著介紹近似算法,它是處理難解的組合優化問題的一個非常重要和有效的方法。它可以在多項式時間內求得問題的一個解,并使其目標函數值與最優解的目標函數值之比不超過一個常數。
教師舉出TSP問題、頂點覆蓋問題用近似算法求解的案例,學生對近似算法有了一定的認識。最后,教師讓學生再討論,以前我們遇到的問題,哪些可以用近似算法實現,并給出解題步驟。
通過這些方法的綜合應用,拓展學習階段也達到教好的教學效果。
階段式多元化教學法在2015級軟件工程班實施后,教學效果顯著。學生學習的積極性、學習能力和動手實踐能力有了很大提高。藍橋杯程序設計大賽的獲獎率比上屆提高了10%以上。可見,階段式多元化教學法教學效果良好,值得推廣使用。作為高校教師,要不斷探索、創新有益教學方法,使學生滿意、受益。
[1]李建忠.《算法設計與分析》課程教學模式探索[J].現代計算機,2014(7):24-26.
[2]李華,張俊星,謝輝.一種計算機網絡課的教學方法設計[J].計算機教育,2012(1):72-74.
[3]吳剛.數據庫原理課程教學改革探討與實踐[J].科技信息,2013(12):10.
[4]司春景,李向陽.基于多元教學模式的“軟件工程”課程改革研究[J].中國電力教育,2013(7):98-100.
[5]賈虹.淺談英語專業教學中商務知識的導入方法[J].佳木斯大學社會科學學報,2007,25(2):162-163.
[6]王紅梅.算法設計與分析[M].第2版.北京:清華大學出版社,2013.
Exploration of the Reformation on Algorithm Design and Analysis Course Teaching Method
WANG Yan-qun,LIU Fu-rong
(College of Information Engineering,Tarim University,Alaer 843300)
Aiming at the problem that traditional teaching method can't get better teaching effect,puts forward the diversified method of stage based. This method has greatly improved the students'interest and practical ability in Algorithm Design and Analysis course,it is a teaching method which is worth learning and promotion.
Algorithm Design;Problem Based Teaching Method;Task Driven Teaching Method;Case Teaching Method;Group Discussion Method
1007-1423(2016)30-0015-03
10.3969/j.issn.1007-1423.2016.30.004
塔里木大學校長基金項目(No.TDZKQN201616)、新疆南疆農業信息化研究中心項目(No.TSAI201402)
王彥群(1982-),男,湖北襄陽人,講師,碩士,研究方向為軟件工程、農業信息化
劉付勇(1985-),男,講師,碩士,研究方向為計算機網絡、農業信息化,E-mail:417416506@qq.com
2016-09-08修稿日:2016-10-16