999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

程序設(shè)計(jì)課程教學(xué)探討

2007-12-31 00:00:00黃林生
考試周刊 2007年47期

摘 要:本文從程序設(shè)計(jì)課程教學(xué)現(xiàn)狀出發(fā),提出了程序設(shè)計(jì)教學(xué)中需要從編程方法、編程風(fēng)格及規(guī)則的引導(dǎo)出發(fā),在重視算法教學(xué)的基礎(chǔ)上,引導(dǎo)學(xué)生在程序設(shè)計(jì)過程中開展研究性學(xué)習(xí),從而提高程序設(shè)計(jì)的質(zhì)量。

關(guān)鍵詞:程序設(shè)計(jì) 教學(xué) 算法

程序設(shè)計(jì)是我國(guó)高校各專業(yè)學(xué)生必修的一門核心課程,該課程的教學(xué)目的是使學(xué)生掌握程序設(shè)計(jì)的基本方法和理論,應(yīng)用某一程序設(shè)計(jì)語(yǔ)言編寫具體的程序。程序設(shè)計(jì)的教學(xué)質(zhì)量將影響到學(xué)生的程序設(shè)計(jì)能力,影響到學(xué)生創(chuàng)新思維的培養(yǎng)。

一、程序設(shè)計(jì)課程教學(xué)現(xiàn)狀

“程序設(shè)計(jì)”課程長(zhǎng)期沿襲傳統(tǒng)教學(xué)模式,即以一種高級(jí)語(yǔ)言的語(yǔ)句體系為脈絡(luò)展開教學(xué),詳細(xì)地講解其語(yǔ)句、語(yǔ)法甚至一些細(xì)節(jié)內(nèi)容,學(xué)生每學(xué)習(xí)一個(gè)語(yǔ)句需要做一些與該語(yǔ)句有關(guān)的習(xí)題。課程枯燥無(wú)味,學(xué)生學(xué)習(xí)積極性不高,很少動(dòng)手實(shí)踐。課程學(xué)完后,學(xué)生除了學(xué)到一些呆板的語(yǔ)句外,收獲甚微。

1.理論基礎(chǔ)薄弱

有些教師過分重視程序設(shè)計(jì)語(yǔ)言的教學(xué),而對(duì)于程序設(shè)計(jì)中所涉及的程序設(shè)計(jì)理論、程序設(shè)計(jì)的方法和算法的設(shè)計(jì)思想等理論知識(shí)的講解不夠深入、透徹。

2.學(xué)生缺乏創(chuàng)新能力

學(xué)生可以解決那些和已經(jīng)學(xué)過的知識(shí)有直接或有密切聯(lián)系的問題,而面對(duì)一個(gè)需要用已經(jīng)學(xué)過的知識(shí)進(jìn)行綜合求解的程序設(shè)計(jì)問題時(shí),就不知從何下手,對(duì)所學(xué)知識(shí)做不到舉一反三,缺乏程序設(shè)計(jì)的創(chuàng)新能力。

3.動(dòng)手能力不強(qiáng)

學(xué)生實(shí)際動(dòng)手能力差,具體表現(xiàn)在兩個(gè)方面。其一,學(xué)生上機(jī)調(diào)試程序的能力差,難以找到錯(cuò)誤產(chǎn)生的原因;其二,實(shí)際編寫程序的能力不強(qiáng),編寫的程序功能不夠完善,風(fēng)格不一,程序健壯性差。

針對(duì)以上出現(xiàn)的問題,我們認(rèn)為應(yīng)該在教學(xué)過程中對(duì)學(xué)生各方面的編程素養(yǎng)進(jìn)行引導(dǎo)和培養(yǎng)。

二、編程方法引導(dǎo)

程序設(shè)計(jì)的觀念雖然發(fā)生過很多變化,但程序的基本結(jié)構(gòu)仍然是順序、選擇和循環(huán)三種。因此,在學(xué)生初學(xué)程序設(shè)計(jì)時(shí)就應(yīng)該注意滲透結(jié)構(gòu)化程序設(shè)計(jì)的思想,以便使學(xué)生養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣。

我們這里談的不是純粹的程序設(shè)計(jì)方法,如結(jié)構(gòu)化的、面向?qū)ο蟮牡龋窃诮虒W(xué)中滲透程序設(shè)計(jì)的技巧。這里舉一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)的例子。

例:求100以內(nèi)的素?cái)?shù)。

經(jīng)過分析可以發(fā)現(xiàn),除了“2”以外,偶數(shù)不可能為素?cái)?shù),所以外循環(huán)有50次是多余的,同理在內(nèi)循環(huán)中,也不必用偶數(shù)測(cè)試。再進(jìn)行分析又發(fā)現(xiàn),一個(gè)合數(shù)最小的因子不會(huì)大于它的平方根,所以內(nèi)循環(huán)中的次數(shù)被再次減少。最后程序變?yōu)椋?/p>

通過不斷改進(jìn)程序,可以使程序效率得到不斷提高,當(dāng)然這些提高是在數(shù)據(jù)規(guī)模不斷增長(zhǎng)時(shí)才能體現(xiàn)出來(lái)。盡管現(xiàn)在很多人認(rèn)為硬件的速度發(fā)展很快,我們應(yīng)該把速度提高的任務(wù)交給硬件去實(shí)現(xiàn),這樣的想法未免過于武斷。姑且不論類似上述的技巧對(duì)于程序執(zhí)行效率的提高有多少益處,單從基于問題的學(xué)習(xí)方法這個(gè)角度的出發(fā),程序的衍生對(duì)于提高程序員的編程水平也是一個(gè)很好的訓(xùn)練方法,所以這樣的編程技巧是不可多得的,我們?cè)诮虒W(xué)過程中就是要進(jìn)行這方面的引導(dǎo)。

三、編程風(fēng)格和規(guī)則引導(dǎo)

前面提到我們?cè)谶M(jìn)行程序設(shè)計(jì)教學(xué)時(shí),傳統(tǒng)教學(xué)模式比較少注意編程風(fēng)格和規(guī)則的引導(dǎo),所以很多時(shí)候,學(xué)生編制出來(lái)的程序都是一路下來(lái)齊刷刷,缺乏良好風(fēng)格,死套語(yǔ)法,缺乏考慮可能的不安全因素。

由于學(xué)習(xí)程序設(shè)計(jì)是一個(gè)循序漸進(jìn)的過程,所以在教學(xué)中如果潛移默化地引導(dǎo)學(xué)生從程序設(shè)計(jì)入門開始,就注意程序設(shè)計(jì)的一般風(fēng)格和應(yīng)該遵守的規(guī)則,就能讓學(xué)生更快更好地編制出高質(zhì)量的程序來(lái),并且具備良好的編程習(xí)慣。

舉例說(shuō)明。我們知道,free和delete都可以把指針?biāo)傅膬?nèi)存給釋放掉,比如:

這段程序運(yùn)行一定沒問題,但如果在其后加上這樣一段代碼:

我們會(huì)發(fā)現(xiàn)出錯(cuò)了!這是因?yàn)椋琾所指內(nèi)存被釋放,但是p存放的地址值仍然不變,即p成了“野指針”。盡管嘗試用if(p!=NULL)來(lái)判斷p的可用性,我們卻發(fā)現(xiàn)出錯(cuò)處理并沒有起作用。所以,良好的習(xí)慣是在free和delete后,都要對(duì)指針作置空處理,即p=NULL。有人會(huì)說(shuō)如果要這種情況出現(xiàn)在程序結(jié)束時(shí),一切指針也會(huì)消亡,動(dòng)態(tài)內(nèi)存也會(huì)被操作系統(tǒng)回收,所以P置空是多余的。但是如果有人將這段程序取出來(lái)用到其他地方會(huì)怎樣呢?結(jié)果不是我們想見到的。

四、算法設(shè)計(jì)概念的引入

程序=算法+數(shù)據(jù)結(jié)構(gòu)。這就提出我們?cè)谶M(jìn)行程序設(shè)計(jì)教學(xué)過程中,不僅要重視語(yǔ)法的講授,也要重視算法的講授,甚至是要將算法提到更為重要的地位。程序設(shè)計(jì)是要解決問題,語(yǔ)言只不過是為解決問題而使用的工具,真正解決問題的是算法,難怪專家說(shuō)“算法是魂,程序是衣”。

如在C語(yǔ)言程序設(shè)計(jì)課程教學(xué)中,當(dāng)完成分支結(jié)構(gòu)程序、循環(huán)控制和數(shù)組,進(jìn)入內(nèi)容較多的算法設(shè)計(jì)教學(xué)后,我們將教學(xué)內(nèi)容分為以下五個(gè)方面。

(1)一般數(shù)據(jù)組織算法:查找、排序、字符串處理、求素?cái)?shù)、篩選、迭代、窮舉等;

(2)函數(shù)調(diào)用,函數(shù)嵌套歸、遞推及貪心算法等;

(3)指針?biāo)惴ǎ瑒?dòng)態(tài)內(nèi)存分配,鏈表等;

(4)用矩形法、梯形法計(jì)算定積分、模擬算法的隨機(jī)抽樣、蒙特卡羅法等算法;

(5)文件數(shù)據(jù)處理。

在課堂上增加算法設(shè)計(jì)的分析和討論,強(qiáng)調(diào)算法設(shè)計(jì)的優(yōu)化和程序的優(yōu)化,是提高學(xué)生分析和解決實(shí)際問題能力的有效方法。

五、開展研究性學(xué)習(xí)

在程序設(shè)計(jì)過程中,開展研究性學(xué)習(xí),是為了提高學(xué)生分析和解決實(shí)際問題的能力,主要是通過對(duì)解決問題的算法進(jìn)行研究而展開的。由于課時(shí)所限,并且學(xué)生沒有足夠的實(shí)踐經(jīng)驗(yàn),所以對(duì)算法問題的研究也是初級(jí)的,主要是討論典型問題的典型算法及其應(yīng)用。

1.通過研究性學(xué)習(xí),可以重構(gòu)知識(shí)體系,加深對(duì)算法的理解。

研究性學(xué)習(xí)是學(xué)生在教師的指導(dǎo)下,選定主題,然后搜集相關(guān)材料,對(duì)材料進(jìn)行歸納、加工處理、分析、總結(jié)得到相應(yīng)結(jié)論的學(xué)習(xí)活動(dòng)。在教學(xué)中,可以根據(jù)教學(xué)內(nèi)容,經(jīng)過反復(fù)研究,確定研究主題,并根據(jù)學(xué)生的自愿報(bào)名成立研究小組,如搜索算法研究小組等。然后各小組根據(jù)自己研究的算法,重新整理相應(yīng)的知識(shí),對(duì)知識(shí)進(jìn)行歸納、總結(jié)。通過對(duì)各種算法知識(shí)進(jìn)行整理、分類、小結(jié),加深學(xué)生對(duì)這些算法的理解。

2.通過研究性學(xué)習(xí),同學(xué)之間取長(zhǎng)補(bǔ)短,共同提高。

每個(gè)學(xué)生都有所長(zhǎng),也有所短,研究性學(xué)習(xí)一個(gè)重要特點(diǎn)就是:分工合作,共同討論,共同提高。我們可以根椐學(xué)生的特點(diǎn)、特長(zhǎng),對(duì)他們進(jìn)行分工,每位學(xué)生研究一種算法其中的一個(gè)問題,然后整個(gè)小組一起討論,每位學(xué)生介紹自己的研究情況、研究成果,然后其他同學(xué)進(jìn)行補(bǔ)充,發(fā)表自己的見解,這樣每個(gè)學(xué)生都使自己的研究?jī)?nèi)容得到補(bǔ)充,同時(shí)也學(xué)習(xí)到了其他同學(xué)研究方面的知識(shí),可以取長(zhǎng)補(bǔ)短,共同提高。

3.通過研究性學(xué)習(xí),總結(jié)算法的應(yīng)用規(guī)律,提高程序設(shè)計(jì)能力。

在進(jìn)行研究性學(xué)習(xí)時(shí),除要求學(xué)生歸納、整理專題算法知識(shí)外,還要總結(jié)出算法的應(yīng)用規(guī)律、應(yīng)用算法解題的步驟和算法的框架。學(xué)生通過自己對(duì)算法應(yīng)用規(guī)律的總結(jié),對(duì)算法的應(yīng)用得到升華,進(jìn)一步提高算法的應(yīng)用能力和程序設(shè)計(jì)能力。

4.通過研究性學(xué)習(xí),提高分析問題的能力、算法表達(dá)能力和歸納、綜合能力。

對(duì)算法的專題研究,不僅要對(duì)算法理論進(jìn)行總結(jié),算法應(yīng)用的研究也是很重要的一方面,通過算法的解題應(yīng)用,既提高了學(xué)生分析問題的能力,也加深了學(xué)生對(duì)算法的理解,提高了學(xué)生的算法應(yīng)用能力。另外,我們?cè)谒惴ㄑ芯窟^程中,要求學(xué)生透徹理解算法內(nèi)容,用算法語(yǔ)言準(zhǔn)確描述算法,通過這種途徑進(jìn)一步加深學(xué)生對(duì)算法的理解,同時(shí)也提高了學(xué)生的算法表達(dá)能力和歸納、總結(jié)的能力。

結(jié)論

我們認(rèn)為在程序設(shè)計(jì)教學(xué)中,要改革舊的教學(xué)體系,需要用新的理念、新的內(nèi)容、新的方法組織教學(xué)。首先要用先進(jìn)的程序設(shè)計(jì)理論指導(dǎo)教學(xué),并加強(qiáng)編程算法、邏輯思維和編程方法的引導(dǎo)。其次,重視和鼓勵(lì)學(xué)生對(duì)具體問題進(jìn)行分析和研究,勤于動(dòng)手和上機(jī)訓(xùn)練,養(yǎng)成良好的編程習(xí)慣。此外,對(duì)不同層次的學(xué)生可以進(jìn)行分階段教學(xué),前一階段講授基本的程序設(shè)計(jì)方法,除了講授程序設(shè)計(jì)語(yǔ)言的基本語(yǔ)法,還對(duì)學(xué)生進(jìn)行編程方法及程序設(shè)計(jì)風(fēng)格的引導(dǎo);后一階段主要講授程序設(shè)計(jì)的較高級(jí)的語(yǔ)法和功能,提高學(xué)生對(duì)算法的認(rèn)知和重視程序,并且在學(xué)生中開展研究性學(xué)習(xí),培養(yǎng)學(xué)生實(shí)際動(dòng)手能力。

參考文獻(xiàn):

[1]李云清等.程序設(shè)計(jì)創(chuàng)新能力的教學(xué)研究[A].全國(guó)計(jì)算機(jī)新科技與計(jì)算機(jī)繼續(xù)教育論文集2003.

[2]李海倫等.“程序設(shè)計(jì)”課程教學(xué)改革的研究與實(shí)踐[J].計(jì)算機(jī)教育, 2005.7.

[3]豐振.計(jì)算機(jī)程序設(shè)計(jì)教學(xué)方法研究[J]. 教學(xué)研究,2004.9.

[4]孫善武等.淺談程序設(shè)計(jì)語(yǔ)言課程教學(xué)方法[J].吉林大學(xué)學(xué)報(bào),2005.8第23卷.

注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。”

主站蜘蛛池模板: 乱人伦视频中文字幕在线| 国产农村妇女精品一二区| 伊人久久婷婷| 亚洲第一区欧美国产综合| 亚洲午夜18| 国产精品30p| 午夜日韩久久影院| 自拍偷拍欧美日韩| 在线无码九区| 亚洲国产日韩欧美在线| 亚洲免费成人网| av免费在线观看美女叉开腿| 成人一级黄色毛片| 国产免费人成视频网| 国产激情无码一区二区APP | 狠狠亚洲五月天| 久久国产精品电影| 黄色一及毛片| 久久天天躁狠狠躁夜夜躁| 毛片在线播放网址| 四虎国产永久在线观看| 91高清在线视频| 日韩一区二区三免费高清| 免费在线a视频| 99精品影院| 毛片基地视频| 在线观看国产黄色| 国产一区二区三区精品久久呦| 伊人AV天堂| 一级一级特黄女人精品毛片| 国产无遮挡猛进猛出免费软件| 亚洲人视频在线观看| 亚洲无码高清视频在线观看| 久久这里只有精品国产99| 亚洲成人网在线观看| 99热最新网址| 国产视频你懂得| 蜜臀AV在线播放| 国产91麻豆视频| 中文成人无码国产亚洲| 无码人中文字幕| 午夜一级做a爰片久久毛片| 久久精品视频一| 亚洲精选无码久久久| 人妻一本久道久久综合久久鬼色| 日韩精品资源| 欧洲成人在线观看| 亚洲一区二区约美女探花| 亚洲欧洲日韩综合色天使| 日韩在线第三页| 婷婷综合缴情亚洲五月伊| 超清无码一区二区三区| 国产精品自在在线午夜区app| 91外围女在线观看| 婷婷色在线视频| 天天色综网| 波多野结衣在线一区二区| 国产成人亚洲无吗淙合青草| 国产精品香蕉在线| 波多野结衣视频一区二区| AV天堂资源福利在线观看| 精品色综合| 全午夜免费一级毛片| 国产毛片基地| 国产女人爽到高潮的免费视频| 国产福利拍拍拍| 亚洲不卡影院| a色毛片免费视频| 亚洲国产日韩在线观看| 天堂在线www网亚洲| 国产欧美一区二区三区视频在线观看| 999在线免费视频| 亚洲一级毛片免费看| 亚洲无码四虎黄色网站| 欧美区一区| 亚洲视频黄| 一级毛片免费观看不卡视频| 日韩A∨精品日韩精品无码| 露脸真实国语乱在线观看| 在线观看视频99| 亚洲欧洲一区二区三区| 亚洲第一黄色网址|