張楓 賈玉珍
摘要:針對(duì)目前《C++程序設(shè)計(jì)》課程教學(xué)現(xiàn)狀和存在的問題,該文從教學(xué)內(nèi)容、教學(xué)方式、實(shí)踐教學(xué)和考核方式等方面提出課程改革方案和措施,有意識(shí)地將計(jì)算思維融入到教學(xué)的各個(gè)環(huán)節(jié),提高學(xué)生學(xué)習(xí)的興趣和主動(dòng)性,培養(yǎng)學(xué)生的專業(yè)能力和綜合素質(zhì),提高他們的職業(yè)競(jìng)爭(zhēng)力。
關(guān)鍵詞: C++程序設(shè)計(jì);計(jì)算思維;CDIO;教學(xué)改革
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)31-0137-03
The Exploration of Teaching Reform on C++ Programming Design based Comprehensive Quality
ZHANG Feng, JIA Yu-zhen
(Software School, Nanyang Institute of Technology, Nanyang 473000, China)
Abstract: The paper analyzes and summarizes the currently problems existing in the teaching process of C++ Progamming Language. Some effective plans and suggestions are proposed for the course reformation, including teaching content, teaching method, practice teaching and testing method. It integrates computational thinking into every aspect of teaching process consciously, holding students' interest and initiative, developing students' professional ability and comprehensive quality, and improving their professional competence.
Key words: C++ Programing Language;computational thinking; CDIO; teaching reformation
1 背景
《C++程序設(shè)計(jì)》課程是高等院校計(jì)算機(jī)類相關(guān)專業(yè)的一門專業(yè)基礎(chǔ)課程,在整個(gè)專業(yè)教學(xué)體系中占有非常重要的地位,上承專業(yè)基礎(chǔ)教育,下啟工作能力培養(yǎng),是從理論性、系統(tǒng)性很強(qiáng)的基礎(chǔ)課和專業(yè)基礎(chǔ)課向?qū)嵺`性較強(qiáng)的專業(yè)課跨越的一個(gè)重要轉(zhuǎn)折點(diǎn)。該課程蘊(yùn)含的程序設(shè)計(jì)思想也是當(dāng)前及未來很長一段時(shí)間內(nèi)的主要編程思想[1],它的核心任務(wù)是培養(yǎng)“計(jì)算思維”能力[2]。一方面,《C++程序設(shè)計(jì)》課程為后繼課程如《數(shù)據(jù)結(jié)構(gòu)》、《操作系統(tǒng)》、《網(wǎng)絡(luò)原理》等基本專業(yè)知識(shí)的實(shí)踐和專業(yè)方向課程的開設(shè)打下基礎(chǔ),它的教學(xué)也將對(duì)學(xué)生產(chǎn)生深遠(yuǎn)的影響[3];另一方面,課程對(duì)于學(xué)生素質(zhì)能力的提升有重要的作用:它可以加強(qiáng)學(xué)生實(shí)踐動(dòng)手能力,使他們把理論知識(shí)迅速轉(zhuǎn)化為應(yīng)用能力;培養(yǎng)提高學(xué)生對(duì)“多樣化和快速更新”的軟件生態(tài)的適應(yīng)性,從而具備一定的創(chuàng)新能力,提高他們職業(yè)核心競(jìng)爭(zhēng)力,為其今后在相關(guān)領(lǐng)域的工作和進(jìn)一步的深入學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。通過結(jié)合國內(nèi)外高校課程教學(xué)內(nèi)容和方法,汲取優(yōu)秀教學(xué)理念和方法,課程改革小組按照CDIO(Conceive、Design、Implement和Operate)創(chuàng)新型高等工程教育模式模式,探索出一套適合軟件工程專業(yè)學(xué)生特點(diǎn)的《C++程序設(shè)計(jì)》課程內(nèi)容和教學(xué)方法;完善課程考核方式,專注于“計(jì)算思維”[2]的形成,旨在對(duì)學(xué)生的專業(yè)能力和綜合素質(zhì)的培養(yǎng),提高職業(yè)競(jìng)爭(zhēng)力。
2 教學(xué)現(xiàn)狀
筆者長期從事《C++程序設(shè)計(jì)》課程教學(xué),通過對(duì)該課程教學(xué)狀況的分析和思考,結(jié)合對(duì)相關(guān)實(shí)踐環(huán)節(jié)中學(xué)生的表現(xiàn)和學(xué)生的反饋意見,發(fā)現(xiàn)在現(xiàn)階段教學(xué)過程中存在以下幾個(gè)主要問題:
1)教學(xué)方法和手段單一,主要采用 “以教師為中心”的填鴨教學(xué)模式,不能夠很好的調(diào)動(dòng)學(xué)生的積極性和能動(dòng)性,造成教學(xué)效果比較差。
2)現(xiàn)有教材陳舊落伍且千篇一律,跟不上技術(shù)的高速發(fā)展節(jié)奏,版式語言風(fēng)格與現(xiàn)代大學(xué)生的閱讀心理也有較大差距。
3)專業(yè)化特色化教育過于廣泛,同質(zhì)化教育現(xiàn)象嚴(yán)重,培養(yǎng)目標(biāo)單一,不能夠結(jié)合行業(yè)特色和個(gè)人特點(diǎn)進(jìn)行因材施教。
4)考核方式單一,脫離培養(yǎng)目標(biāo)。我們的考核方式仍然停留的“紙上談兵”的考試和以分?jǐn)?shù)定優(yōu)劣的應(yīng)試教育思路上,無法真正對(duì)學(xué)生能力和教學(xué)成果進(jìn)行衡量。尤其對(duì)于IT行業(yè)而言,先進(jìn)的知識(shí)和技術(shù)都源于國外,如果僅僅進(jìn)行專業(yè)培養(yǎng)而缺乏外語閱讀能力和技術(shù)革新適應(yīng)能力,就不能緊跟行業(yè)發(fā)展而脫離人才培養(yǎng)目標(biāo)。
3 基于CDIO理念的計(jì)算思維能力培養(yǎng)
為了使學(xué)生通過《C++程序設(shè)計(jì)》課程的學(xué)習(xí)提升“計(jì)算思維”能力,養(yǎng)成良好的編程習(xí)慣,在分析問題和解決問題的能力上得到有效的鍛煉和培養(yǎng),筆者及其所在教改團(tuán)隊(duì)結(jié)合軟件工程師人才培養(yǎng)目標(biāo),采用 CDIO教學(xué)模式對(duì)課程內(nèi)容、教學(xué)方法、實(shí)踐教學(xué)和考核方式進(jìn)行改革,確保專業(yè)課程教學(xué)內(nèi)容反映學(xué)科發(fā)展現(xiàn)狀、適應(yīng)企業(yè)界要求;提高學(xué)生學(xué)習(xí)興趣,正確處理好計(jì)算思維能力與信息應(yīng)用能力的關(guān)系,培養(yǎng)出適合當(dāng)前經(jīng)濟(jì)社會(huì)發(fā)展的高級(jí)應(yīng)用型人才。
3.1教學(xué)內(nèi)容改革
教學(xué)內(nèi)容的組織和實(shí)施是程序設(shè)計(jì)課程改革的重要內(nèi)容。我們?cè)诮虒W(xué)中發(fā)現(xiàn),很多學(xué)生在剛開始對(duì)程序設(shè)計(jì)都用很高的興趣,但是隨著學(xué)習(xí)的深入,因?yàn)閮?nèi)容枯燥和理解困難將他們對(duì)程序設(shè)計(jì)的愛好消磨殆盡。興趣是學(xué)習(xí)最好的老師,為了讓大家保持對(duì)程序設(shè)計(jì)的興趣并化簡難點(diǎn),我們將《C++程序設(shè)計(jì)》的內(nèi)容分為三個(gè)模塊,對(duì)應(yīng)于”C++”的三個(gè)字符:1)C模塊。C++首先包含了C庫,并對(duì)其進(jìn)行優(yōu)化和擴(kuò)展,它完全兼容C;2)第一個(gè)”+”:C++相對(duì)C語言增添了許多新的功能和特性,如重載、內(nèi)聯(lián)、默認(rèn)函數(shù)形參值等;3)第二個(gè)”+”:它 是C++的靈魂,代表著“面向?qū)ο蟆彼枷?。C語言強(qiáng)調(diào)的算法和數(shù)據(jù)結(jié)構(gòu),而C++則將設(shè)計(jì)思想融入到語言之中。模塊化劃分使得課程的整體脈絡(luò)已經(jīng)非常清晰,學(xué)生就可以有明確的學(xué)習(xí)目標(biāo),并能把自己的行動(dòng)與目標(biāo)不斷地加以對(duì)照,進(jìn)而清楚地知道自己的進(jìn)度和與目標(biāo)之間的距離,行動(dòng)的動(dòng)機(jī)就會(huì)得到維持和加強(qiáng),就會(huì)自覺地克服一切困難,努力達(dá)到目標(biāo)。
另一方面,我們?cè)诿恳荒K內(nèi)部對(duì)問題進(jìn)行縱深處理,有意識(shí)地引入計(jì)算思維,以應(yīng)用為中心,用興趣和問題引導(dǎo)學(xué)生主動(dòng)思考,驅(qū)動(dòng)學(xué)生對(duì)知識(shí)的掌握。我們用趣味性的例程和啟發(fā)式的問題貫穿融匯知識(shí)點(diǎn)之間的關(guān)聯(lián),用通俗易解的方式描述計(jì)算機(jī)解決問題的思路和方法;突破線性的組織方式,以突出計(jì)算思維導(dǎo)向,進(jìn)行課程內(nèi)容和應(yīng)用的集成,及時(shí)增加學(xué)科前沿知識(shí),結(jié)合最新行業(yè)資訊,對(duì)課程教學(xué)內(nèi)容進(jìn)行重構(gòu)和優(yōu)化。
3.2 教學(xué)方法改革
教學(xué)方法關(guān)系到教學(xué)質(zhì)量的好壞,直接影響到教學(xué)效果[4]。為了提升教學(xué)質(zhì)量,必須摒棄傳統(tǒng)的“灌輸式”傳授知識(shí)方法,樹立“學(xué)生為本”的課程教學(xué)觀,根據(jù)課程的教學(xué)目標(biāo)、教學(xué)內(nèi)容、學(xué)生特點(diǎn)、教學(xué)條件等,靈活選擇討論式、案例式、問題探究式、啟發(fā)引導(dǎo)式等多種教學(xué)方法,在教師的啟發(fā)誘導(dǎo)幫助下,以學(xué)生獨(dú)立自主學(xué)習(xí)和合作討論為前提,突出自主思維導(dǎo)向,強(qiáng)化實(shí)踐技能,形成了“以教授為主導(dǎo),以學(xué)生為中心,以知識(shí)為主體,以技能為目標(biāo)”的多層次交流互動(dòng)的教學(xué)模式,最大限度提高學(xué)生學(xué)習(xí)得能動(dòng)性和自主性,提高課程的趣味性和職業(yè)導(dǎo)向性。
我們對(duì)計(jì)算思維的培養(yǎng)應(yīng)當(dāng)由地融入到每一節(jié)課堂中,融入到課程教學(xué)的各個(gè)環(huán)節(jié)。在現(xiàn)實(shí)的教學(xué)中,我們發(fā)現(xiàn)有很多老師口才非常好,把課堂氣氛調(diào)節(jié)得非?;钴S,但是教學(xué)效果并不突出;有的老師雖然知識(shí)豐富,技術(shù)能力很強(qiáng)但口才較差,教學(xué)效果也不是太好。為了將教師在教學(xué)過程中的不利因素降到最低,我們?cè)谥v授內(nèi)容和側(cè)重點(diǎn)上進(jìn)行調(diào)整,注重知識(shí)點(diǎn)的取舍,重點(diǎn)講授面向?qū)ο蟮乃枷?,講授的角度和深度應(yīng)該結(jié)合人們認(rèn)知世界的規(guī)律,與編程密切聯(lián)系,將對(duì)內(nèi)容的講授轉(zhuǎn)化成為對(duì)學(xué)生計(jì)算思維能力的培養(yǎng)和學(xué)生專業(yè)程序設(shè)計(jì)能力的培養(yǎng);強(qiáng)調(diào)實(shí)踐,教師講述的每一個(gè)知識(shí)點(diǎn)都可以通過實(shí)踐的方式展示給學(xué)生,加深學(xué)生的理解。
3.3 實(shí)踐教學(xué)改革
實(shí)踐教學(xué)應(yīng)以學(xué)生的自我學(xué)習(xí)為主,教師提供輔導(dǎo)和答疑[5]。經(jīng)過對(duì)教學(xué)內(nèi)容和方法的改革,學(xué)生已經(jīng)初步形成對(duì)課程的愛好和興趣,掌握了課程知識(shí)體系結(jié)構(gòu)。為了夯實(shí)強(qiáng)化基礎(chǔ)知識(shí),架設(shè)從知識(shí)到能力的橋梁,我們重新編制了《C++程序設(shè)計(jì)》課程的實(shí)踐指導(dǎo)書。實(shí)踐指導(dǎo)書中的題目從簡單到復(fù)雜,覆蓋了驗(yàn)證型、設(shè)計(jì)型和綜合型的實(shí)驗(yàn),每一個(gè)題目都是精挑細(xì)選,可以達(dá)到實(shí)驗(yàn)的目的,考核和強(qiáng)化學(xué)生對(duì)知識(shí)的掌握;另一方面,題目應(yīng)具備一定的趣味性,保持學(xué)生持續(xù)學(xué)習(xí)的動(dòng)力。教師應(yīng)及時(shí)對(duì)實(shí)驗(yàn)過程進(jìn)行掌控,對(duì)結(jié)果進(jìn)行總結(jié),引導(dǎo)學(xué)生由淺到深,有簡單到復(fù)雜地完成實(shí)驗(yàn)內(nèi)容,激發(fā)學(xué)生對(duì)課程的興趣,培養(yǎng)學(xué)生思維能力。我們將學(xué)生在編程中的錯(cuò)誤分為三類:1)編譯錯(cuò)誤。這是最常見也是最簡單的一種錯(cuò)誤,一般是語法原因形成的,編譯器已經(jīng)告訴我們?cè)谏吹胤桨l(fā)生什么樣的錯(cuò)誤;2)鏈接錯(cuò)誤。這是因?yàn)檎也坏剿{(diào)用的函數(shù)所致;3)語義錯(cuò)誤。這是我們的思維和編寫的程序不一致所致。通過對(duì)錯(cuò)誤的歸結(jié),可以化解橫亙?cè)趯W(xué)生面前的實(shí)踐障礙,有效地提升實(shí)踐教學(xué)質(zhì)量。
另一方面,為進(jìn)一步加強(qiáng)學(xué)生的實(shí)際動(dòng)手能力和創(chuàng)新能力,推薦有能力有興趣的學(xué)生參加課外社團(tuán),例如大學(xué)生程序設(shè)計(jì)大賽(ACM/IPPC),機(jī)器人大賽等,使學(xué)生的學(xué)習(xí)能力、創(chuàng)新能力,團(tuán)隊(duì)協(xié)作能力得到全方位的提升。
3.4 考核方式改革
著眼于科學(xué)全面地評(píng)價(jià)學(xué)生的課程知識(shí)能力素質(zhì)狀況,強(qiáng)化理論知識(shí)的綜合應(yīng)用,強(qiáng)調(diào)解決問題的實(shí)踐技能,改變傳統(tǒng)的理論考試的評(píng)價(jià)方式,注重“過程性考核”。積極推行考核方式多樣化,要根據(jù)課程性質(zhì)、特點(diǎn)采取靈活多樣的形式,主要考核以下幾個(gè)方面。1)理論知識(shí)的綜合應(yīng)用;2)分析問題設(shè)計(jì)求解的思維技能;3)解決問題的實(shí)際動(dòng)手能力;4)軟件工程的專業(yè)素養(yǎng);5)順暢溝通和注重協(xié)作的團(tuán)隊(duì)精神。這五個(gè)方面通過課堂表現(xiàn)、實(shí)踐操作、實(shí)訓(xùn)考核和期末考試四種形式來進(jìn)行,并按不同的權(quán)重計(jì)入最終成績??己藘?nèi)容重點(diǎn)考察學(xué)生靈活運(yùn)用知識(shí)的能力和是否具備軟件工程專業(yè)素養(yǎng)。
4 總結(jié)
教學(xué)改革是教學(xué)活動(dòng)中一個(gè)永恒的主題?!禖++程序設(shè)計(jì)》課程是軟件工程專業(yè)軟件設(shè)計(jì)方向的一門專業(yè)基礎(chǔ)課,在整個(gè)專業(yè)教學(xué)體系中占有非常重要的地位,上承專業(yè)基礎(chǔ)教育,下啟工作能力培養(yǎng),本質(zhì)是計(jì)算思維能力的提升。學(xué)好該課程對(duì)于軟件類人才培養(yǎng)意義重大。任何一門課程的教學(xué)都是一個(gè)系統(tǒng)工程,都是由一系列相互關(guān)聯(lián)的環(huán)節(jié)和過程組成的,軟件工程專業(yè)素質(zhì)的訓(xùn)練與培養(yǎng)必須通過系統(tǒng)的培養(yǎng)方案和課程計(jì)劃的科學(xué)實(shí)施才能得到全面提高。
本文針對(duì)《C++程序設(shè)計(jì)》當(dāng)前教學(xué)中存在的問題,依據(jù)CDIO理念,圍繞教學(xué)內(nèi)容、教學(xué)方法、實(shí)踐教學(xué)和考核方式進(jìn)行改革,有意識(shí)地將計(jì)算思維融入到教學(xué)的各個(gè)環(huán)節(jié),最終培養(yǎng)學(xué)生的專業(yè)能力和綜合素質(zhì),提高他們的職業(yè)競(jìng)爭(zhēng)力。教改措施在筆者所在院系進(jìn)行實(shí)踐和推廣,并取得良好的效果,受到師生的一致好評(píng)。
參考文獻(xiàn):
[1]丁智國,錢婕. 面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)改革[J]. 計(jì)算機(jī)教育, 2011(9).
[2]九校聯(lián)盟(C9). 計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明[J]. 中國大學(xué)教學(xué), 2010(9):4-9.
[3]楊靜,王浩,等. 程序設(shè)計(jì)課程改革探討[J]. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版), 2005,23(8):7-10.
[4]余麗紅,徐存東,林春景.基于CDIO的C語言程序設(shè)計(jì)課程教學(xué)改革探究[J].中國科教創(chuàng)新導(dǎo)刊, 2011(16):150-151.
[5]孫麗君,楊志強(qiáng),高枚.圍繞計(jì)算思維培養(yǎng)的程序設(shè)計(jì)課程改革[J].計(jì)算機(jī)教育,2013(5):29-31.