摘要:文章對非計(jì)算機(jī)專業(yè)學(xué)生C++面向?qū)ο蟪绦蛟O(shè)計(jì)課程的相關(guān)教學(xué)問題進(jìn)行研究和探討。首先論述該課程的設(shè)置方法和對非計(jì)算機(jī)專業(yè)學(xué)生進(jìn)行混合雙語教學(xué)的必要性,然后對該課程教學(xué)實(shí)施過程中關(guān)于教材選擇、課程考核環(huán)節(jié)所涉及的問題和具體解決方法進(jìn)行闡述。通過筆者的教學(xué)實(shí)踐表明,對非計(jì)算機(jī)專業(yè)學(xué)生實(shí)施混合雙語教學(xué)能夠充分調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性,有助于培養(yǎng)他們綜合運(yùn)用C++知識的能力和素質(zhì),能夠獲得較為良好的教學(xué)效果。
關(guān)鍵詞:C++;面向?qū)ο?;程序設(shè)計(jì);混合式雙語教學(xué)
隨著計(jì)算機(jī)技術(shù)在各行業(yè)應(yīng)用程度的加深,社會對具有各類專業(yè)背景的計(jì)算機(jī)應(yīng)用人才需求不斷加大,客觀上要求各非計(jì)算機(jī)專業(yè)學(xué)生也必須掌握基本的程序設(shè)計(jì)技能。因此,目前各高校在本科生通識課程中一般都開設(shè)了C語言程序設(shè)計(jì)課程,甚至把通過有關(guān)計(jì)算機(jī)等級考試作為畢業(yè)的附加條件之一。
作為一種程序設(shè)計(jì)類課程,C++語言屬于C語言的面向?qū)ο髷U(kuò)展,編譯得到的可執(zhí)行代碼效率很高,運(yùn)用該語言進(jìn)行高效率軟硬件設(shè)計(jì)都非常合適。因此,近年來在C語言程序設(shè)計(jì)通識課程基礎(chǔ)上,很多理工類高校非計(jì)算機(jī)專業(yè)也逐步把C++程序設(shè)計(jì)當(dāng)作計(jì)算機(jī)程序設(shè)計(jì)類基礎(chǔ)課程并逐漸向C/C++程序設(shè)計(jì)專業(yè)基礎(chǔ)課程設(shè)置方式過渡。
2C++面向?qū)ο蟪绦蛟O(shè)計(jì)課程的混合式雙語教學(xué)
2.1課程設(shè)置
以C++語言為基礎(chǔ)進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)知識的傳達(dá),當(dāng)前絕大多數(shù)高校都是設(shè)置兩門獨(dú)立課程,即先設(shè)置C語言課程,然后再設(shè)置專門的C++課程,也有的高校采用一門C/C++混合課程的方式,更有甚
者干脆摒棄C 語言課程直接開設(shè)C++課程??紤]到C語言本身涉及很多低端操作并具有使用靈活的特點(diǎn),學(xué)習(xí)起來已經(jīng)比較困難,而C++語言是C語言的超集,是C語言的面向?qū)ο髷U(kuò)展,與C語言相比,擴(kuò)展的新知識點(diǎn)非常多,概念描述體系變化比較大,若將C語言和C++語言放在一門課程中學(xué)習(xí),將使得課程顯得比較復(fù)雜和龐大,不利于課程教學(xué)的順利實(shí)施。因此,將它們放在兩門課程中的做法比較可取:在C語言課程講授中著重傳達(dá)結(jié)構(gòu)化程序設(shè)計(jì)思想和算法以及計(jì)算機(jī)程序設(shè)計(jì)的基礎(chǔ)概念,而在C++程序面向?qū)ο笤O(shè)計(jì)的課程中除了進(jìn)一步鞏固C語言相關(guān)知識外,再重點(diǎn)進(jìn)行面向?qū)ο笏枷氲膫鬟_(dá)和熏陶。這樣既可以承前啟后保證學(xué)習(xí)的延續(xù)性,又能有效傳達(dá)產(chǎn)業(yè)界盛行的面向?qū)ο蟪绦蛟O(shè)計(jì)理念,從而為培養(yǎng)信息時(shí)代背景下的高技術(shù)應(yīng)用復(fù)合型人才奠定基礎(chǔ)。
2.2課程教學(xué)方法——“混合式雙語”教學(xué)法
計(jì)算機(jī)基本軟硬件技術(shù)的孕育和發(fā)展絕大多數(shù)是由歐美發(fā)達(dá)國家完成的,大量的計(jì)算機(jī)文獻(xiàn)資料和資源主要是用英語表達(dá)的,要想深刻理解計(jì)算機(jī)的基本知識并不斷提高對計(jì)算機(jī)技術(shù)知識的理解和應(yīng)用水平,能夠熟練運(yùn)用計(jì)算機(jī)英語專業(yè)術(shù)語進(jìn)行專業(yè)資料的處理或查找是非常必要的。衡量一個(gè)國家計(jì)算機(jī)應(yīng)用水平的高低,計(jì)算機(jī)技術(shù)人員對于計(jì)算機(jī)英語的熟悉和運(yùn)用水平應(yīng)該是非常重要的指標(biāo)之一。比如印度作為發(fā)展中國家,在世界軟件外包市場能占領(lǐng)一席之地,除了政府政策扶植以及軟件工程做得好等關(guān)鍵因素之外,英語作為其官方語言應(yīng)該也是其中一個(gè)非常有利的因素。對于計(jì)算機(jī)類基礎(chǔ)課程進(jìn)行雙語教學(xué)可以提高學(xué)生計(jì)算機(jī)專業(yè)英語應(yīng)用能力,增強(qiáng)其國際化素質(zhì),由此滿足學(xué)生未來就業(yè)發(fā)展的需要。
C++面向?qū)ο蟪绦蛟O(shè)計(jì)由于其課程特點(diǎn)非常適合采用具有雙語特點(diǎn)的教學(xué)方式,原因有三:第一,計(jì)算機(jī)語言和操作命令本身就是在英語的基礎(chǔ)上開發(fā)設(shè)計(jì)的,采用雙語教學(xué)更有利于學(xué)生對語法規(guī)則的掌握。第二,采用純中文方式教學(xué),學(xué)生往往對程序設(shè)計(jì)的基本方法和語法規(guī)則掌握得比較好,但在自己編程時(shí)不會利用調(diào)試工具進(jìn)行查錯(cuò)及改錯(cuò),一個(gè)關(guān)鍵問題就是看不懂各種英語提示信息以及各種幫助文件。第三,由于計(jì)算機(jī)英文教材大多使用較簡單的句式,常用的計(jì)算機(jī)專業(yè)詞匯只有一、兩千個(gè),這對于已經(jīng)具備基本聽說能力的大學(xué)生來說,進(jìn)行雙語式教學(xué)是可能的[1]。
目前,C++面向?qū)ο蟪绦蛟O(shè)計(jì)與雙語有關(guān)的教學(xué)方式主要有以下三種:1)以中文教學(xué)為主,配以英語章節(jié)名稱和專業(yè)詞匯以及術(shù)語解釋或說明;2)中英文教學(xué)并重,這種教學(xué)方式要求教師用中英文相結(jié)合的方式授課,中文和英文授課比例基本差不多;3)以英語教學(xué)為主,僅用漢語作必要的輔助說明[2]。對于計(jì)算機(jī)類的本科專業(yè)學(xué)生而言,由于專業(yè)素質(zhì)培養(yǎng)的需要,一般可采用第三種方式;對于目前基礎(chǔ)普遍較低的大中專院校學(xué)生,通常可采用第一種教學(xué)方式;但對于絕大多數(shù)非計(jì)算機(jī)專業(yè)學(xué)生的C++課程教學(xué),筆者建議采用上述三種方式有機(jī)結(jié)合的混合雙語教學(xué)方式。
事實(shí)上,對于計(jì)算機(jī)專業(yè)的同學(xué)而言,建議采用第三種方式的近乎全雙語教學(xué)的方式,因?yàn)橛?jì)算機(jī)專業(yè)一般都設(shè)置了很多關(guān)聯(lián)密切的計(jì)算機(jī)基礎(chǔ)課程,學(xué)生對計(jì)算機(jī)學(xué)科所涉及的概念、術(shù)語以及知識點(diǎn)都非常熟悉,采用雙語教學(xué)可以進(jìn)一步提高他們的知識水平,使得他們在具有國際化水平的同時(shí)也能有效保證教學(xué)質(zhì)量和效率;但對于非計(jì)算機(jī)類的其他理工科專業(yè)學(xué)生而言,他們的計(jì)算機(jī)知識學(xué)習(xí)能力比起計(jì)算機(jī)專業(yè)的學(xué)生來一般要相對差一些,而且近年來由于擴(kuò)招和獨(dú)生子女特點(diǎn)等因素的影響,生源基礎(chǔ)往往參差不齊,在學(xué)習(xí)素養(yǎng)上總體來說有所滑坡。在傳授新的計(jì)算機(jī)知識的時(shí)候,非計(jì)算機(jī)專業(yè)學(xué)生的學(xué)習(xí)速度要相對慢一些,如果對于他們不加區(qū)別的也“一刀切”地推行雙語教學(xué),則不利于他們對面向?qū)ο笏枷氲睦斫夂蛯++程序設(shè)計(jì)基本知識的掌握,使得教學(xué)效果難以得到有效保證。而且對于他們而言,有關(guān)C++程序設(shè)計(jì)術(shù)語很難通過常規(guī)英語的學(xué)習(xí)來推測其具體含義,也未必會如計(jì)算機(jī)專業(yè)類學(xué)生那樣設(shè)置專門的計(jì)算機(jī)英語課程來學(xué)習(xí)了解。因此,對于非計(jì)算機(jī)專業(yè)學(xué)生完全沒有必要實(shí)施嚴(yán)格的雙語教學(xué),筆者根據(jù)自己的教學(xué)實(shí)踐,覺得對于此類學(xué)生最好實(shí)施三種方式的有機(jī)混合式雙語教學(xué),即盡可能兼顧所有學(xué)生的基礎(chǔ)和接受情況,提供足夠的學(xué)習(xí)素材和課程教學(xué)資源,從近漢語、半雙語至全雙語的范疇內(nèi)讓學(xué)生發(fā)揮自由選擇的主動性,自覺針對自己的特點(diǎn)有目的地選擇相應(yīng)學(xué)習(xí)方式,達(dá)到靈活的混合式教學(xué)效果。
2.3教材選擇
現(xiàn)在國內(nèi)外C++教材很多,有非常厚的令人望而生畏的教材,也存在很薄的手冊性教材,選擇合適的教材對于成功的C++教學(xué),非常重要。根據(jù)經(jīng)驗(yàn),對于如上介紹的混合式雙語教學(xué),筆者建議選用國外經(jīng)典教材,同時(shí)也要注意翻譯者的翻譯水平是否符合信、達(dá)、雅的翻譯要求。而且最好能夠在國內(nèi)同時(shí)有中文和英文影印版的教材,這樣一方面對某些水平較高的學(xué)生可以建議其直接閱讀英文教材,另一方面對于基礎(chǔ)較差學(xué)生讓其閱讀相應(yīng)中文教材,同時(shí)對一般基礎(chǔ)學(xué)生則便于進(jìn)行“半雙語”教學(xué),可在中文和英文資源中選擇合適的材料最大限度地滿足學(xué)生素質(zhì)差別大造成的教學(xué)需要。此外,還要注意選擇國內(nèi)口碑很好的中文教材作為參考教材,以保證互補(bǔ)性,因?yàn)閲鴥?nèi)的好教材一般考慮了國內(nèi)學(xué)生的特點(diǎn),在內(nèi)容組織和各環(huán)節(jié)上更加適合國內(nèi)的教學(xué)環(huán)境。至少指定一門參考教材也便于學(xué)生復(fù)習(xí)鞏固所學(xué)知識,因?yàn)橹貜?fù)復(fù)習(xí)一本教材容易在心理上產(chǎn)生厭倦情緒,如果有講述同樣內(nèi)容的不同教材作為參考對照,則可同時(shí)借鑒兩本教材的長處,有助于學(xué)生對所學(xué)內(nèi)容的理解和把握。
經(jīng)過仔細(xì)考察和比較,筆者建議選擇Walter Savitch博士編著的國外經(jīng)典C++面向?qū)ο蟪绦蛟O(shè)計(jì)中文翻譯和影印版教材作為主導(dǎo)教材[3],同時(shí)把譚浩強(qiáng)教授編著的C++教材作為參考教材[4-5]。兩者都是C++程序設(shè)計(jì)教學(xué)中口碑非常好的教材,分別由中外名師編著,教材內(nèi)容互相補(bǔ)充,在教學(xué)過程中一主一輔,相得益彰。其中Savitch教材有大量的自測題,每一自測題都有答案,可以輔助學(xué)生理解概念,另外還有難度較高的編程實(shí)踐題,前者可以幫助學(xué)生理解基本概念,適用于基礎(chǔ)一般的學(xué)生,后者可以輔助學(xué)生對基本概念的加深理解,適用于基礎(chǔ)較好的學(xué)生。由于其中自測題量非常大,基本上每一個(gè)C++知識點(diǎn)都有所照顧,這對基本概念的回顧和訓(xùn)練非常有幫助。還可以選擇有代表性的編程實(shí)踐題作為上機(jī)實(shí)驗(yàn)課所用的素材,其中部分難度比較大的實(shí)踐題可以進(jìn)一步應(yīng)用于C++面向?qū)ο蟪绦蛟O(shè)計(jì)的課程設(shè)計(jì)。該教材還有一個(gè)較大的亮點(diǎn)就是C語言概念和C++概念的有機(jī)過渡和銜接。教師在基于該教材進(jìn)行課程講述時(shí),可以根據(jù)學(xué)生實(shí)際的基礎(chǔ)情況酌情選擇一些章節(jié)進(jìn)行介紹,而其余章節(jié)可以留給同學(xué)自學(xué),這樣有選擇、有取舍的教學(xué)使得該教材的使用具有非常廣泛的適應(yīng)性和靈活性,而譚浩強(qiáng)的教材在國內(nèi)一直以來都很受歡迎,自然可以作為本課程不可多得的參考教材之一。
2.4課程考核
由于C++知識點(diǎn)非常多、非常雜,很多東西需要在平時(shí)掌握,臨時(shí)突擊難以奏效,因此在教學(xué)過程中需要增加平時(shí)考核的比重,在期末考試時(shí)則注重知識的全面、綜合考查。這樣對考核進(jìn)行合理化的分配,有助于促進(jìn)學(xué)生注重知識和學(xué)習(xí)的平時(shí)積累,避免臨時(shí)抱佛腳,可大大改善整個(gè)課程的學(xué)習(xí)效果。如前所述,對于筆者建議的Savitch教材,由于其中自測題量非常大,而且都相關(guān)于C++基本知識點(diǎn)的把握和理解,在平時(shí)考核過程中筆者一般抽取其中典型題目進(jìn)行適當(dāng)修改后考核,這一方面便于學(xué)生“舉一反三”、從多角度掌握相關(guān)知識點(diǎn),另一方面也可以敦促學(xué)生加強(qiáng)對課程講授過程中知識點(diǎn)的復(fù)習(xí)而自覺在學(xué)習(xí)過程中進(jìn)行大量自測題的練習(xí),這對于C++課程的學(xué)習(xí)是非常必要的。
對于該課程的期末考核,筆者強(qiáng)調(diào)70%~80%分值左右題目也是以自測題為基礎(chǔ)進(jìn)行適當(dāng)改變得到的,而20%~30%分值題目是難度較高的綜合性題目,這樣一方面可以敦促大多數(shù)學(xué)生在考前進(jìn)行全面復(fù)習(xí)鞏固,加強(qiáng)課程學(xué)習(xí)效果,另一方面可以調(diào)動少數(shù)優(yōu)秀學(xué)生的復(fù)習(xí)積極性,客觀上形成一定的成績激勵機(jī)制。在上機(jī)考核中,基于所選定教材,筆者從教材的編程實(shí)踐題目中選擇一些較有趣味的、綜合性比較強(qiáng)的題目,這些題目一般沒有答案,在互聯(lián)網(wǎng)上也搜尋不到非常具體的相關(guān)資料,這可以促進(jìn)學(xué)生積極獨(dú)立思考,自覺在實(shí)踐過程中增強(qiáng)對所學(xué)知識的理解和運(yùn)用能力。而在課程設(shè)計(jì)考核環(huán)節(jié)中,筆者則一般布置綜合性更強(qiáng)的、很難由單個(gè)人單槍匹馬完成的題目,這些題目必須通過密切的團(tuán)隊(duì)協(xié)作才能順利完成。這樣可以進(jìn)一步培養(yǎng)學(xué)生的團(tuán)隊(duì)精神,并在一定程度上讓他們體會現(xiàn)代軟件工程中的面向?qū)ο蠓止ぜ皡f(xié)作的思想。
教學(xué)實(shí)踐證明,筆者這種考核方式一方面能夠兼顧基礎(chǔ)不同的學(xué)生,真正跳出了為了考核而考核的怪圈,切實(shí)達(dá)到了以考核促學(xué)、促教的目的;另一方面可以通過多頻度、多層次、多環(huán)節(jié)環(huán)環(huán)相扣的培養(yǎng)和考核,幫助培養(yǎng)學(xué)生對所學(xué)課程知識的綜合應(yīng)用能力。
3結(jié)論和展望
對于非計(jì)算機(jī)類高等學(xué)校本科學(xué)生的C++面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)來說,根據(jù)本課程的具體特點(diǎn)和需要,結(jié)合教學(xué)實(shí)踐,筆者建議最好采用“混合式雙語”教學(xué)。為了盡可能照顧大多數(shù)學(xué)生的教學(xué)需要,并兼顧全體同學(xué)的學(xué)習(xí)積極性,筆者認(rèn)為要注意選擇合適、權(quán)威的國內(nèi)外經(jīng)典主教材和參考教材,在教學(xué)方式上采用“混合雙語”教學(xué),注重以多頻度、多層次、多環(huán)節(jié)考核敦促學(xué)生平時(shí)學(xué)習(xí)并在期末進(jìn)行全面復(fù)習(xí),綜合提高教學(xué)效果,并盡可能廣泛地提供教學(xué)資源,使得不同基礎(chǔ)的學(xué)生都能根據(jù)自己需要選擇合適、配套的學(xué)習(xí)和實(shí)踐資料,充分協(xié)調(diào)教學(xué)方式單一性與學(xué)習(xí)需求多樣性的矛盾。在此基礎(chǔ)上,再輔以必要的教學(xué)方法,往往可以獲得較好的教學(xué)效果。
由于該課程僅僅是C++語言的入門課程,要想在實(shí)際過程中能夠有效應(yīng)用所學(xué)C++面向?qū)ο笾R進(jìn)行開發(fā)和設(shè)計(jì),往往還需要了解一種具體的圖形用戶接口集成封裝環(huán)境,如Windows系列的MFC和類Unix系列的Qt,在教學(xué)中如何密切結(jié)合這些封裝環(huán)境進(jìn)行C++相關(guān)技能的培養(yǎng)和訓(xùn)練,為學(xué)生進(jìn)一步學(xué)習(xí)和能力的提高奠定基礎(chǔ),是筆者需要進(jìn)一步努力探索的問題。
參考文獻(xiàn):
[1] 曹佳麗. 關(guān)于計(jì)算機(jī)學(xué)科開展“雙語教學(xué)”的思考[J]. 黑龍江科