劉井蓮,趙衛(wèi)績,楊 輝,吳亞明
(綏化學院 信息工程學院 ,黑龍 江綏化 152061)
傳統(tǒng)的C程序設計課程多以C語言程序設計命名,作為一門計算機語言學習來講授,以學習C語言的語法為重點,以全面掌握C語言的各種語法為教學目標.傳統(tǒng)教學方法注重知識學習,忽視能力培養(yǎng),在應用型人才培養(yǎng)過程中存在著三個不容忽視的問題:①以學習知識為目標,忽視培養(yǎng)程序設計能力;②追求語法體系的完整性,忽視了知識點存在常用和不常用的區(qū)別,平均用力,學生對常用的知識點掌握得不扎實;③沒有將知識作為能力培養(yǎng)的載體,讓學生在實踐中真用所學知識解決問題,培養(yǎng)程序設計能力.即在為什么教、教什么、怎么教三個問題上不適用于應用型人才的培養(yǎng).這些問題吸引很多學者進行了研究[1,2],取得很多有價值的成果.在我?!耙岳碚撝R夠用、有用為原則,在實踐中真用所學知識解決問題”的應用型專業(yè)課程改革指導意見的指導下,提出以動式教學理念為原則,以能力培養(yǎng)為目標,改進教學方法,引導學生主動學習,以夠用知識為載體,強化課程實驗,在實例和實驗中真用所學知識解決問題,培養(yǎng)學生的專業(yè)技術能力的課程建設指導思想.經過教學實踐,解決了應用型程序設計課程為什么教、教什么、怎么教三個問題,在文獻[3,4]的基礎上,完成了從講授知識到培養(yǎng)能力的轉變.
在“用”為核心,在“教”方面充分發(fā)揮教師的主導作用,在“學”方面發(fā)揮學生的主體作用.“教”體現(xiàn)在“為什么教、教什么、怎么教”,“學”體現(xiàn)在尊重學生的學習能力,認可其存在的個體差異,由“教了多少”向“學生學會多少”轉變;“用”體現(xiàn)在“從應用中來,到應用中去”,即教師在應用程序設計完成科研項目的過程中提煉出常用知識點,以夠用知識(最少的常用知識點的集合)為載體,學生在實例、實驗、競賽中應用所學知識解決問題,教師在科研項目中應用這些知識解決問題.
該課程的教學目標是培養(yǎng)學生的計算思維和程序設計能力,能夠利用主流軟件開發(fā)工具獨立進行小型程序設計.教學目標直接對應專業(yè)技術能力,根據教學目標組織教學內容.
堅持“從應用中來”的課程建設方法,重組教學內容,教學內容來源于教師完成科研項目的過程中提煉出的常用知識點,以常用知識點的最小集合為教學內容,學生在實例、實驗、競賽中應用所學知識解決問題,教師在科研項目中應用這些知識解決問題,在應用中完成知識更新.從傳統(tǒng)教學中講授的48個知識點中,選擇了33個常用知識點作為教學內容,將節(jié)省的學時用于課程實驗,讓學生運用知識解決問題,培養(yǎng)了學生程序設計與實現(xiàn)的能力.知識點要求變化情況如表1.
表1 知識點要求變化情況
(1)15個知識點不講.4個傳統(tǒng)要求為了解的知識點不講,3個傳統(tǒng)要求為理解的知識點不講,8個傳統(tǒng)要求為掌握的知識點不講.其中第一類為很簡單不講也會,如運算符和表達式、關系運算符和關系表達式、邏輯運算符和邏輯表達式、條件運算符和條件表達式;第二類為很難且極不常用,如函數(shù)的嵌套調用、函數(shù)的遞歸調用、指向函數(shù)的指針、C文件、字符數(shù)組;第三類為知識太抽象,不適合初學者理解,如算法概述、算法的特征、算法表示方法、結構化程序設計方法.
(2)3個知識點后講.3個傳統(tǒng)要求為掌握的知識點后講,原因是數(shù)據類型中先講整型,如果馬上與字符型、浮點型一起講,涉及知識點多,不利于初學者短時間接受.當初學者學會整型后,再學習字符型、浮點型就很容易了.
(3)3個知識點改為了解.循環(huán)的嵌套、局部變量和全局變量在初學階段不易掌握,要求降低為了解;switch語句的作用完全可以用之前學過的if語句實現(xiàn),且較if不常用,由掌握降低為了解.
(4)5個傳統(tǒng)要求為掌握的知識點改為理解.break、continue、二維數(shù)組等五個知識點傳統(tǒng)要求為掌握,這5個知識點難度較高,而且不經常用,實際教學中學習掌握的不夠理想,因此降為理解.
(5)1個傳統(tǒng)要求為了解的知識點改為掌握.返回指針值的函數(shù),在數(shù)據結構中經常出現(xiàn),是C語言的一把利器,因此改為掌握.
(6)5個傳統(tǒng)要求為理解的改為掌握.強化了函數(shù)與指針兩部分在傳統(tǒng)中要求為理解的內容.
通過多年教學實踐,探索出在理論課堂上以實例教學為主要教學方法,輔以討論式教學,完成理論知識的講授;在課程實驗中,編寫實驗指導書,強化課程實驗,減少驗證性實驗,增加設計性實驗,讓學生運用所學知識解決問題,培養(yǎng)其程序設計能力,完成從傳授知識到培養(yǎng)能力的轉變.
(1)實例教學法.實例教學法是將抽象的理論知識貫穿于一個完整的實際例子中,通過實例介紹語法、難點,避免了學生因感覺枯燥和畏難而產生厭學情緒.有關實例教學法的詳細介紹,可參考文獻[3].相對于傳統(tǒng)教學,實例教學法的教學作用主要表現(xiàn)在以下兩點:
一是,貫穿、融合知識點的作用.通過一個實例將單個的知識點連接起來,不僅使學生掌握了關鍵技術,還使學生了解技術的應用場合和情境.
二是,學以致用的作用.實例教學法改變了傳統(tǒng)的以教材為中心的教學模式,而是以典型實例為中心,教學的重點由淺入深、層層深入分析講解典型的、突出重點的、突破難點和針對性的實例.使學生感受到所學知識在實例中的應用,體現(xiàn)了的學以致用的作用.
(2)討論式教學.討論式教學強調在教師的精心準備和指導下,為實現(xiàn)特定的教學目標,通過預先的設計與組織,啟發(fā)學生就特定問題發(fā)表自己的見解,以培養(yǎng)學生的獨立思考的能力和創(chuàng)新精神.在教學過程中分別在函數(shù)、指針兩部分內容開展討論式教學.通過開展討論式教學,引導學生開放式思考問題,鍛煉了學生查閱資料、自學能力,使學生在自主學習過程中掌握了知識點.
在我校2011級電氣信息類專業(yè)的程序設計課程進行教學改革,成效顯著,提高了學生的學習主動性,同學們自主組成學習團隊,獲得了本專業(yè)唯一的一個校級大學生創(chuàng)新活動項目,學生的程序設計能力明顯提高.該年級學生在第四屆藍橋杯全國軟件設計大賽選拔賽中獲得了一個二等獎,二個三等獎的好成績.這也說明了以能力培養(yǎng)為導向的程序設計課程的教學改革是可行的.
參考文獻:
[1]張素芹,吳連生.獨立學院“C語言程序設計”教學改革實踐[J].計算機教育,2010(14):21-22.
[2]馮玉芬,馬寧.C程序設計教學方法研究[J].教育探索,2008(5):62-63.
[3]趙衛(wèi)績,劉井蓮,樊守芳.實例教學法在C語言循環(huán)結構教學中的應用[J].通化師范學院學報,2012,33(2):58-60.
[4]劉井蓮,趙衛(wèi)績,樊守芳,等.C語言實踐教學改革與探索[J].綏化學院學報,2012,32(4):170-171,