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