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

?

項(xiàng)目驅(qū)動(dòng)、增量迭代糾錯(cuò)式C++教學(xué)方法

2017-03-26 05:50:44于永濤張永軍李芬芬
電腦與電信 2017年12期
關(guān)鍵詞:程序知識(shí)點(diǎn)教學(xué)內(nèi)容

于永濤 張永軍 李芬芬

(淮陰工學(xué)院,江蘇 淮安 223003)

1 簡(jiǎn)介

C++程序設(shè)計(jì)是計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)非常重要的一門(mén)基礎(chǔ)課程,多開(kāi)設(shè)于第一學(xué)年。其主要目的是培養(yǎng)學(xué)生的邏輯思維、動(dòng)手實(shí)踐以及算法設(shè)計(jì)能力。但是,C++語(yǔ)言本身較為復(fù)雜,其內(nèi)容涵蓋了過(guò)程式編程到面向?qū)ο缶幊虄煞N編程思維方式,基本概念過(guò)于繁雜、使用靈活、綜合性和實(shí)踐性強(qiáng),使得很多學(xué)生在學(xué)習(xí)過(guò)程中會(huì)感到較為吃力。而大一階段的學(xué)生往往還采用高中階段的做題、死記硬背等學(xué)習(xí)方式來(lái)學(xué)習(xí)該課程,進(jìn)一步加大了教學(xué)難度。

在長(zhǎng)期的C++程序設(shè)計(jì)課程教學(xué)過(guò)程中,我們發(fā)現(xiàn)主要存在以下問(wèn)題:(1)學(xué)生能掌握基本的C++語(yǔ)法,但不知道如何將這些語(yǔ)法應(yīng)用起來(lái)解決實(shí)際問(wèn)題,表現(xiàn)為能看懂程序,但是不會(huì)自己動(dòng)手寫(xiě)程序;(2)學(xué)生能輕易地掌握單個(gè)知識(shí)點(diǎn),但綜合應(yīng)用多個(gè)知識(shí)點(diǎn)的能力較差;(3)有不少學(xué)生在程序無(wú)法運(yùn)行或者得不出正確運(yùn)行結(jié)果的情況下,不知道如何通過(guò)調(diào)試等手段去分析和發(fā)現(xiàn)問(wèn)題;(4)部分學(xué)生在課程的初始階段,學(xué)習(xí)興趣濃厚,但隨著課程內(nèi)容的深入,所需要編寫(xiě)的程序越來(lái)越復(fù)雜,這部分同學(xué)會(huì)產(chǎn)生挫敗感,往往會(huì)因?yàn)橐粌蓚€(gè)程序沒(méi)有編寫(xiě)出來(lái)而導(dǎo)致他們喪失了學(xué)習(xí)的興趣;(5)部分學(xué)生,尤其是女學(xué)生,學(xué)習(xí)C++程序設(shè)計(jì)還是使用死記硬背和題海戰(zhàn)術(shù)的學(xué)習(xí)方法,忽略了最為重要的動(dòng)手編程實(shí)踐環(huán)節(jié)。

為了解決C++教學(xué)中存在的上述問(wèn)題,很多從事C++教學(xué)的教師提出了一些改革措施。如,文獻(xiàn)[1]提出了一種基于A(yíng)CM競(jìng)賽的C++教學(xué)模式,將ACM競(jìng)賽的理念、機(jī)制與教學(xué)過(guò)程緊密結(jié)合,力圖解決C++教學(xué)過(guò)程中偏重語(yǔ)法而忽略解決問(wèn)題能力培養(yǎng)的問(wèn)題。文獻(xiàn)[2]提出了一種以“面向應(yīng)用”為目標(biāo)的C++教學(xué)方式,以培養(yǎng)學(xué)生工程應(yīng)用能力為主要目標(biāo),圍繞該目標(biāo)來(lái)精心編寫(xiě)教程和組織教學(xué)內(nèi)容,在實(shí)際應(yīng)用中取得了較好的效果。文獻(xiàn)[3]也提出了一種項(xiàng)目驅(qū)動(dòng)的教學(xué)方法,他們以一個(gè)成績(jī)打印系統(tǒng)為原型來(lái)組織教學(xué)內(nèi)容。這些教學(xué)方法的改革能部分解決C++教學(xué)中的若干問(wèn)題,但未能有效地解決C++教學(xué)過(guò)程中效果不佳的根源性問(wèn)題。我們認(rèn)為,要提高C++教學(xué)效果,必須從以下幾個(gè)方法入手:(1)培養(yǎng)學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生的學(xué)習(xí)熱情,讓他們?cè)趯W(xué)習(xí)和編程過(guò)程中享受到成就感;(2)讓學(xué)生了解每個(gè)知識(shí)點(diǎn)要解決什么問(wèn)題,以及可以解決什么問(wèn)題;(3)由于C++知識(shí)點(diǎn)非常繁重,因此需要讓學(xué)生抓住重點(diǎn),以掌握基本的知識(shí)點(diǎn),并使得他們從具備寫(xiě)正確的程序能力到具備寫(xiě)正確而優(yōu)雅的程序能力轉(zhuǎn)變;(4)需要采用一種教學(xué)方式來(lái)將前后知識(shí)貫穿聯(lián)通,從而使得他們可以綜合掌握所學(xué)知識(shí)。為此,我們探索并摸索出一套項(xiàng)目驅(qū)動(dòng)、增量迭代糾錯(cuò)式教學(xué)方法,在實(shí)際的教學(xué)過(guò)程中取得了較好的效果。

2 項(xiàng)目驅(qū)動(dòng)、增量迭代糾錯(cuò)式教學(xué)

2.1 改進(jìn)教學(xué)內(nèi)容,精心準(zhǔn)備用于驅(qū)動(dòng)教學(xué)的實(shí)踐項(xiàng)目

我們從現(xiàn)實(shí)項(xiàng)目中抽取出一個(gè)具有代表性的項(xiàng)目:以某汽車(chē)4S店的客戶(hù)關(guān)系管理系統(tǒng)來(lái)作為我們的原型項(xiàng)目。結(jié)合C++教學(xué)內(nèi)容,我們將該項(xiàng)目分為若干個(gè)功能點(diǎn),然后每一章的教學(xué)內(nèi)容都圍繞一個(gè)或者多個(gè)功能點(diǎn)來(lái)進(jìn)行,并注意將前后知識(shí)點(diǎn)關(guān)聯(lián)。在授課時(shí),我們按照“需要解決的問(wèn)題是什么-C++中有哪些知識(shí)點(diǎn)可以用來(lái)解決該問(wèn)題-這些知識(shí)點(diǎn)如何解決該問(wèn)題-這樣的解決方法存在哪些問(wèn)題”的模式來(lái)組織每節(jié)課的內(nèi)容。我們發(fā)現(xiàn),一方面,相比傳統(tǒng)的C++教學(xué)方式,該方法可以有效地激發(fā)學(xué)生的學(xué)習(xí)熱情,激發(fā)他們的學(xué)習(xí)興趣,并激發(fā)了他們主動(dòng)思考的潛能,從而提高了他們的學(xué)習(xí)主動(dòng)性。另一方面,該教學(xué)組織方式使得學(xué)生對(duì)整個(gè)C++課程的知識(shí)點(diǎn)有了較為清晰的認(rèn)識(shí),從而在編寫(xiě)程序時(shí)知道用哪些知識(shí)點(diǎn)去解決問(wèn)題。

2.2 增量式教學(xué)方法

我們還采用了增量式教學(xué)方法,根據(jù)教學(xué)內(nèi)容對(duì)項(xiàng)目功能進(jìn)行合理地規(guī)劃,逐步逼近實(shí)際功能。以客戶(hù)數(shù)據(jù)的存儲(chǔ)為例,我們從如何用結(jié)構(gòu)體表示單個(gè)客戶(hù)數(shù)據(jù)開(kāi)始,先用數(shù)組來(lái)初始表示所有客戶(hù)的數(shù)據(jù)。而當(dāng)講授鏈表時(shí),我們通過(guò)鏈表來(lái)在內(nèi)存中存儲(chǔ)客戶(hù)數(shù)據(jù)。到文件存儲(chǔ)這一知識(shí)點(diǎn),我們進(jìn)一步說(shuō)明了如何通過(guò)二進(jìn)制文件和文本格式的文件來(lái)實(shí)現(xiàn)對(duì)內(nèi)存中客戶(hù)鏈表數(shù)據(jù)的序列化。當(dāng)學(xué)習(xí)到面向?qū)ο缶幊虝r(shí),我們則將客戶(hù)表示為類(lèi)結(jié)構(gòu),并和結(jié)構(gòu)體表示進(jìn)行了比較,說(shuō)明這兩種表示方法的優(yōu)缺點(diǎn)。

這樣的教學(xué)方式使得學(xué)生能融會(huì)貫通相關(guān)聯(lián)的知識(shí)點(diǎn),并使得他們對(duì)相似知識(shí)點(diǎn)的異同和優(yōu)缺點(diǎn)有較為清晰的了解。

2.3 迭代式教學(xué)方法

我們認(rèn)為,培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力比單純地傳授C++知識(shí)更加重要。因此,我們力圖在講授C++知識(shí)的過(guò)程中同步地培養(yǎng)學(xué)生分析和解決問(wèn)題的能力。為此,我們采用了迭代式的教學(xué)方法。具體的做法是:針對(duì)項(xiàng)目中的每個(gè)功能點(diǎn)的具體實(shí)現(xiàn)方法,我們要求學(xué)生完成“算法設(shè)計(jì)-程序?qū)崿F(xiàn)-調(diào)試通過(guò)”這樣一個(gè)過(guò)程。學(xué)生先用流程圖來(lái)描述算法的設(shè)計(jì),然后再在開(kāi)發(fā)環(huán)境下完成程序的編寫(xiě),并且調(diào)試時(shí)要求學(xué)生采用寫(xiě)一段程序調(diào)試一段的方式,而不是將所有的程序全部寫(xiě)完再調(diào)試。這樣做的目的是,每個(gè)功能點(diǎn)的一個(gè)具體實(shí)現(xiàn)都使得學(xué)生完成了一個(gè)分析問(wèn)題、解決問(wèn)題和應(yīng)用知識(shí)點(diǎn)的閉環(huán),在整個(gè)教學(xué)過(guò)程中促使他們反復(fù)迭代地進(jìn)行分析問(wèn)題、解決問(wèn)題和應(yīng)用知識(shí)的訓(xùn)練。

2.4 糾錯(cuò)式教學(xué)方法

在C++教學(xué)過(guò)程中,我們發(fā)現(xiàn)在一些知識(shí)點(diǎn)上學(xué)生會(huì)犯一些共性的錯(cuò)誤。為了讓學(xué)生及早意識(shí)到可能出錯(cuò)的風(fēng)險(xiǎn)點(diǎn),并避免在這些常見(jiàn)錯(cuò)誤點(diǎn)上犯錯(cuò),我們?cè)诮虒W(xué)過(guò)程中還增加了程序改錯(cuò)這一環(huán)節(jié)。我們會(huì)編寫(xiě)一段帶有錯(cuò)誤的代碼,請(qǐng)學(xué)生閱讀代碼并且上機(jī)調(diào)試,然后要求他們改正錯(cuò)誤。通過(guò)這樣的訓(xùn)練,既培養(yǎng)了學(xué)生閱讀代碼和分析問(wèn)題的能力,又加深了他們對(duì)C++中易犯錯(cuò)知識(shí)點(diǎn)的印象。

表1傳統(tǒng)C++教學(xué)方法和本文所論述教學(xué)方法的學(xué)生全國(guó)計(jì)算機(jī)等級(jí)考試C++通過(guò)率比較

圖1 傳統(tǒng)C++教學(xué)方法和本文所論述教學(xué)方法的教學(xué)效果比較

3 教學(xué)效果

我們C++教學(xué)團(tuán)隊(duì)目前采用該教學(xué)方法進(jìn)行教學(xué)已經(jīng)3年了,實(shí)踐證明該方法具有非常好的教學(xué)效果。圖1描述了在上機(jī)考核下該方法與傳統(tǒng)C++教學(xué)方法的比較。相比于傳統(tǒng)C++教學(xué)方法,采用本文所論述的教學(xué)方法使得學(xué)生取得了更高的機(jī)考平均成績(jī)。并且,縱觀(guān)三屆的考試情況,學(xué)生的機(jī)考平均成績(jī)呈現(xiàn)遞增的趨勢(shì),這也充分證明了本文所論述的教學(xué)方法的優(yōu)越性和有效性。

表1列出了采用傳統(tǒng)C++教學(xué)方法和本文所論述的教學(xué)方法的計(jì)算機(jī)等級(jí)考試的通過(guò)率情況??梢钥闯觯捎帽疚乃撌龅慕虒W(xué)方法,學(xué)生全國(guó)計(jì)算機(jī)等級(jí)考試的通過(guò)率有了一定幅度的提升。同時(shí),三屆的通過(guò)率也呈現(xiàn)出一種上升的趨勢(shì)。

通過(guò)以上兩個(gè)案例可以證明,本文所論述的以項(xiàng)目驅(qū)動(dòng)、增量迭代糾錯(cuò)式C++教學(xué)方法有效地提高了C++課程教學(xué)的效果。

4 結(jié)束語(yǔ)

從我們對(duì)三屆學(xué)生的實(shí)施情況來(lái)看,本文所論述的以項(xiàng)目驅(qū)動(dòng)、增量迭代糾錯(cuò)式C++教學(xué)方法能激發(fā)學(xué)生學(xué)習(xí)的主動(dòng)性,提高學(xué)生分析問(wèn)題、解決問(wèn)題和工程應(yīng)用的能力。今后我們將挑選更多的實(shí)踐性項(xiàng)目,進(jìn)一步改進(jìn)該教學(xué)方法,以達(dá)到更好的教學(xué)效果。

[1]彭源,田秀霞,張安勤,等.基于A(yíng) C M競(jìng)賽理念的C++程序設(shè)計(jì)教學(xué)模式改革[J].計(jì)算機(jī)教育,2013(7):70-763.

[2]王進(jìn),陳建平,王春明.面向應(yīng)用能力培養(yǎng)的C++課程教學(xué)實(shí)踐[J].計(jì)算機(jī)時(shí)代,2012(11):51-52.

[3]陳幗鸞.“項(xiàng)目驅(qū)動(dòng)”教學(xué)法在C++教學(xué)中的應(yīng)用[J].中國(guó)科技信息,2009(7):200-201.

猜你喜歡
程序知識(shí)點(diǎn)教學(xué)內(nèi)容
一張圖知識(shí)點(diǎn)
一張圖知識(shí)點(diǎn)
第四頁(yè) 知識(shí)點(diǎn) 殲轟-7A
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
挖掘數(shù)學(xué)教學(xué)內(nèi)容所固有的美
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
“啟蒙運(yùn)動(dòng)”一課教學(xué)內(nèi)容分析
關(guān)于G20 的知識(shí)點(diǎn)
創(chuàng)衛(wèi)暗訪(fǎng)程序有待改進(jìn)
兴仁县| 盐边县| 丽江市| 广东省| 太康县| 抚州市| 伊通| 商河县| 综艺| 阳山县| 甘谷县| 井冈山市| 北碚区| 天津市| 沛县| 张家界市| 毕节市| 双桥区| 昌都县| 龙江县| 淮北市| 涟水县| 交城县| 天水市| 吉林省| 车险| 西峡县| 石狮市| 高雄市| 衡阳县| 常宁市| 和平区| 栖霞市| 乌兰县| 东辽县| 梓潼县| 渭南市| 巴彦淖尔市| 闽侯县| 壶关县| 无为县|