彭文藝
摘 要:本文針對獨立學院程序設計實踐教學中所遇到的種種問題,依據(jù)循序漸進、逐步求精的原則,提出漸進式案例驅(qū)動教學方法,重點闡述了將實驗任務分解為基礎、理解、應用和擴展四個層次,學生通過“臨”、“仿”、“寫”、“編”四個環(huán)節(jié)完成實驗內(nèi)容,從而逐步提高學生編程能力和程序設計思維能力。
關鍵詞:程序設計實踐教學 漸進式案例 驅(qū)動教學方法
中圖分類號:G642 文獻標識碼:A 文章編號:1674-2117(2014)18-00-02
1 前言
程序設計課程已成為高等院校的公共基礎課程,也是從事軟件編程專業(yè)人員的啟蒙課程。其教學對學生今后的程序設計技術、技巧、風格和習慣將產(chǎn)生深遠的影響,也對學生后續(xù)課程的學習和就業(yè)都起到了至關重要的作用。程序設計又是一門實用性很強的課程,切實加強實踐教學環(huán)節(jié),重視對學生的自主學習和創(chuàng)新能力的培養(yǎng),對提高程序設計課程的教學質(zhì)量具有重要的意義。獨立學院由于其獨特的教學模式和管理體制,所以在實踐教學過程中存在一些比較突出的問題如學生的學習能力不強、學習氛圍的營造效果不好、教學資源的欠缺等。學生在驗證型實驗時“吃不飽”,在應用型實驗時“吃不下”,久而久之,學生就會對這門課程產(chǎn)生抵觸情緒,最終導致出現(xiàn)遲到、曠課現(xiàn)象。
2 現(xiàn)有的實踐教學中存在的問題
程序設計課程實踐教學中存在的問題主要表現(xiàn)在以下幾個方面:
(1)學習程序設計課程需要較強的邏輯思維能力,而該課程一般在大一年級中開設,大一學生以前大都未接觸過程序,學習起來有一定的難度。在學習初期,學生出于好奇心,急于想使所寫的程序能夠得出正確的結(jié)果,但是程序總是出現(xiàn)這樣或那樣的問題,學生又不能夠自己解決,漸漸失去了耐性,最后就會選擇放棄。
(2)在中學階段,學生很少有自我學習、自我評價的機會,大學教育和中學教育有很大不同,學生進入大學后,若仍然使用中學的學習方法自然達不到好的效果。再加上目前考試分數(shù)是評價學生課程學習好壞的主要指標,大多數(shù)學生平時不會主動學習,而是寄希望于考試前的突擊復習和教師的“劃范圍”??上攵瑢W生學習目標的偏移導致學習的主動性和自覺性的喪失,學習效果自然不好。
(3)當前在高等院校程序設計實踐教學中大都是合班上課,少則三個班將近100人,多則四個班近130人。眾所周知,該課程要求很強的實踐動手能力,學生在實驗過程中容易出現(xiàn)問題,需要教師現(xiàn)場指導,而面對這么多的學生,教師是不可能為每個學生作現(xiàn)場指導的。
(4)程序設計實驗內(nèi)容一般是由驗證型實驗和應用型實驗組成,驗證型實驗一般是教材中的例子,學生只要把程序代碼輸入計算機,進行簡單地調(diào)試就可以得到結(jié)果,用不著去查找資料、思考和創(chuàng)新,編譯出現(xiàn)錯誤時不是根據(jù)錯誤提示查找原因,而是與書上的程序進行比較,改正錄入的錯誤。應用型實驗一般是課后的編程作業(yè),由于沒有程序代碼,大多數(shù)學生不知道怎么寫,從哪條語句開始寫。這樣導致了學生在驗證型實驗時“吃不飽”,在應用型實驗時“吃不下”,從而不利于學生對知識點的深刻理解和掌握,不利于培養(yǎng)學生發(fā)現(xiàn)問題、分析問題、解決問題的研究能力和創(chuàng)新能力。
3 漸進式案例驅(qū)動教學方法
(1)在選取實驗任務時,將每個實驗任務可以分解為基礎、理解、應用和擴展四個層次?;A實驗給出詳細的實驗步驟和程序代碼以及程序的功能;理解實驗給出與基礎實驗程序功能相似的部分程序代碼,其他的代碼需要學生自己補充;應用實驗不給出任何程序代碼,要求學生編寫與理解實驗程序功能相似的程序;擴展實驗不給出任何程序代碼,要求學生運用相同的知識點編寫程序以解決實際問題。
(2)學生在實驗時,通過“臨”、“仿”、“寫”、“編”四個環(huán)節(jié)完成實驗內(nèi)容。
①“臨”:就是臨摹。就是完成“基礎”實驗內(nèi)容,學生將已編寫好的程序代碼輸入計算機,編譯運行,分析結(jié)果。在此期間,學生不必追求過多細節(jié),只要求感性認識,知道程序就是這樣運行的。通過編輯、編譯、鏈接、運行以及輸入的修改感受人機對話的變換,使學生能夠基本理解各種語句的特點和功能。
②“仿”:就是模仿。就是完成理解實驗內(nèi)容,學生模仿基礎實驗程序中的某些語句,將理解實驗程序代碼補充完整,輸入計算機,編譯運行,分析結(jié)果。在此期間,學生需要考慮語句該怎么寫,就會自覺地重視語句格式以及細節(jié)。通過調(diào)試、運行和輸入的修改感受人機對話的變換,使學生能夠深刻地理解各種語句的特點和功能。
③“寫”:就是仿寫。就是完成應用實驗內(nèi)容,學生模仿理解實驗程序結(jié)構(gòu),編寫整個程序,輸入計算機,編譯運行,分析結(jié)果。在此期間,學生需要考慮整個程序的結(jié)構(gòu),各條語句之間的關系,就會自覺地重視程序中算法及算法設計思想。通過調(diào)試、運行和輸入的修改感受人機對話的變換,使學生能夠基本掌握程序中的算法和領悟程序設計思想。
④“編”:編寫程序。就是完成擴展實驗內(nèi)容,學生利用基礎、理解、應用實驗案例中有關程序結(jié)構(gòu)和算法的知識獨立的編寫程序來解決一些實際問題。在此期間,學生就需要分析問題、設計數(shù)據(jù)結(jié)構(gòu)和算法,就會自覺地重視算法的應用。通過調(diào)試、運行和輸入的修改感受人機對話的變換,使學生能夠掌握算法的設計思想以及靈活地運用。
(3)教師在實驗教學過程中要求學生必須完成實驗中基礎、理解、應用實驗內(nèi)容,鼓勵學生完成擴展實驗內(nèi)容。在做前三個實驗內(nèi)容遇到問題時,由于實驗內(nèi)容相對來說比較簡單,鼓勵學生之間相互解決,這樣不僅可以緩解由于學生人數(shù)多教師指導不過來的矛盾,同時發(fā)揮了學生的主觀能動性,讓學生處于主導地位,提高了學生的積極性。教師重點解答在“擴展”實驗時學生出現(xiàn)的問題。在實驗教學的最后階段,教師詳細地講解“擴展”實驗內(nèi)容。
4 結(jié)語
程序設計是一門實踐性比較強的課程,由于獨立學院特殊的教育氛圍,在學生學習能力和師資力量的約束下,教師更應該找到合適的實踐教學方法,這樣才能培養(yǎng)學生的編程能力和程序設計思維能力,真正實現(xiàn)在實踐教學中培養(yǎng)學生分析問題與解決問題的能力和創(chuàng)新能力的目的。
(華中科技大學武昌分校,湖北 武漢430064)
參考文獻:
[1]王巍.高級語言程序設計課程教學方法探析[J].計算機教育,2012(8):45-46.
[2]張振榮.淺析獨立學院C語言課程教學改革[J].計算機光盤與應用,2012(20):286-287.
[3]劉智琦,劉琦,徐奕奕.非計算機專業(yè)程序設計實驗教學研究[J].科技信息,2011(15):153.endprint