張 旮
(福建工程學(xué)院,福建 福州 350108)
面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)改革與創(chuàng)新
張 旮
(福建工程學(xué)院,福建 福州 350108)
針對應(yīng)用型人才培養(yǎng)目標(biāo),改革課程實驗教學(xué)內(nèi)容,加強實踐環(huán)節(jié),采用分層、互動教學(xué),激發(fā)學(xué)生學(xué)習(xí)的積極性和主動性,提高學(xué)生分析問題和解決問題的能力;同時,改革考試模式,建立以培養(yǎng)學(xué)生編程能力為本的教學(xué)評價體系。
面向?qū)ο蟪绦蛟O(shè)計C++;教學(xué)改革;創(chuàng)新
C++語言是兼容C語言的面向?qū)ο蟪绦蛟O(shè)計語言,它既支持面向過程的結(jié)構(gòu)化程序設(shè)計,也支持基于對象的面向?qū)ο蟮某绦蛟O(shè)計,是編寫系統(tǒng)軟件和應(yīng)用軟件的通用語言。面向?qū)ο蟪绦蛟O(shè)計C++是我校計算機專業(yè)必修的一門重要的專業(yè)基礎(chǔ)課程。
隨著社會信息化不斷發(fā)展,社會對大學(xué)生的計算機應(yīng)用能力要求大大增加,也對計算機程序設(shè)計能力有了更高的要求。程序設(shè)計語言已被公認(rèn)為高校學(xué)生適應(yīng)時代發(fā)展應(yīng)掌握的基礎(chǔ)內(nèi)容。根據(jù)我校建設(shè)應(yīng)用型本科大學(xué),培養(yǎng)基礎(chǔ)扎實、知識面寬、實踐創(chuàng)新能力強的應(yīng)用型高素質(zhì)人才的目標(biāo),如果計算機專業(yè)課程教學(xué)只停留在注重基礎(chǔ)知識的學(xué)習(xí),而對實際編程能力的培養(yǎng)重視不夠,則勢必影響學(xué)生的社會競爭能力,學(xué)生就會對相應(yīng)課程的學(xué)習(xí)失去興趣。筆者經(jīng)多年的教學(xué)研究和實踐,嘗試對C++語言程序設(shè)計課程教學(xué)進(jìn)行改革,以培養(yǎng)學(xué)生編程能力為出發(fā)點,以為學(xué)生在后續(xù)專業(yè)學(xué)習(xí)中的計算機應(yīng)用打基礎(chǔ)為目的,通過改革實驗教材、教學(xué)方法,調(diào)整教學(xué)手段,提高教學(xué)質(zhì)量,從而提高學(xué)生的實際應(yīng)用和創(chuàng)新能力。
長期以來,我們培養(yǎng)的計算機專業(yè)的學(xué)生存在著“什么都學(xué)過,卻什么都不會”的尷尬局面,專業(yè)教育、教材與應(yīng)用需求嚴(yán)重脫節(jié)?,F(xiàn)有的實驗教材和指導(dǎo)書中內(nèi)容過多的驗證性實驗,嚴(yán)重地影響了學(xué)生自主學(xué)習(xí)、創(chuàng)新提高能力的培養(yǎng)。因此,在面向?qū)ο蟪绦蛟O(shè)計C++課程實驗內(nèi)容的選擇、實驗步驟的設(shè)計和實驗文檔的組織等方面都做了精心的考慮和安排,編寫課程實驗教材《C++語言程序設(shè)計實驗》。該實驗教材依據(jù)課程教學(xué)大綱,充分理解課程的大多數(shù)主教材,遵循課程教學(xué)的規(guī)律和節(jié)奏,體現(xiàn)了實驗的可操作性,增加了綜合性和設(shè)計性比例,以幫助學(xué)生切實把握該課程的知識內(nèi)涵和理論,進(jìn)一步提高實踐水平。
《C++語言程序設(shè)計實驗》通過一系列實驗練習(xí),把C++語言程序設(shè)計的概念和理論知識融入到實驗當(dāng)中,從而加深對C++語言程序設(shè)計課程的認(rèn)識、理解和運用。實驗內(nèi)容幾乎覆蓋了C++語言程序設(shè)計的各個方面,涉及數(shù)據(jù)類型與表達(dá)式、函數(shù)、構(gòu)造數(shù)據(jù)類型、類與對象、繼承與派生、多態(tài)性、類模板、C++輸入輸出流與文件系統(tǒng)、string類字符串處理、異常處理等。每組包含2-3個實驗,全書共17個實驗。如下表所示:
實驗內(nèi)容分布實驗1 實驗內(nèi)容 3實驗2 C++基礎(chǔ)編程 2實驗3 類與對象編程 2實驗4 繼承與派生編程 2實驗5 多態(tài)性編程 2實驗6 類模板編程 2實驗7 輸入/輸出流與文件系統(tǒng)編程 2實驗8 String類字符串處理編程 2實驗9 異常處理編程 2
各個實驗練習(xí)之間的難度不斷增加,循序漸進(jìn),學(xué)生在實驗中遇到困難,還可以搜索前面的實驗來幫助解決問題。每個實驗中都包含背景知識介紹、所需的工具及準(zhǔn)備工作和實驗指導(dǎo)等,以幫助學(xué)生加深對課程教材中所介紹概念的理解。每個實驗完成后,要求學(xué)生根據(jù)個人心得完成實驗總結(jié)。實驗教學(xué)中,應(yīng)注重實驗結(jié)果的分析與總結(jié),使學(xué)生鞏固本次實驗內(nèi)容,培養(yǎng)學(xué)生分析、概括能力。
1.改革教學(xué)環(huán)境,強調(diào)實踐性
實驗教學(xué)對鞏固學(xué)生所學(xué)知識,加深他們對基礎(chǔ)知識和算法的理解,提高學(xué)生的程序設(shè)計能力有著重要的作用。C++語言程序設(shè)計課程的教學(xué)由理論與上機實驗兩個環(huán)節(jié)組成,主要教學(xué)目標(biāo)是培養(yǎng)學(xué)生的編程能力并提高學(xué)生的實踐能力。目前該課程的理論教學(xué)和上機實踐均在機房進(jìn)行,講課時不嚴(yán)格區(qū)分理論課和上機課,達(dá)到了邊講邊練、邊輔導(dǎo)邊提高的效果。在教學(xué)過程中,一般先將復(fù)雜的新問題分解為較簡單的小問題,然后帶著學(xué)生一步一步實現(xiàn),并逐步完善,有時讓學(xué)生自己編寫部分功能代碼,找出程序功能的不足并加以解決,提高學(xué)生主動學(xué)習(xí)的積極性。
全面開放機房,安排專業(yè)教師值班,讓更多的學(xué)生通過課外時間,加強課程實驗項目的練習(xí),強調(diào)在不斷實踐的過程中學(xué)習(xí)新知識,大幅度提高學(xué)生的動手能力。
2.采用分層教學(xué),強調(diào)個性化
在教學(xué)活動中,實時遵循現(xiàn)代教育以人為本的理念,同時兼顧“吃不消”和“吃不飽”的學(xué)生。針對少數(shù)有興趣和有能力的學(xué)生開設(shè)提高班,以此發(fā)揮學(xué)生的聰明才智并帶動整個班級的學(xué)習(xí)氛圍,針對學(xué)習(xí)比較吃力的學(xué)生開設(shè)輔導(dǎo)班,以使所有學(xué)生都能達(dá)到課程教學(xué)要求,從中也充分體現(xiàn)了個性化教育的特點。同時,積極開展課外科技活動,組織“C++語言程序設(shè)計作品大賽”。學(xué)生以小組或個人的形式自主選題,自找參考資料,獨立設(shè)計并開發(fā)程序,最后通過初選的學(xué)生以答辯的形式展示自己的作品,學(xué)校對于獲獎的學(xué)生制定了免考或加分政策,以作鼓勵。
同時,利用學(xué)校教務(wù)處教學(xué)資產(chǎn)管理平臺,提供課程教學(xué)大綱、講義以及根據(jù)教學(xué)進(jìn)度隨時更新的作業(yè)、輔導(dǎo)、學(xué)生作品等,共享這些資源,使學(xué)生可以不受時間、空間限制,在任意時間和地點通過網(wǎng)絡(luò)平臺進(jìn)行學(xué)習(xí)。學(xué)生既可以通過網(wǎng)絡(luò)平臺進(jìn)行個別化學(xué)習(xí),鞏固課堂知識,也可以利用網(wǎng)絡(luò)平臺進(jìn)行相互交流、協(xié)作學(xué)習(xí),最大限度地發(fā)揮學(xué)生學(xué)習(xí)的積極性和主動性,激發(fā)學(xué)生學(xué)習(xí)的興趣。我們要重視學(xué)生個性思維的發(fā)展,倡導(dǎo)學(xué)生多動腦、勤思考、敢提問,甚至敢于對教師或教材的觀點提出不同的看法。
3.改革教學(xué)過程,強調(diào)互動性
在教學(xué)過程中,采用啟發(fā)式教學(xué),激勵學(xué)生積極參與整個教學(xué)過程,將學(xué)生被動學(xué)習(xí)的心理轉(zhuǎn)化為主動學(xué)習(xí)行動,充分發(fā)揮以學(xué)生為主體的作用,強調(diào)教學(xué)互動性。我們開發(fā)并應(yīng)用于激發(fā)學(xué)生思維的多媒體課件和電子教案,遵循“提出問題、分析問題、解決問題”的過程進(jìn)行教學(xué),注重用教學(xué)技巧激發(fā)學(xué)生的學(xué)習(xí)欲望。例如,教師在第一堂課通過演示綜合實例,讓學(xué)生了解該課程的應(yīng)用性,以此產(chǎn)生學(xué)生的好奇心,從而激發(fā)學(xué)習(xí)興趣。在整個教學(xué)過程中,注意讓學(xué)生在發(fā)現(xiàn)問題和解決問題的過程中,系統(tǒng)學(xué)習(xí)和掌握基礎(chǔ)知識,同時注意調(diào)動學(xué)生的學(xué)習(xí)積極性,引導(dǎo)學(xué)生靈活運用所學(xué)知識,不斷提高學(xué)生探索、發(fā)現(xiàn)、解決問題的能力,培養(yǎng)創(chuàng)新精神。
4.改革課程設(shè)計,強調(diào)創(chuàng)新性
根據(jù)計算機專業(yè)特點和我校建設(shè)應(yīng)用型大學(xué)的辦學(xué)理念,在學(xué)生學(xué)習(xí)完“C++語言程序設(shè)計”課程之后,增設(shè)兩周的課程設(shè)計。其教學(xué)目的不僅是讓學(xué)生鞏固課堂上所學(xué)習(xí)的程序設(shè)計語言,更重要的是用程序設(shè)計語言來解決實際問題,掌握程序設(shè)計的思想,從而提高學(xué)生分析問題和解決問題的綜合能力。學(xué)生在課程設(shè)計的過程中以小組為單位,成員可以是2-4人。在課程設(shè)計內(nèi)容上我們選擇了難度適中、趣味性較強的題目,比如小游戲、運動會成績統(tǒng)計系統(tǒng)、學(xué)生信息管理系統(tǒng)等。每個題目都通過基本訓(xùn)練、提高訓(xùn)練和創(chuàng)新訓(xùn)練三個過程完成。基本訓(xùn)練中,一步一步引導(dǎo)學(xué)生實現(xiàn)系統(tǒng)的基本功能,以便學(xué)生快速入門,同時避免部分學(xué)生無從下手的現(xiàn)象發(fā)生;提高訓(xùn)練中,均提供需要提高的功能要求,以使學(xué)生在基本訓(xùn)練的基礎(chǔ)上更上一層樓;創(chuàng)新訓(xùn)練中,給學(xué)生提供充分發(fā)揮創(chuàng)造力的空間,這是知識的升華階段,學(xué)生通過基本訓(xùn)練和提高訓(xùn)練,已對自己的課程設(shè)計題目有信心、有興趣,而且有較好的創(chuàng)新欲望,所以學(xué)生表現(xiàn)得非常積極。完成課程設(shè)計題目,需要學(xué)生以現(xiàn)有認(rèn)知能力為基礎(chǔ),經(jīng)過實踐、討論、學(xué)習(xí),這樣學(xué)生在解決問題的過程中就會獲得一定的成就感,而且通過三個不同層次的要求,使所有學(xué)生都有進(jìn)步。在課程設(shè)計過程中,教師要實時對學(xué)生的學(xué)習(xí)情況進(jìn)行監(jiān)督和調(diào)整,為學(xué)生能順利完成課程設(shè)計提供必要的支持和幫助,充分體現(xiàn)“以教師為主導(dǎo)、學(xué)生為主體”的教學(xué)思想。
通過課程設(shè)計,加強了學(xué)生之間的相互合作學(xué)習(xí),學(xué)生的自學(xué)能力得到了提高。學(xué)生能運用C++語言程序設(shè)計解決實際問題,深入了解了程序的設(shè)計、編碼、運行與調(diào)試,掌握了軟件開發(fā)的基本過程,認(rèn)識到程序設(shè)計風(fēng)格和規(guī)范對整個程序設(shè)計的重要性,提高了分析問題和解決問題的能力。同時,學(xué)生動手實踐能力也有了進(jìn)一步的提高,充分體現(xiàn)了我校培養(yǎng)應(yīng)用型人才的辦學(xué)理念。在小組合作學(xué)習(xí)的過程中,所有學(xué)生都認(rèn)為通過小組合作,培養(yǎng)了學(xué)生與人交流、與人合作的能力以及團(tuán)隊精神,提高了學(xué)生的責(zé)任感和自信心。
教學(xué)內(nèi)容和教學(xué)方法的改革必然會牽動教學(xué)效果評價手段的改革。此前評價學(xué)生C++語言程序設(shè)計課程的學(xué)習(xí)成效一般是通過期末筆試方式進(jìn)行,這種方式片面性很大,考查不了學(xué)生的實際動手編程能力,阻礙了學(xué)生探索的動力,課程形象也在學(xué)生心目中大打折扣。有些學(xué)生盡管在考試中成績優(yōu)秀,但卻做不出一個像樣的應(yīng)用程序。為了解決這種會考試與會做事不相吻合的矛盾,我們建立了理論和實踐考核相結(jié)合,以培養(yǎng)學(xué)生編程能力為本的教學(xué)評價體系。
理論和實踐成績各占課程總成績的50%。實踐考核具體操作是平時占40%,其中課程8項實驗檢查和實驗報告占20%,課程設(shè)計占20%;最終上機考試占60%,上機內(nèi)容包含兩個編寫程序題目,這兩個題目涵蓋了C++語言程序設(shè)計實驗大綱要求,分別從文件的建立、類與對象的設(shè)置、方法的使用、針對異常處理編寫相應(yīng)的處理過程,在一些算法的實現(xiàn)等方面給出相應(yīng)得分點。這樣既考察了學(xué)生的實踐動手能力,也促進(jìn)了學(xué)生平時要多上機。理論考核則主要考查學(xué)生掌握基本概念、語法和常用算法的程度,平時占30%,其中作業(yè)檢查占20%,課堂提問10%,從而鼓勵學(xué)生課堂積極回答問題、討論問題;最終筆試占70%。這樣就形成了在實踐中學(xué)習(xí)、在實踐中考核的辦法,使學(xué)習(xí)與考試有機結(jié)合,真正起到相互關(guān)聯(lián)、相互促進(jìn)、互為補充的作用。
[1]楊進(jìn)才,沈顯君,劉蓉.C++語言程序設(shè)計教程[M].北京:清華大學(xué)出版社,2006.
[2]李秉璋,羅燁,景征駿等.“面向?qū)ο蟪绦蛟O(shè)計”課程實踐教學(xué)改革探索[J].計算機教育,2009,(18):12-13.
[3]滿娜,任向民.“C++語言程序設(shè)計”實踐教學(xué)的改革與探索[J].中國新技術(shù)新產(chǎn)品,2009,(19):235.
G642
A
1673-0046(2010)5-0128-02