馬春華 趙衛(wèi)績 劉井蓮 孫曉霞
[摘要]緊扣C++程序設(shè)計(jì)課程的特點(diǎn),以市場需求為導(dǎo)向,探討C++課程的教學(xué)準(zhǔn)備及教學(xué)實(shí)踐,通過開展基于項(xiàng)目的學(xué)習(xí),在教學(xué)過程中培養(yǎng)學(xué)生的編程能力。
[關(guān)鍵詞]C++ 教學(xué)實(shí)踐 教學(xué)準(zhǔn)備
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0420127-01
隨著高等教育的快速發(fā)展,每年的計(jì)算機(jī)專業(yè)畢業(yè)生成倍的增長。就業(yè)壓力逐年遞增,怎樣提高學(xué)生的競爭能力成為我們思考的問題。隨著軟件開發(fā)技術(shù)的發(fā)展,越來越多的企業(yè)都選擇使用C++ 及其相關(guān)技術(shù)來構(gòu)建應(yīng)用系統(tǒng)。目前,無論國外還是國內(nèi),C++技術(shù)人才短缺,薪金待遇極為豐厚。程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的一項(xiàng)基本技能[1],我們國內(nèi)許多高等院校都開設(shè)了C++課程,但是學(xué)生的程序設(shè)計(jì)能力并不樂觀。很多畢業(yè)生對于畢業(yè)設(shè)計(jì)的開發(fā)尚有困難,更何況勝任一份程序員的工作。學(xué)生之所以不會(huì)寫程序,除了與學(xué)生自身努力程度有關(guān)之外,更主要的是我們在程序設(shè)計(jì)教學(xué)中存在著一定的問題。傳統(tǒng)的單向灌輸式教學(xué)模式已不能適應(yīng)教學(xué)的需要。因此針對C++程序設(shè)計(jì)的特點(diǎn),應(yīng)以市場需求為導(dǎo)向,堅(jiān)持課程特點(diǎn)與學(xué)生特點(diǎn)相結(jié)合,加強(qiáng)實(shí)踐教學(xué),提高程序設(shè)計(jì)的能力。在教學(xué)中我們應(yīng)注重激發(fā)學(xué)生學(xué)習(xí)興趣,提高學(xué)生在真實(shí)情景中解決問題的能力與創(chuàng)新能力,提升學(xué)生的綜合能力。我們需要研究、探討新的教學(xué)模式、教學(xué)方法。
一、C++教學(xué)準(zhǔn)備
根據(jù)C++ 程序設(shè)計(jì)課程特點(diǎn)及學(xué)生特點(diǎn),把握好重點(diǎn)、難點(diǎn)和課時(shí)分配,制定符合實(shí)際的教學(xué)內(nèi)容、教學(xué)大綱、實(shí)驗(yàn)大綱以及達(dá)到的預(yù)期目標(biāo);選擇符合學(xué)生特點(diǎn)的實(shí)驗(yàn)指導(dǎo)書,即具體的實(shí)驗(yàn)內(nèi)容;采用有效的教學(xué)方法和教學(xué)手段;制定科學(xué)的考核方式和考核標(biāo)準(zhǔn),都是影響教學(xué)效果的主要因素。
(一)培養(yǎng)理念。半年需要近萬元學(xué)費(fèi)的培訓(xùn)公司之所以能生存下來,主要因?yàn)榕嘤?xùn)公司教給了學(xué)員軟件開發(fā)技能。因此我們非常有必要虛心吸收企業(yè)的培訓(xùn)理念和培訓(xùn)方案,我們也要從學(xué)生入學(xué)的那天起,就要為學(xué)生走出學(xué)校大門,順利跨入IT職場的那一刻做準(zhǔn)備,倡導(dǎo)“理論夠用,實(shí)戰(zhàn)為重”和“以出為主,注重實(shí)效”的培養(yǎng)理念。
(二)教學(xué)原則。針對目前程序開發(fā)人員需求量大的情況,高校決不能扮演編程速成班的角色,好的程序開發(fā)人員是要有一個(gè)完整的學(xué)習(xí)周期,循序漸進(jìn)、由淺入深。因此,我們應(yīng)踏踏實(shí)實(shí)地按照一個(gè)原則來組織教學(xué),那就是精講多練,精講是指老師精講C++中的實(shí)用技術(shù)和典型實(shí)例。多練,是指學(xué)生要多練習(xí)編程,只有自己動(dòng)手編程越多,程序才能編的越好。
(三)教學(xué)內(nèi)容。把握好教學(xué)內(nèi)容,是培養(yǎng)學(xué)生編程能力的基礎(chǔ)。C是C++的基礎(chǔ),面向?qū)ο蟪绦蛟O(shè)計(jì)的三大特點(diǎn):封裝、繼承、多態(tài)是C++課程的主要內(nèi)容;也要涉及到標(biāo)準(zhǔn)模板庫STL、微軟基礎(chǔ)類庫MFC。尤其是STL,自1998年,ANSI/ISO C++標(biāo)準(zhǔn)正式定案,標(biāo)準(zhǔn)模板庫STL(standard template library)成為了C++標(biāo)準(zhǔn)函數(shù)庫的一個(gè)重要組成部分[2],在軟件項(xiàng)目開發(fā)中有著很廣泛的應(yīng)用。制定符合市場需求的教學(xué)大綱與教學(xué)內(nèi)容,是擺在我
們面前的一個(gè)急需解決的問題。
二、C++教學(xué)實(shí)踐
(一)理論教學(xué)。理論教學(xué)重視基礎(chǔ)知識(shí),強(qiáng)調(diào)實(shí)用性,知識(shí)點(diǎn)實(shí)例化。針對學(xué)生的理解能力,做好知識(shí)點(diǎn)與實(shí)例的恰當(dāng)融合,根據(jù)學(xué)生掌握情況,安排合理的實(shí)例數(shù)量。在授課中,采用引導(dǎo)式,案例式,使學(xué)生熟悉各種C++程序設(shè)計(jì)算法,為設(shè)計(jì)模式的引入打下堅(jiān)實(shí)的基礎(chǔ)。在理論教學(xué)講解中要緊緊圍繞教學(xué)原則,主要做到以下兩方面:
1.突出C++中的實(shí)用技術(shù)。C++教學(xué)內(nèi)容的選定應(yīng)C++語言標(biāo)準(zhǔn)為基礎(chǔ),摒棄傳統(tǒng)的C++教學(xué)面向?qū)ο髢?nèi)容以語法為主的教學(xué)模式,突出C++中的實(shí)用技術(shù),包括完善的封裝、派生、多態(tài)和模板,在構(gòu)造函數(shù)中動(dòng)態(tài)分配資源、在析構(gòu)函數(shù)中釋放資源的思想和異常處理等些面向?qū)ο蟮腃++程序設(shè)計(jì)的精髓。
2.注重實(shí)例講解。在C++程序設(shè)計(jì)內(nèi)容講解中,我們不僅要注重理論知識(shí)點(diǎn)的講解思路清晰,更應(yīng)注重實(shí)例的講解,只有實(shí)例講解的清晰明了,學(xué)生才能真正體會(huì)到各個(gè)算法的真諦,才能學(xué)會(huì)編程。因此,在各章節(jié)的實(shí)例講解中,應(yīng)在原來實(shí)例基礎(chǔ)上進(jìn)行擴(kuò)充,就好比一個(gè)簡單的例子,經(jīng)過滾雪球的方式,達(dá)到知識(shí)不斷積累,內(nèi)容不斷擴(kuò)充,功能不斷完善,既銜接了知識(shí)點(diǎn),又增加學(xué)生的興趣。
另外,理論教學(xué)中,應(yīng)鼓勵(lì)學(xué)生及時(shí)發(fā)言或討論,從中獲得自己想要的東西。在師生之間的這種交流過程中,老師不僅可以了解學(xué)生的學(xué)習(xí)情況,還可以根據(jù)學(xué)生反饋組織教學(xué)。
(二)實(shí)驗(yàn)教學(xué)。學(xué)習(xí)程序設(shè)計(jì)不能紙上談兵,編程能力的培養(yǎng)必須強(qiáng)化動(dòng)手實(shí)踐[1]。教科書上的習(xí)題只是為了掌握語言特性,與實(shí)際的項(xiàng)目工程有一定距離;在還沒有達(dá)到熟練運(yùn)用各種技術(shù)解決問題前,做實(shí)際的項(xiàng)目也不是太好,這樣學(xué)生是越來越迷糊。比較好的方法是找一些比較經(jīng)典的例子,每個(gè)例子集中練習(xí)一個(gè)或多個(gè)知識(shí)點(diǎn)。
程序課程實(shí)驗(yàn)環(huán)節(jié)是重中之重。因此我們應(yīng)重視實(shí)驗(yàn)教學(xué),實(shí)驗(yàn)輔導(dǎo)及實(shí)驗(yàn)總結(jié),引導(dǎo)學(xué)生利用課上及課余時(shí)間進(jìn)行大量編程,積累編碼感覺;鼓勵(lì)學(xué)生多動(dòng)手編程。
(三)培養(yǎng)編程能力。
1.基礎(chǔ)編程能力培養(yǎng)。重視實(shí)驗(yàn)教學(xué)、實(shí)驗(yàn)輔導(dǎo)與實(shí)驗(yàn)總結(jié),注重學(xué)生基礎(chǔ)編程能力的培養(yǎng),程序調(diào)試能力的培養(yǎng);采用課內(nèi)實(shí)驗(yàn),課余上機(jī)輔導(dǎo)相結(jié)合的方式,完成基本知識(shí)點(diǎn)的實(shí)驗(yàn)。
2.調(diào)試程序能力培養(yǎng)。調(diào)試程序的過程就是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤的過程,調(diào)試程序是程序開發(fā)過程中一個(gè)必不可少的階段。因此,程序調(diào)試能力的培養(yǎng)同樣是重中之重,程序調(diào)試能力的培養(yǎng)不是去幫學(xué)生調(diào)通程序,而是教會(huì)學(xué)生怎樣去調(diào)程序。主要是指導(dǎo)學(xué)生怎樣跟蹤程序的運(yùn)行,怎樣設(shè)置斷點(diǎn),怎樣單步運(yùn)行,怎樣使用Debug工具。
3.系統(tǒng)設(shè)計(jì)能力培養(yǎng)。在程序設(shè)計(jì)教學(xué)中,開展基于項(xiàng)目的協(xié)作學(xué)習(xí)[3],能夠改變以往教學(xué)中大量的內(nèi)容講解、缺乏實(shí)際操作經(jīng)驗(yàn)的局面,使課堂所學(xué)得到靈活運(yùn)用。學(xué)生在完成項(xiàng)目的過程中,體驗(yàn)了真實(shí)問題解決的過程,鍛煉了協(xié)作學(xué)習(xí)能力的同時(shí),也使個(gè)人能力得以凸現(xiàn)。出色項(xiàng)目成果的完成,體驗(yàn)成功的喜悅,也增加了知識(shí)探索的動(dòng)力。因此,吸收企業(yè)的“項(xiàng)目驅(qū)動(dòng)式”培訓(xùn)模式,把自己看成是一位“教練”,把學(xué)生從書海中解脫出來,把“項(xiàng)目訓(xùn)練”當(dāng)成重中之重。
通過開展基于項(xiàng)目的協(xié)作學(xué)習(xí)活動(dòng),給學(xué)生創(chuàng)設(shè)了真實(shí)問題情景和協(xié)作學(xué)習(xí)的環(huán)境,對程序設(shè)計(jì)類課程具有一定的借鑒意義,讓學(xué)生在校期間開始積累開發(fā)經(jīng)驗(yàn),從而可以勝任企業(yè)需求。
另外,要注重C++ 程序設(shè)計(jì)思想的培養(yǎng),使學(xué)生能夠在面臨實(shí)際問題時(shí),借鑒先進(jìn)合理的設(shè)計(jì)思路,充分理解企業(yè)需求,從大局的角度來審視項(xiàng)目工程。
三、總結(jié)
新的教學(xué)模式、教學(xué)方法有益于培養(yǎng)學(xué)生的編程能力,但也要同時(shí)采取與培養(yǎng)目標(biāo)相吻合的考核方式。傳統(tǒng)的閉卷考試方式已達(dá)不到對學(xué)生的學(xué)習(xí)情況進(jìn)行有效、合理的考核,因此我們采取了項(xiàng)目大作業(yè)和上機(jī)考試相結(jié)合的考核方式,前者著重考查學(xué)生軟件開發(fā)的大局觀,占期末成績的40%;后者著重考查學(xué)生對具體算法的編程實(shí)現(xiàn)能力,占期末成績的60%。每學(xué)期的教學(xué)活動(dòng)結(jié)束后,都要總結(jié)教學(xué)內(nèi)容、教學(xué)方法和教學(xué)手段及學(xué)生實(shí)踐能力培養(yǎng)情況,尋找出與市場需求之間的差距,逐步修改、完善,以達(dá)到理想的教學(xué)效果。
基金項(xiàng)目:黑龍江省新世紀(jì)教育教學(xué)改革工程項(xiàng)目(4859)
參考文獻(xiàn):
[1]王育堅(jiān),Visual C++面向?qū)ο缶幊探坛蘙M].北京:清華大學(xué)出版社,2007,10.
[2]葉至軍,C++ STL開發(fā)技術(shù)導(dǎo)引[M].北京:人民郵電出版社,2007.7.
[3]向模軍、劉松青,Java教學(xué)的探討和實(shí)踐[J].計(jì)算機(jī)與信息技術(shù),2008,(03):104-105.
作者簡介:
馬春華,女,漢族,黑龍江蘭西人,副教授,主要研究方向:計(jì)算機(jī)控制理論及控制工程。