莊連生
摘 要: 結合多年教學經驗,總結“算法導論”課程教學中存在的問題,依據建構主義教育理論,提出一種以問題為主導的情境式教學方法,并給出一些采取的主要措施。教學實踐表明,該教學方法可以有效強化算法導論課程的教學效果,有助于培養學生分析問題和解決問題的能力。
關鍵詞: 算法導論 教學方法 建構主義
一、引言
計算機算法在計算機科學和計算機應用中處于核心地位。通俗地說,算法是指解決問題的方法,定義了計算機指令執行的邏輯過程。雖然實際問題無窮無盡,但是許多問題都可以歸結為一些基本問題(如排序問題)。對這些基本問題的研究,便得到了各種經典的計算機算法。在算法研究過程中,逐漸形成了一些具有參考價值的理論和方法,可以用于指導和幫助算法的設計,并用于分析所設計算法的性能。算法導論課程的主要目標是,通過學習經典計算機算法,掌握常用的算法設計方法和分析手段,培養學生分析問題和解決問題的能力。算法導論課程是國內外各高校計算機科學與技術及相關專業的核心課程,但由于課程內容的抽象性,學生普遍反映難學,傳統教學方法效果一直不好。因此,有必要探索有效的課程教學模式和教學方法,幫助學生更好地掌握課程內容,實現核心教學目標。筆者根據教授這門課程的教學經驗,總結教學中存在的問題,探討相應的改進措施,期望對同行有所幫助。
二、教學中存在的問題及原因
算法導論課程是多數高校的計算機科學及相關專業的核心課程。該課程通常被安排在《數據結構》課程之后,作為高年級本科生或研究生的專業核心課程。目前多數教學方法是,以經典算法設計思路和策略為基本知識單元,先介紹各種算法設計和分析方法的核心思想,然后以經典算法為例強化理解。此種教學方法帶來的好處是,教學脈絡清晰,授課組織非常方便。但是,教學效果一直都不理想。學生普遍反映難以理解各類方法的思想精髓,碰到新的問題還是無從下手,無法學以致用,導致學習積極性不高,甚至消極厭學。究其原因,我們發現存在如下幾個問題:
1.課程內容太抽象,缺乏實際應用場景。在現有教學法中,課程內容主要圍繞著各種用于算法設計和分析的成熟方法來組織,側重于對方法本身的介紹。但是,這些方法都是在算法研究過程中抽象出來的,已經脫離了實際應用背景,學生必須依靠自身的抽象能力來構建方法的應用場景。顯然,對于缺乏算法研究經歷的同學來說,這無形中增加了課程學習的難度。
2.授課過程屬于單向過程,學生缺乏主動思考的過程,互動性不強。在現有教學方法中,教師處于知識傳播者和輸出者的地位,學生屬于知識的被動接受者。這種角色定位導致學生只是機械地記憶相關方法,很少主動考慮各類方法出現的背景和可能的應用場景。尤其是多媒體教學手段的廣泛采用,使得教師的講課速度大大提高,學生更加缺乏主動思考的時間。課堂上,學生參與程度不高,導致其學習積極性不高。
3.課程考核方式不盡合理,導致學生重理論輕實踐。現有教學方法一般采用作業、實驗、考試三者相結合的方法考核學生的學習效果。作業和考試偏重于對理論知識掌握程度的考核,實驗側重于對學生動手能力的考察。但是,由于作業和考試的分值比較高,導致許多學生側重于理論學習,忽略對知識內容的實際應用能力。這種考核方式雖然方便對學習效果實行量化考核,保證一定的公平性,但阻礙了對學生分析問題和解決問題能力的培養。
三、以問題為導向的情境式教學方法
針對上述問題,基于建構主義教育理論,本文提出了以問題為主導的情境式教學方法。其核心思路可概括為:以學生為教學中心,在整個教學過程中由教師起組織者、指導者、幫助者和促進者的作用,利用情境、協作、會話等學習環境要素充分發揮學生的主動性、積極性和首創精神,最終達到使學生有效地實現對當前所學知識的意義建構的目的。新的教學方法摒棄“以教師為中心”的傳統模式,教師在課堂上主要提供問題原型,指導和幫助學生積極探索。學習是獲取知識的過程,也是解決問題的過程。教學理念的改變,促使教學方法必須跟著改變。主要采取了如下措施:
1.改變課程組織方式,由以經典算法設計思路和策略為基本知識單元,變為以實際問題為基本授課單元。構建一系列特定場景,讓學生直面需要解決的問題,引導他們積極主動探索可能的解決方法。在探索過程中,主動學習各種經典算法、算法設計和分析方法。從問題出發,教學內容將不再那么抽象,知識與學習的情境及學習者帶入這一情境的經驗有密切關系。
2.改變課程授課方式,由以知識點講授為主,變為以問題的分析和討論為主。教師并不直接告訴學生應當如何解決面臨的問題,而是引導學生像領域專家那樣思考問題并參與討論,在討論中設法把問題一步步引向深入,以加深學生對所學內容的理解,最終啟發和誘導學生自己發現規律、糾正和補充錯誤的或片面的認識。在新的授課方式中,學生是課堂討論的主體,知識獲取主要通過學生之間的相互協作和討論完成。對于相同問題,不同觀察視角導致對相同問題有著不同的理解。不同觀點的碰撞,有助于學生對所學內容更加全面和深入地認識,培養學生的發散思維。
3.改變學習效果評價方式,由以獨立的考試測驗為主,變為以解決實際問題為主。建構主義理論的重要觀點就是,學習過程就是解決問題的過程。對于學習效果的評價,主要依據學生在分析和解決問題中的表現。在實際操作中,可以采用課程項目為主的考核方式,鼓勵學生獨立或者協作完成課題項目,通過項目完成情況評估其學習效果。項目完成情況的評估不僅僅看其最終結果,更要看其在解決問題過程中對相關知識的運用情況。
四、結語
針對現有《算法導論》課程教學中存在的問題,基于建構主義教育理論,本文探索了以問題為導向的情境式教學方法,以強化課程教學效果。教學實踐表明,該教學方法可以強化課程的教學效果,有助于培養學生分析問題和解決問題的能力。
參考文獻:
[1]David Jonassen et al.Constructivism and Computer-MediatedCommunication in Distance Education[J].The American Journal of DistanceEducation,Vol.9 No.2,1995.
[2]張建偉,陳琦.從認知主義到建構主義[J].北京師范大學學報(社會科學版),1996(4).
[3]何克抗.建構主義——革新傳統教學的理論基礎(一)[J].教學學報,1998(3):12-16.
[4]李建忠.《算法設計與分析》課程教學模式探索[J].現代計算機月刊,2014(14):24-26.