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