董永生 鄭林濤 劉森 王琳
摘?要:為了使計算機科學與技術專業的學生從本科階段具有良好的算法設計思維和能力,本文提出了問題驅動的遞進啟發式教學方法。本文的撰寫目的不是為了提供高大上的理論上的教學方法,而是給出一種具體的、可操作的教學方法,即,本文分別以分治法、動態規劃和貪心算法為例,對該問題驅動遞進啟發式教學方法進行了描述。問題驅動遞進啟發式教學方法是通過直觀的問題驅動,以遞進的方式,對學生進行問題啟發和算法啟發,以提高學生的算法直觀分析和設計能力。
關鍵詞:算法設計與分析;問題驅動的遞進啟發式教學;分治法;動態規劃;貪心算法
算法設計與分析是普通高校計算機科學與技術專業的核心基礎課程,算法設計與分析課程一直是大多數本科生比較苦惱的一門專業課程。圖靈獎得主Donald?E.Knuth曾說:計算機科學就是算法研究[1]。事實上,計算機科學每個領域的發展都要靠有效的算法設計。作者在教學過程中一直選用的教材是王曉東教授編著的《計算機算法設計與分析》[2],因此本文的很多描述都是以該教材作為基準。由于該課程需要較多的數學知識,因此有相當一部分學生對該課程有恐懼感,學習興趣不高。另外,該課程是計算機科學與技術專業大學二年級的必修課,一般選課人數較多。為了提高學生們對該課程的學習興趣和對課程中主要算法的掌握能力,本文提出了問題驅動的遞進啟發式教學方法。……