馬洪霞
(北京林業(yè)大學(xué)電子系,北京 100083)
“C++程序設(shè)計”是一門實(shí)踐性很強(qiáng)的課程,單純的有限,一般課程學(xué)時30~40,課堂教學(xué)一般只能夠講授基礎(chǔ)知識,很難使學(xué)生真正掌握C++語言的精髓。網(wǎng)絡(luò)課堂教學(xué)不能實(shí)時互動,教學(xué)效果差,只能作為補(bǔ)充。現(xiàn)今的項目教學(xué)法被認(rèn)為是較為適合程序設(shè)計類課程的教學(xué)方法,并不適合所有學(xué)生[1,2]。為此,筆者提出課堂教學(xué)應(yīng)該與課外教學(xué)相結(jié)合,利用各種課外項目對部分對程序設(shè)計感興趣的學(xué)生進(jìn)行課外教學(xué),進(jìn)而達(dá)到培養(yǎng)創(chuàng)新型人才的目的。
由于學(xué)生在有限的時間內(nèi)難以對所有的課程都鉆研深透,筆者將教學(xué)可以分如下兩步進(jìn)行。第一步是課堂教學(xué),在教學(xué)大綱規(guī)定學(xué)時內(nèi)對完成對全體學(xué)生的基礎(chǔ)教學(xué);第二步是課外教學(xué),重點(diǎn)培養(yǎng)創(chuàng)新型人才。我們結(jié)合各種創(chuàng)新計劃項目與科研項目進(jìn)行精英教學(xué),使學(xué)生深入透徹的掌握一門計算機(jī)語言,使其畢業(yè)后能夠獨(dú)立進(jìn)行程序設(shè)計。課堂教學(xué)與課外教學(xué)既要相互獨(dú)立,又要保持連貫性。
為了闡明本課程的教學(xué)方法和教學(xué)過程,我們以“一個小型公司的人員信息管理系統(tǒng)”為例進(jìn)行說明[3]。表1所示即為此例所涉及的知識結(jié)構(gòu)及其教學(xué)過程。
表1 教學(xué)過程示例
1)課堂教學(xué)
課堂教學(xué)的實(shí)施對象是全體學(xué)生,教學(xué)內(nèi)容為:基本概念、語法知識、驗證性實(shí)驗和綜合訓(xùn)練實(shí)驗,使學(xué)生對C++語言有一個全面認(rèn)識。由于C++語言的實(shí)踐性很強(qiáng),所以課堂教學(xué)適宜采用案例式教學(xué)和任務(wù)驅(qū)動式教學(xué),但是案例或者任務(wù)的難度要適中,不能讓學(xué)生感到無從下手,望而生畏。實(shí)驗以驗證性實(shí)驗為主,占到總實(shí)驗學(xué)時的80%,實(shí)施對象為全體學(xué)生。
綜合訓(xùn)練實(shí)驗為選做實(shí)驗,占20%,適合于成績優(yōu)秀的學(xué)生。課堂教學(xué)內(nèi)容包括類的聲明、靜態(tài)成員、派生類及虛函數(shù)等內(nèi)容。這些基本內(nèi)容是“C++程序設(shè)計”學(xué)習(xí)的重點(diǎn),蘊(yùn)含著面向?qū)ο蟮姆椒岸鄳B(tài)等重要內(nèi)容,也可以為以后學(xué)習(xí)其他面向?qū)ο蟮恼Z言打下基礎(chǔ)。
2)課外教學(xué)
課外教學(xué)的實(shí)施對象是對本課程有濃厚興趣的學(xué)生,教學(xué)內(nèi)容包括理論和互動兩部分?;訉?shí)練教學(xué),可以讓學(xué)生真正的深入理解C++語言,進(jìn)而對語言的運(yùn)用有所創(chuàng)新。課外教學(xué)首先是理論內(nèi)容,是與項目密切相關(guān)的知識點(diǎn),為學(xué)生順利地融入到項目角色打好基礎(chǔ)。然后是互動內(nèi)容,在項目進(jìn)行過程中進(jìn)行算法以及程序設(shè)計技巧的輔導(dǎo)。
在我們的例子中,容器類與MFC等知識點(diǎn)難度較大,但是對于開展項目中有重要作用。教師將這部分內(nèi)容放在課外教學(xué)的理論部分進(jìn)行講述,針對本項目的應(yīng)用選取特定的內(nèi)容進(jìn)行闡述。由于學(xué)生此時學(xué)習(xí)具有很大的主動性,所以學(xué)習(xí)效率也會很高。項目開展以后,即進(jìn)入互動部分。教師要開展程序結(jié)構(gòu)、算法、效率優(yōu)化等內(nèi)容的啟發(fā)式指導(dǎo),協(xié)助學(xué)生思考更高級的問題,使學(xué)生盡力提出自己的創(chuàng)新性的觀點(diǎn)。
3)互動教學(xué)中需要注意的問題
在互動教學(xué)過程中,教師在輔導(dǎo)過程中不僅要對已成型方法的優(yōu)缺點(diǎn)進(jìn)行全面的講解,還要對新方法新觀點(diǎn)進(jìn)行介紹,引導(dǎo)學(xué)生綜合各種方法的優(yōu)點(diǎn),力圖創(chuàng)造出新的更好的方法。教師的角色是方向指引者,引導(dǎo)學(xué)生進(jìn)行創(chuàng)新。當(dāng)學(xué)生思路陷入囹圄時,要引入新的角度,幫助學(xué)生更換角度思考。教師在與學(xué)生的互動過程中,應(yīng)該充分鼓勵學(xué)生大膽進(jìn)行新的嘗試,使其成為敢于創(chuàng)新的程序設(shè)計人才。
本文針對各高校信息類非計算機(jī)專業(yè)“C++程序設(shè)計”課時有限的特點(diǎn),提出利用各種課外項目對部分學(xué)生進(jìn)行課外教學(xué)進(jìn)而達(dá)到培養(yǎng)創(chuàng)新型人才的目的。教師在課外教學(xué)實(shí)施過程中應(yīng)該注意將自己擺在引路者的位置,充分鼓勵學(xué)生進(jìn)行創(chuàng)新。
筆者通過教學(xué)實(shí)踐發(fā)現(xiàn),本文提出的教學(xué)方法對培養(yǎng)創(chuàng)新型人才很有幫助。實(shí)施課外教學(xué)的學(xué)生,能熟練掌握C++語言,有一部分學(xué)生能夠提出自己的算法,并很好地完成項目規(guī)定的任務(wù)。
[1] 劉松青.構(gòu)建“Java面向?qū)ο蟪绦蛟O(shè)計”實(shí)踐教學(xué)體系[J].長沙:實(shí)踐教學(xué),2009(2):8-10
[2] 張麗.項目教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)中的應(yīng)用[J].北京:計算機(jī)教育,2010(10):92-94
[3] 鄭莉.C++語言程序設(shè)計[M].北京:清華大學(xué)出版社,2005:196-197