国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

本科計(jì)算機(jī)專(zhuān)業(yè)C++程序設(shè)計(jì)教學(xué)的不足及對(duì)策

2012-03-19 14:58王艷會(huì)鐘誠(chéng)秦斌
關(guān)鍵詞:程序設(shè)計(jì)編程語(yǔ)法

王艷會(huì) 鐘誠(chéng) 秦斌

1中國(guó)人民解放軍鎮(zhèn)江船艇學(xué)院 江蘇 212003

2江蘇科技大學(xué) 江蘇 212003

0 前言

多年來(lái),很多工作在C++教學(xué)一線(xiàn)的教育工作者在教學(xué)實(shí)踐中就提高課程授課效果、注重專(zhuān)業(yè)素質(zhì)教育等方面提出了很多好的教學(xué)改進(jìn)方法,使我國(guó)高校的計(jì)算機(jī)教育水平得到了很大程度的提高。然而,當(dāng)今國(guó)內(nèi)C++課程的教學(xué)方法遠(yuǎn)非完美。本文就目前國(guó)內(nèi)C++教學(xué)的現(xiàn)狀,提出幾點(diǎn)當(dāng)前C++教學(xué)中的不足,并給出若干改進(jìn)的建議。

1 目前教學(xué)中存在的不足

1.1 教學(xué)內(nèi)容和教學(xué)工具陳舊

對(duì)于C++程序設(shè)計(jì)課程,C++語(yǔ)法和編程思維是教學(xué)內(nèi)容,教學(xué)中所使用的具體的C++編譯器和集成開(kāi)發(fā)環(huán)境(Integrated Development Environment,IDE)是教學(xué)工具。教學(xué)工具的陳舊必將導(dǎo)致教學(xué)內(nèi)容的陳舊。目前國(guó)內(nèi)高校C++程序設(shè)計(jì)課程多采用Visual C++ 6.0(VC6.0)。VC6.0是Microsoft公司于1998年推出的可視化集成開(kāi)發(fā)環(huán)境,至今已有14年的歷史,是一種比較老舊的C++開(kāi)發(fā)環(huán)境。由于目前C++標(biāo)準(zhǔn)、IDE技術(shù)和軟件科學(xué)的飛速發(fā)展,VC6.0作為教學(xué)和開(kāi)發(fā)工具有著下列難以彌補(bǔ)的缺陷。

(1) 在易用性方面落后。VC6.0易用性差。與Visual C++.Net 2005相比,VC6.0很多功能的使用很不方便,如斷點(diǎn)的設(shè)置、控件的使用以及MFC類(lèi)的完善程度,等等。筆者在教學(xué)中發(fā)現(xiàn),由于VC6.0在使用上的不便和界面的不友好,使學(xué)生容易產(chǎn)生實(shí)踐中的挫折感和對(duì)C++的畏懼心理,在該門(mén)課程結(jié)束后不愿繼續(xù)使用C++。

(2) 在IDE軟件兼容性方面,VC6.0面臨著越來(lái)越嚴(yán)重的兼容性問(wèn)題。VC6.0在Windows XP中可以很好的安裝和運(yùn)行,但是對(duì)于正逐步取代Windows XP的Windows 7以及更新版本,VC6.0有著很多兼容性的問(wèn)題。隨著Windows XP在軟件市場(chǎng)的退出,VC6.0亦將退出,到時(shí)候曾在大學(xué)中學(xué)習(xí)VC6.0的學(xué)生將面臨熟悉的IDE無(wú)法找到合適的計(jì)算機(jī)來(lái)安裝的問(wèn)題。因此,VC6.0已經(jīng)不再適合作為教學(xué)工具,否則將對(duì)學(xué)生以后的學(xué)習(xí)和工作產(chǎn)生不利影響。

1.2 授課方向的偏執(zhí)

有些不切實(shí)用和怪異的內(nèi)容和思想在課程中被反復(fù)強(qiáng)調(diào)、重點(diǎn)考察。有些內(nèi)容在當(dāng)今的軟件開(kāi)發(fā)中已經(jīng)不常使用,但在C++課堂上卻作為授課重點(diǎn)。如iostream流類(lèi)以及其中的輸出控制符在可視化開(kāi)發(fā)工具大行其道的今天已經(jīng)極少使用,卻被作為課堂講授和考試考察的重點(diǎn)內(nèi)容。有些鉆牛角尖的題目常被用來(lái)作為課堂例題和練習(xí)題,如“int i=5;bool j=true;求i&&j”之類(lèi)的題目帶有并非提倡的編程風(fēng)格。又如自增/自減運(yùn)算符的問(wèn)題“int a=3,b=5,c;c=a*b+++b;cout<

1.3 實(shí)驗(yàn)的欠缺

多數(shù)學(xué)生在課程實(shí)驗(yàn)中沒(méi)有得到足夠的鍛煉。實(shí)驗(yàn)環(huán)節(jié)中,實(shí)驗(yàn)題目難度水平單一,學(xué)生各自單打獨(dú)斗,都不利于學(xué)生對(duì)于語(yǔ)法知識(shí)的鞏固和編程能力的提高。對(duì)于計(jì)算機(jī)類(lèi)專(zhuān)業(yè)學(xué)生而言,編程技能是最為重要的專(zhuān)業(yè)基礎(chǔ),編程能力的強(qiáng)弱直接關(guān)系到后續(xù)專(zhuān)業(yè)課程的學(xué)習(xí),編程能力強(qiáng)則后續(xù)課程的學(xué)習(xí)扎實(shí),且能夠?qū)⑺鶎W(xué)內(nèi)容付諸實(shí)踐,反之則在后續(xù)課程的學(xué)習(xí)中屢屢遇到實(shí)質(zhì)性的困難,最終僅能學(xué)到理論,而無(wú)法實(shí)現(xiàn)。而實(shí)驗(yàn)環(huán)節(jié)的教學(xué)效果直接影響到學(xué)生編程能力的強(qiáng)弱。在實(shí)驗(yàn)過(guò)程中,實(shí)驗(yàn)題目多為單打獨(dú)斗的“個(gè)人英雄主義”題目,即每個(gè)學(xué)生獨(dú)自完成的題目。適當(dāng)比重的個(gè)人單獨(dú)完成的題目可以鞏固學(xué)生理論課所學(xué)的語(yǔ)法知識(shí),鍛煉學(xué)生的基本程序設(shè)計(jì)能力,但不利于培養(yǎng)學(xué)生的模塊化設(shè)計(jì)觀(guān)念和團(tuán)隊(duì)合作意識(shí),也會(huì)使學(xué)生在編程風(fēng)格方面過(guò)于隨意。

1.4 后期鍛煉的缺乏

很多學(xué)生的C++程序設(shè)計(jì)生涯僅維持于C++程序設(shè)計(jì)課程開(kāi)設(shè)時(shí)間內(nèi),在后續(xù)課程中,如數(shù)據(jù)庫(kù)、操作系統(tǒng)、計(jì)算方法等專(zhuān)業(yè)主干課和數(shù)字圖像處理、模式識(shí)別等專(zhuān)業(yè)方向課中不再使用。這當(dāng)中有C#、Java和matlab等使用更加方便的編程語(yǔ)言的影響,也有學(xué)生對(duì)于自己C++程序設(shè)計(jì)能力不自信的因素。

2 改進(jìn)的建議

上述是目前C++課程授課中普遍存在的問(wèn)題。這些問(wèn)題不可避免的影響了學(xué)生對(duì)C++語(yǔ)言的掌握和程序設(shè)計(jì)能力的提高。針對(duì)上述不足,筆者建議采取下列措施。

2.1 更新集成開(kāi)發(fā)環(huán)境

目前已有的C++標(biāo)準(zhǔn)有非官方的VC6.0標(biāo)準(zhǔn)、國(guó)際標(biāo)準(zhǔn)組織C++標(biāo)準(zhǔn)委員會(huì)制定的1998標(biāo)準(zhǔn)、2003標(biāo)準(zhǔn)和新近推出的2011標(biāo)準(zhǔn)。對(duì)于VC6.0標(biāo)準(zhǔn),由于年代久遠(yuǎn),對(duì)應(yīng)的IDE——Visual C++ 6.0已經(jīng)被淘汰,因此可以不向?qū)W生介紹;1998標(biāo)準(zhǔn)與2003標(biāo)準(zhǔn)基本沒(méi)有太大區(qū)別,且為目前流行的各種主流的C++集成開(kāi)發(fā)環(huán)境所遵守,可以作為課堂講授的語(yǔ)法依據(jù);2011標(biāo)準(zhǔn)為新近推出,尚無(wú)編譯器支持,且與2003標(biāo)準(zhǔn)有較大區(qū)別,為了避免學(xué)生在語(yǔ)法學(xué)習(xí)過(guò)程中混淆不清,可不在具體章節(jié)中介紹,僅在最后單獨(dú)作為一節(jié)——C++語(yǔ)法展望,向?qū)W生簡(jiǎn)要提及。

對(duì)于集成開(kāi)發(fā)環(huán)境,推薦使用Microsoft公司的Visual C++.Net 2010或CodeGear公司(前Borland公司子公司)的C++ Builder 2009。這些IDE不僅對(duì)C++的較新標(biāo)準(zhǔn)支持較好,而且使用方便。

2.2 鍛煉編程思維

不糾結(jié)于無(wú)用的語(yǔ)法細(xì)節(jié)和題目。對(duì)于基本的語(yǔ)法,務(wù)必介紹全面,并采用具體的簡(jiǎn)單應(yīng)用作為例題幫助學(xué)生掌握,不使用偏、怪、不符合編程習(xí)慣的題目講解語(yǔ)法。對(duì)語(yǔ)法的掌握的要求,只需達(dá)到會(huì)用、能用即可。

從過(guò)程控制語(yǔ)句部分開(kāi)始,著重鍛煉學(xué)生的編程思維,對(duì)函數(shù)、類(lèi)等內(nèi)容的講解不可僅停留在語(yǔ)法層面上,更要讓學(xué)生明白為何使用這些方法,讓學(xué)生掌握如何使用這些方法,并鍛煉學(xué)生使用這些方法創(chuàng)造性的解決問(wèn)題的能力??梢詫⑸形撮_(kāi)設(shè)的課程中涉及的一些算法,如計(jì)算方法中的線(xiàn)性方程組數(shù)值解法、模式識(shí)別中的K均值聚類(lèi),在不涉及課程理論的前提下作為鍛煉編程思維的題目向?qū)W生提供并指導(dǎo)設(shè)計(jì)思路,讓學(xué)生體會(huì)C++在實(shí)踐中該如何使用、編程思路該如何整理。從根本上說(shuō),一個(gè)學(xué)生的C++課程學(xué)的好不好,不在于該生掌握了多少語(yǔ)法,而在于該生能不能將一個(gè)實(shí)際的問(wèn)題分解為多個(gè)易于使用編程解決的算法模塊,而這正是鍛煉學(xué)生編程思維和能力的目標(biāo)。

2.3 拓展課程內(nèi)容

C++程序設(shè)計(jì)課程的直接目的是學(xué)習(xí)基本的語(yǔ)法和鍛煉編程思維,而最終目的則是使學(xué)生能夠使用C++做各方面的軟件產(chǎn)品的研發(fā)。要從事軟件產(chǎn)品的研發(fā),就需要涉及基于對(duì)話(huà)框的應(yīng)用程序的編寫(xiě)。從C++基本語(yǔ)法到基于對(duì)話(huà)框的應(yīng)用程序跨度極大。這類(lèi)直接用于開(kāi)發(fā)的程序框架和風(fēng)格與C++課程的教學(xué)風(fēng)格有很大差距,僅靠學(xué)生自己摸索有很大難度,但是一但向?qū)W生講明其中的聯(lián)系,并對(duì)使用方法做簡(jiǎn)要介紹,就不僅能夠消除學(xué)生對(duì)基于對(duì)話(huà)框的應(yīng)用程序的陌生感,更能對(duì)前面所講授的函數(shù)和類(lèi)等內(nèi)容產(chǎn)生難以替代的鞏固作用!這是由于學(xué)生在該課程學(xué)習(xí)過(guò)程中難以接觸到C++的實(shí)際應(yīng)用,對(duì)指針、函數(shù)和類(lèi)等關(guān)鍵內(nèi)容的作用并沒(méi)有深刻認(rèn)識(shí),而只有在他們看到真正的C++開(kāi)發(fā)模式時(shí),才能對(duì)這些內(nèi)容的使用方法和習(xí)慣心中有數(shù),在日后的學(xué)習(xí)中對(duì)C++課程所學(xué)內(nèi)容的運(yùn)用也更為成熟和自信。真實(shí)的C++產(chǎn)品開(kāi)發(fā)環(huán)境對(duì)于本科生的重要性,就如同真實(shí)的戰(zhàn)場(chǎng)經(jīng)歷對(duì)于一個(gè)操練已久的新兵的重要性。當(dāng)然,如果學(xué)校開(kāi)設(shè)的后續(xù)課程中有.Net(C++),這部分內(nèi)容可以不介紹。

對(duì)于基于對(duì)話(huà)框的應(yīng)用程序框架的介紹,可以采用CodeGear公司的C++ Builder 2007/2009或Microsoft公司的Visual C++ 2005/2008/2010。相比之下,前者較簡(jiǎn)單,后者較復(fù)雜。如果采用后者,則需要介紹Win32 API函數(shù)和Microsoft MFC。

2.4 選取不同難度級(jí)別的實(shí)驗(yàn)題目

單一的實(shí)驗(yàn)題目很可能使部分學(xué)生因?yàn)闊o(wú)法完成而產(chǎn)生挫折感,而這會(huì)導(dǎo)致學(xué)生對(duì)編程喪失興趣和信心,終將導(dǎo)致學(xué)生學(xué)習(xí)不積極和更強(qiáng)的挫折感、失落感,最終形成惡性循環(huán)。對(duì)于每個(gè)實(shí)驗(yàn)給出多個(gè)難度不同的題目供學(xué)生選做,不僅使處于不同水平的學(xué)生都能得到鍛,而且可以讓學(xué)生獲得成就感,增強(qiáng)他們使用編程解決問(wèn)題的信心。對(duì)于編程類(lèi)的課程,讓學(xué)生懷著“人有多大膽,地有多大產(chǎn)”的信心是至關(guān)重要的。

另外,對(duì)于函數(shù)、類(lèi)等內(nèi)容,給出分組合作題目也很重要。初學(xué)者往往為自己能夠單獨(dú)完成一小段程序而沾沾自喜,對(duì)程序的易用性和易讀性并沒(méi)有追求,甚至將程序的晦澀、復(fù)雜作為自己的成績(jī)。而實(shí)際上,晦澀、復(fù)雜的程序是不能被別人使用的,僅能稱(chēng)為“垃圾”。通過(guò)團(tuán)隊(duì)合作,讓每個(gè)學(xué)生認(rèn)識(shí)到,自己為整個(gè)團(tuán)隊(duì)提供的程序不僅要是可用的程序,更需要是易用、易讀、健康的高質(zhì)量代碼。這樣更利于學(xué)生養(yǎng)成良好的編程習(xí)慣。

在后續(xù)開(kāi)設(shè)的能夠使用C++的課程(如操作系統(tǒng)、計(jì)算方法、數(shù)字圖像處理等)實(shí)驗(yàn)中,為學(xué)生提供完成實(shí)驗(yàn)的基本程序框架,引導(dǎo)學(xué)生通過(guò)C++程序設(shè)計(jì)解決這些課程中的問(wèn)題,進(jìn)而在C++課程結(jié)束后進(jìn)一步鍛煉學(xué)生的C++程序設(shè)計(jì)能力和思維。

2.5 優(yōu)化考試題型

課程考試題型是對(duì)學(xué)生學(xué)習(xí)方式的導(dǎo)向。對(duì)于C++課程考試,填空和選擇題型側(cè)重考察語(yǔ)法,程序設(shè)計(jì)題不僅考察語(yǔ)法,更考察學(xué)生的C++程序設(shè)計(jì)能力和思維。顯然后者的考察范圍更為廣泛,考察方面更為重要。如果考試卷中的填空題和選擇題過(guò)多,將很容易導(dǎo)致學(xué)生產(chǎn)生應(yīng)試心理,重語(yǔ)法、輕能力,這是我們最不愿看到的。因此,考試題中要最大限度降低填空題和選擇題所占的比重,甚至不考這兩種題型。對(duì)于程序設(shè)計(jì)題,為了能夠確切反映學(xué)生的真實(shí)水平,對(duì)同一知識(shí)點(diǎn)的考察可以出多道難度不同(當(dāng)然分值也不同)的題目供學(xué)生選做。這樣可以避免考試對(duì)學(xué)生C++學(xué)習(xí)方向的誤導(dǎo)。

3 總結(jié)

本文闡述了計(jì)算機(jī)類(lèi)專(zhuān)業(yè)C++程序設(shè)計(jì)課程教學(xué)中常見(jiàn)的不足之處,并給出了自己在教學(xué)實(shí)踐中得出的改進(jìn)方法,這些方法對(duì)于非計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的C++教學(xué)也具有參考意義。針對(duì)目前計(jì)算機(jī)類(lèi)本科生動(dòng)手能力有待提高的現(xiàn)狀,C++程序設(shè)計(jì)課程的教學(xué)方法仍需改進(jìn)。更新教學(xué)工具和內(nèi)容、重視編程思維的培養(yǎng)、良好編程習(xí)慣的養(yǎng)成和貼近實(shí)戰(zhàn)的教學(xué)模式將是進(jìn)一步提高該課程教學(xué)效果的方向。

[1] 李駿揚(yáng),陳漢武.工科專(zhuān)業(yè)C++語(yǔ)言教學(xué)目標(biāo)與方法的探討[J].計(jì)算機(jī)教育.2007.

[2] 何靈敏,許翔,陸慧娟,等.C++教學(xué)中編程習(xí)慣的養(yǎng)成[J].計(jì)算機(jī)教育.2011.

[3] 陳國(guó)良,董榮勝.計(jì)算思維與大學(xué)計(jì)算機(jī)基礎(chǔ)教育[J].中國(guó)大學(xué)教學(xué).2011.

[4] 秦斌,王艷會(huì).關(guān)于計(jì)算機(jī)專(zhuān)業(yè)“密碼學(xué)”課程教學(xué)內(nèi)容和教學(xué)方法的探討[J].計(jì)算機(jī)教育.2009.

[5] 馬洪霞.“C++程序設(shè)計(jì)”課程教學(xué)與創(chuàng)新型人才培養(yǎng)[J].電氣電子教學(xué)學(xué)報(bào).2011.

猜你喜歡
程序設(shè)計(jì)編程語(yǔ)法
編程,是一種態(tài)度
元征X-431實(shí)測(cè):奔馳發(fā)動(dòng)機(jī)編程
編程小能手
基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
紡織機(jī)上誕生的編程
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
跟蹤導(dǎo)練(二)4
Book 5 Unit 1~Unit 3語(yǔ)法鞏固練習(xí)
高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
台北县| 昌乐县| 白河县| 天祝| 宜兰县| 新乡市| 靖安县| 水富县| 新田县| 鄂尔多斯市| 香港| 汪清县| 安平县| 永福县| 东乌珠穆沁旗| 南澳县| 荥经县| 新巴尔虎左旗| 桂林市| 茶陵县| 乐昌市| 鹤山市| 汝州市| 洞头县| 扎鲁特旗| 河津市| 聂拉木县| 南澳县| 阳原县| 堆龙德庆县| 萨嘎县| 伊宁县| 奉节县| 徐州市| 东兴市| 太白县| 临漳县| 界首市| 大邑县| 柘城县| 高碑店市|