樓吉林,胡建華
(浙江農林大學暨陽學院 工程技術系,浙江 諸暨 311800)
算法分析課程開放式課堂教學模式探索
樓吉林,胡建華
(浙江農林大學暨陽學院 工程技術系,浙江 諸暨 311800)
分析算法分析課程當前的教學狀況,提出在算法分析課程中應用開放式課堂教學模式,根據教學實際具體說明開放式教學的幾個關鍵環節并介紹具體實施過程。
算法分析;開放式課堂;綜合評價
算法分析是計算機應用專業的學位課程,重點關注學生分析問題和解決問題的能力。這門課程通常開設在高年級,是因為它有前導課程的要求,如程序設計、數據結構等。算法分析要求在此基礎上,利用這些已學過的知識,學習和研究現有的算法,針對實際問題設計出有效的算法程序,而非單一的遞歸和暴力解決。
算法分析課程需要較強的邏輯性、抽象性和較好的數學基礎,很多學生在學習過程中感覺算法內容理解難度較大,部分學生雖然了解整個算法思想,但是無法讀懂程序偽代碼和源代碼。筆者通過長期教學觀察,總結原因大致有以下幾種:①學生對該課程的基礎知識學習不扎實;②學生對該課程重視程度不夠;③教師與學生的互動性不強,這點尤其嚴重。在課堂教學中,容易形成從教師到學生的單向灌輸情形,學生只是應付,沒有興趣主動思考,以致“課堂紀律非常好,但教師提問無人回答”。此外,雖然采用多媒體教學和信息化手段,但是多媒體課件響應速度快,超越了學生思考能力,阻礙了教師與學生之間的互動性[1]。
開放式教學模式產生于現代教學理論成果,主要是科恩的人本主義教學理論和斯皮羅的建構主義教學理論。他們的理論均強調:學習是學習者主動建構的內部心理表征過程,教師的角色是思想的“催化劑”與“助產師”。教師應把注意力放在學習者的心態(即情感與動機)變化上,而不應局限于所教的內容上,而且教師應通過教與學兩方面,實現教師和學生在教學活動中角色的轉變[2]。
教學活動包括教與學兩方面,實施開放式課堂教學的本質在于教學活動中學生和教師角色的調整。教師將從單一的知識講授者轉變為課堂組織者和內容指導者,而學生將從枯燥的被動接受者轉變為主動或者被動地參與教學活動。教學主要目的是激發學生的學習主動性和熱情,培養學生的創造力和提高學生的主動思維能力、口頭表達能力、書面表達能力和實際應用能力;中心問題就是更好地發揮學生在學習中的主動性和積極性,擺脫以往教與學脫節的痼疾,以更有效地培養學生的獨立工作和學習能力[3]。
算法分析這門課程的教材在內容編排上與其他課程大相徑庭,大部分課程的內容都是承前啟后、連續性強和內容完整,但算法分析不同,其每個章節在知識點上基本獨立,而且每章內容也只是該項知識點的入門。以文獻[4]為例,全書共8個章節,除了第1章作為算法引入講解外,其余7章自成體系,如動態規劃、貪心、回溯等,而每章的內容僅作引入,最具代表性的是圖算法這章,僅薄薄10幾頁,只是對龐大復雜的圖論知識的淺嘗而已。
教材獨特的原因在于算法分析這門課程是對前期所學多門課程的綜合運用,是為了培養學生分析問題和解決問題的能力,因此很難要求學生大而全地掌握所有算法。 筆者認為學生如果能比較好地掌握其中幾章內容(像動態規劃、圖算法),同時對其他章節有一定的了解,這樣就已經達到教學目的。
在這門課程上應用開放式課堂教學模式,主要的目的是讓學生克服畏難情緒,主動或者被動地參與教與學的過程。無論內容是困難還是簡單,如果不能真正參與學習,學生就很難學好。在該教學模式實施過程中,要注意以下幾點。
(1)開放性。①講授主體以學生為主,教師承擔指導者的角色,積極鼓勵其他學生參與,為課堂創造良好和諧的氣氛,鼓勵學生擴展思路;②講授內容不局限于教材與專業知識;③教學方式不局限于單向的講授,而需要研究師生之間的思想交流、理論與實際的結合、對問題的自由探討等。
(2)啟發性。教師應注重培養學生分析問題和解決問題的邏輯思維方式,以實現舉一反三、學以致用的教學目的;在內容講授上,不求面面俱到,而把一些問題留給學生自己獨立思考。
(3)靈活性。所采用的教學方式不拘一格,主要是依據所講課程的具體內容和施教對象的情況,分別采用講授、案例分析、專題討論等,注重對學生口頭表達能力、書面表達能力、分析問題能力和解決問題能力的鍛煉和培養。
(4)教學相長。教學過程是“教”與“學”的過程,既強調教師的主導作用,又重視學生作為施教客體的能動性,更重要的是通過“教”使學生具備獲得知識、處理各種信息以及分析和解決問題的能力。對于學生來說,通過主動性學習,更有利于發現問題和提出問題,同時也有利于提高教師教的水平。
(5)綜合評定成績。作為開放式課堂教學的一項重要配套內容,學生的成績主要分平時成績和卷面成績,而平時成績主要包括課堂表現和作業成績。死記硬背并不是這門課程應有的學習方法,努力探索和獨立思考才是學習的正途。
這些改變的主要目的:改善目前算法分析教學中教師“唱獨角戲”的現狀,基于專業學生數量不多(30~40人),鼓勵所有學生參與教與學的活動,爭取讓大部分學生對課程內容有一定的了解,部分優秀學生有較好的發展;幫助學生克服畏難情緒,通過課程的學習,提升分析問題和解決問題的能力。
開放式教學的探索主要體現在3方面:①2/3左右的理論內容由學生主講;②引導全體學生參與;③綜合考評。課程雖然只有一個學期,但是包括準備工作在內,一年為一個周期,這還不包括優秀學生的培養,整個教學過程分3個階段。
1)準備階段。
這一階段要在前一學期安排好主講的學生并準備材料。依據筆者這些年的算法分析教學實踐,鑒于該門課程的獨特性,能主講的只有幾個參與程序設計競賽的、專業相對優秀的學生。
(1)教師先規劃好要講的章節和具體的題目;
(2)提前對選好的學生進行相關內容的培訓學習(同時也為程序設計競賽作準備);
(3)在放假前,將需要主講的章節和題目分配到人,讓學生在假期間準備。
2)教學階段。
開學后,為了防止學生準備得不充分,前兩章由教師主講,大致從第4周開始,由學生擔當主講,具體從動態規劃開始。
主講學生的任務:①熟悉自己負責的章節和題目;②提前2周發送講稿(PPT課件和題目的代碼)給教師審查,修改直到通過;③具體講課時不允許讀PPT和講解代碼,必須結合黑板手寫,講解具體的例子和數字并詳細地推演每道題目。
教師的任務:
(1)課前審查和掌控學生講課的內容和進度。
(2)課堂上:①把控學生上課的進度,及時觀察其他學生的反應,保證絕大部分人能跟上節奏;② 最重要的一點,為了彌補其他學生提問的不足(或者只是在下面小聲討論),經常提出問題要求主講學生解釋(類似于論文答辯);③活躍課堂氣氛,記錄每個學生在課堂上的表現(為綜合考評作準備);④如果發現主講學生準備不足、講解錯誤等異常情況,及時糾正,無法繼續則代為講解;⑤充實課堂交流環節,引發學生間的討論,現場出題讓大家當場解決;⑥下課前總結本次課內容。
(3)上機實驗課(教師任務)。①提前準備好需要測試的題目,錄入在線評測系統;②實驗課期間,依據大家的做題情況,確定是否需要代碼講解;③個別學生指導;④在做題基礎上,要求每個學生選擇一個題目完成一份詳細的解題報告;⑤往往有學生無法在實驗課期間完成題目編程,需要課后督促這些學生。
3)綜合考評階段。
當教學進入尾聲時,學生按要求上交相應的解題報告,期末有閉卷筆試。期末最終成績的組成:平時表現(40%)+解題報告(20%)+期末試卷(40%)。
平時表現包含每位學生關于這門課程的所有表現,包括出勤、是否主講、提問、回答、作業、編碼成績、是否提出不同的觀點、是否提出新的疑問(盡管可能是錯的)等,這些在平時上課期間一一記錄在冊,其中編碼成績和新觀點、新疑問的提出占平時成績比重最多。
經過筆者這幾年的算法分析課程教學實踐,開放式課堂教學既有成果,又存在一些問題。成果是為學科競賽和學生升學就業增加了知識儲備:在學科競賽方面,僅程序設計競賽,近兩年,藍橋杯連續獲得3個國家二等獎,3個省一等獎,還有若干個省二等獎和省三等獎,浙江省大學生程序設計競賽2015年和2016年都獲得三等獎;在升學就業方面,分析問題和解決問題能力的提升是潛在的,近兩年2012級、2013級計算機專業畢業生就業率為100%,其中超過1/3的學生從事軟件開發類工作。更有意思的是考研,現在學校復試一般要求上機考,這恰恰就是平時練習的模式。
當然,實踐教學中也遇到一些問題,如主講學生準備不足、試題陳舊單一、課堂氣氛不夠活躍等,但最主要的問題在于部分學生專業基礎知識薄弱和動手編程能力不足,算法分析本質上是對前期所學知識的綜合運用,沒有扎實的基礎很難有一個好的學習效果。
[1] 胡峰, 王國胤.“算法分析與設計”教學模式探索[J]. 當代教育理論與實踐, 2011, 3(12): 72-74.
[2] 馬良華, 龔淑英, 徐艷秋. 高等教學改革的方向和開放式課堂教學[J]. 高等農業教育, 1998(3): 48-49.
[3] 馬靖, 陸培民. 大學物理實驗開放式教學模式探討[J]. 大學物理實驗, 2011(4): 102-104.
[4] 霍紅衛. 算法設計與分析[M]. 西安: 西安電子科技大學出版社, 2010.
(編輯:宋文婷)
1672-5913(2017)03-0103-03
G642
樓吉林,男,講師,研究方向為圖像識別,loujilin@139.com。