培養(yǎng)學(xué)生程序設(shè)計(jì)能力的有效策略
論文關(guān)鍵詞:程序設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu) 算法 編碼 調(diào)試
論文摘要:該文分析了程序設(shè)計(jì)在學(xué)科中的地位以及程序設(shè)計(jì)有關(guān)的知識和能力構(gòu)成,結(jié)合自己多年的計(jì)算機(jī)專業(yè)教學(xué)實(shí)踐,探討了在計(jì)算機(jī)教學(xué)中培養(yǎng)學(xué)生程序設(shè)計(jì)能力的有效策略。
計(jì)算機(jī)科學(xué)是一種創(chuàng)造性思維活動(dòng),其必須面向設(shè)計(jì)。計(jì)算機(jī)的本質(zhì)是“程序的機(jī)器”, 只有懂得程序設(shè)計(jì),才能懂得計(jì)算機(jī),真正了解計(jì)算機(jī)是怎樣工作的。培養(yǎng)學(xué)生程序設(shè)計(jì)能力對計(jì)算機(jī)專業(yè)的學(xué)生來說不僅是培養(yǎng)職業(yè)技能的需要,也是培養(yǎng)大學(xué)生創(chuàng)造性思維的重要途徑。學(xué)習(xí)程序設(shè)計(jì)可以培養(yǎng)學(xué)生運(yùn)用算法來解決實(shí)際問題的能力,這種解決問題的方式是計(jì)算機(jī)所獨(dú)有的,也只有通過對計(jì)算機(jī)的程序設(shè)計(jì)語言和程序設(shè)計(jì)方法的學(xué)習(xí)才有可能獲得這種解決問題的能力。
1 程序設(shè)計(jì)在計(jì)算機(jī)學(xué)科中的地位
程序設(shè)計(jì)是利用某種計(jì)算機(jī)語言,編制完成某一特定功能的程序的過程,是涉及描述、開發(fā)及有效實(shí)現(xiàn)求解的一系列活動(dòng),是利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)化的重要手段。
計(jì)算機(jī)學(xué)科主要是系統(tǒng)地研究信息描述和變換的算法過程,包括它們的理論、分析、設(shè)計(jì)、效率、實(shí)現(xiàn)和應(yīng)用。可以這樣說,一切算法的基本問題是“什么能被自動(dòng)化”以及“如何有效地自動(dòng)化”。這個(gè)自動(dòng)化的過程就是程序設(shè)計(jì)的過程。
程序設(shè)計(jì)語言是人們學(xué)習(xí)計(jì)算機(jī)的最基本的工具,也是人們學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)與應(yīng)用知識的基本課程。通過學(xué)習(xí),使學(xué)生掌握程序設(shè)計(jì)的基本概念、基本知識和基本方法,養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格,得到一定的程序設(shè)計(jì)訓(xùn)練,具備初步編寫程序解決實(shí)際問題的能力。程序設(shè)計(jì)也正是有形表達(dá)抽象思維的方法,在程序設(shè)計(jì)過程中貫穿閱讀判斷、分析思考、工具利用、抽象表達(dá)、綜合創(chuàng)造等多項(xiàng)技能,是理論、抽象、設(shè)計(jì)和應(yīng)用的綜合能力培養(yǎng)過程。因此程序設(shè)計(jì)是計(jì)算機(jī)學(xué)科教學(xué)的重要內(nèi)容之一,對計(jì)算機(jī)專業(yè)人才素質(zhì)的培養(yǎng)至關(guān)重要。
2 程序設(shè)計(jì)的知識和能力構(gòu)成
根據(jù)循序漸進(jìn)的原則,與程序設(shè)計(jì)有關(guān)的教學(xué)內(nèi)容主要有:計(jì)算機(jī)基礎(chǔ)知識和操作、程序設(shè)計(jì)語言和基本的程序設(shè)計(jì)方法、最基本的數(shù)據(jù)結(jié)構(gòu)及其基本算法、常用的算法設(shè)計(jì)方法等。在學(xué)習(xí)這些知識的同時(shí),必須與能力的訓(xùn)練有機(jī)地結(jié)合起來。程序設(shè)計(jì)能力表現(xiàn)在以下幾個(gè)方面:
1)自然語言能力。要有較強(qiáng)的運(yùn)用自然語言描述現(xiàn)實(shí)事物的能力,只有運(yùn)用背景知識正確且清晰地陳述問題及其求解目標(biāo),才能確定程序的功能。
2)描述能力。程序設(shè)計(jì)是為了告訴計(jì)算機(jī)做什么和如何做。這就需要利用定義、定理、公式、函數(shù)等數(shù)學(xué)工具把問題形式化,建立數(shù)學(xué)模型。
3)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)能力。選擇合理的存儲(chǔ)結(jié)構(gòu),在計(jì)算機(jī)中表示數(shù)學(xué)模型,是程序設(shè)計(jì)的一個(gè)重要方面。
4)算法構(gòu)造能力。好的程序由精心構(gòu)造的、好的算法構(gòu)成。給出問題求解的離散化計(jì)算過程,是程序設(shè)計(jì)中最具有創(chuàng)造性的工作。
5)程序編碼能力。用某種程序設(shè)計(jì)語言表達(dá)算法,盡管這種能力往往被認(rèn)為技術(shù)含量不高,但也需要對程序設(shè)計(jì)語言的熟練掌握和對算法設(shè)計(jì)的深刻理解。
6)程序調(diào)試能力。程序調(diào)試能力是一種專業(yè)綜合技能,需要對程序設(shè)計(jì)語言和程序結(jié)構(gòu)有深刻的理解,需要熟練的操作技能,需要會(huì)設(shè)置測試數(shù)據(jù)和設(shè)置程序斷點(diǎn),這些都有待于學(xué)生在實(shí)踐中逐步積累經(jīng)驗(yàn)。
可以說,程序設(shè)計(jì)能力的高低很大程度上反映在駕馭自然語言、數(shù)學(xué)語言和計(jì)算機(jī)語言的能力上。這3種語言是人們畢生有用的3種通用智能工具。前兩者是后者的基礎(chǔ),良好的和數(shù)學(xué)訓(xùn)練是學(xué)好程序設(shè)計(jì)語言和培養(yǎng)程序設(shè)計(jì)能力的重要基礎(chǔ)。
3 培養(yǎng)程序設(shè)計(jì)能力的有效策略
知識的價(jià)值在于運(yùn)用,知識的運(yùn)用需要技能,而技能的形成則依賴訓(xùn)練。程序設(shè)計(jì)知識的學(xué)習(xí)和能力的培養(yǎng)需要各方面的知識基礎(chǔ),它是一個(gè)系統(tǒng)的教育訓(xùn)練過程,需要多個(gè)教學(xué)環(huán)節(jié)的緊密配合才能完成。
1)明確教學(xué)要求
程序設(shè)計(jì)語言課程一般是為應(yīng)用性教學(xué)而設(shè)置的,因此,課程的教學(xué)不僅僅是傳授知識,而且應(yīng)該強(qiáng)調(diào)應(yīng)用性,應(yīng)該以培養(yǎng)學(xué)生的能力為主。程序設(shè)計(jì)語言的內(nèi)容比較豐富,在教學(xué)中如果面面俱到,必會(huì)耗費(fèi)較多課時(shí),而且教學(xué)效果不一定好。因?yàn)檫^分強(qiáng)調(diào)程序設(shè)計(jì)語言的系統(tǒng)性和完整性就可能會(huì)轉(zhuǎn)移學(xué)生對課程重點(diǎn)的注意力,關(guān)鍵在于教會(huì)學(xué)生如何正確運(yùn)用程序設(shè)計(jì)語言編寫程序,訓(xùn)練實(shí)用編程能力。所以必須突出重點(diǎn),突出應(yīng)用性,側(cè)重教思想,即把程序設(shè)計(jì)語言的基本思想、基本、基本概念、基本知識和基本方法教給學(xué)生,使他們在學(xué)習(xí)中對硬件、軟件環(huán)境、程序設(shè)計(jì)的基本思想和基本技巧,所學(xué)程序設(shè)計(jì)語言的基本概念和使用方法以及編程技術(shù)有一個(gè)比較全面的感性認(rèn)識,從而提高解決實(shí)際問題的能力。
2)打好基礎(chǔ)。嚴(yán)格的數(shù)學(xué)訓(xùn)練是程序設(shè)計(jì)能力的基礎(chǔ),學(xué)習(xí)和加強(qiáng)排列與組合、數(shù)列、數(shù)學(xué)歸納法等離散系統(tǒng)的數(shù)學(xué)方法對提高程序設(shè)計(jì)能力尤為重要。問題描述和建立數(shù)學(xué)模型是程序設(shè)計(jì)的前奏,數(shù)學(xué)歸納法、窮舉法、構(gòu)造證明法等證明技巧是算法設(shè)計(jì)方法的基礎(chǔ)。
3)強(qiáng)化水平。程序設(shè)計(jì)的符號系統(tǒng)以英語為基礎(chǔ),程序設(shè)計(jì)文檔語言首選英語。英文資料是最新和最大的技術(shù)資料來源,英語水平是我國軟件產(chǎn)業(yè)發(fā)展和參與國際競爭的制約因素。
4)重視閱讀訓(xùn)練。從某種意義上來說,程序設(shè)計(jì)是用程序設(shè)計(jì)語言和方法進(jìn)行的一種?梢韵胂,如果學(xué)生沒有閱讀過一份完整、規(guī)范、有實(shí)用價(jià)值的標(biāo)準(zhǔn)程序,即使記住了有關(guān)語言的語法規(guī)則,也不可能寫出像樣的程序。所以,大量閱讀、分析、修改和擴(kuò)充典型的算法和程序,是提高程序?qū)懽髂芰Φ挠行緩。而這個(gè)重要學(xué)習(xí)環(huán)節(jié)往往未得到應(yīng)有的重視,缺乏配套的程序設(shè)計(jì)閱讀分析教材。教師應(yīng)經(jīng)常學(xué)生閱讀程序,理解程序,提高學(xué)生分析程序的能力。
5)注重算法設(shè)計(jì),突出數(shù)據(jù)結(jié)構(gòu)內(nèi)容。瑞士科學(xué)家、PASCAL語言和MODULA-2語言的發(fā)明者沃思(Wirth)教授提出了著名的公式:程序=算法+數(shù)據(jù)結(jié)構(gòu)。這個(gè)公式表達(dá)了程序的實(shí)質(zhì),說明對于一個(gè)程序設(shè)計(jì)問題來講,算法與程序設(shè)計(jì)是緊密聯(lián)系的,絕不能脫離數(shù)據(jù)結(jié)構(gòu)去講解算法設(shè)計(jì)。程序設(shè)計(jì)語言的教學(xué)應(yīng)該結(jié)合數(shù)據(jù)結(jié)構(gòu)的基本內(nèi)容。對于同一個(gè)計(jì)算問題,選用不同的數(shù)據(jù)結(jié)構(gòu),其算法大不一樣,算法的優(yōu)劣程度也不同。因此,要教會(huì)學(xué)生對不同的問題選擇合適的數(shù)據(jù)結(jié)構(gòu)。在整個(gè)程序設(shè)計(jì)課程中,必須強(qiáng)調(diào)算法設(shè)計(jì)方法,通過不斷的算法設(shè)計(jì)訓(xùn)練,使學(xué)生切實(shí)掌握迭代、枚舉、遞歸、分類等常用算法設(shè)計(jì)方法。
6)更新教學(xué)內(nèi)容。計(jì)算機(jī)學(xué)科是一門綜合性學(xué)科,而且程序設(shè)計(jì)語言的應(yīng)用領(lǐng)域在不斷擴(kuò)大和發(fā)展。因此,在教學(xué)中應(yīng)結(jié)合專業(yè)的特點(diǎn)和教學(xué)的要求,將軟件工程的思想方法貫穿于整個(gè)教學(xué)過程,介紹程序設(shè)計(jì)語言的最新發(fā)展和應(yīng)用,重視面向?qū)ο蟪绦蛟O(shè)計(jì)方法的引入,搞好教材內(nèi)容的更新。如圖形程序設(shè)計(jì)、下拉式或彈出式菜單、計(jì)算機(jī)病毒防治等等。這樣不僅能把最新的知識和最新發(fā)展動(dòng)態(tài)充實(shí)到教學(xué)上來,大大豐富了教學(xué)內(nèi)容,而且使學(xué)生加深對程序設(shè)計(jì)語言的理解和掌握,保持對信息技術(shù)和專業(yè)的興趣,及時(shí)跟上信息技術(shù)日新月異的發(fā)展趨勢,在今后工作中保持領(lǐng)先地位。
7)采用先進(jìn)教學(xué)手段。用傳統(tǒng)的課堂教學(xué)方法講授動(dòng)態(tài)的算法和數(shù)據(jù)結(jié)構(gòu)是十分低效的,像排序、遞歸等抽象動(dòng)態(tài)的內(nèi)容講解就常常是費(fèi)力不討好。應(yīng)該根據(jù)課程特點(diǎn),采用先進(jìn)的現(xiàn)代教學(xué)方法,如直觀教學(xué)方法:利用掛圖、教具等講解,以及計(jì)算機(jī)輔助教學(xué)(CAI)和計(jì)算機(jī)輔助學(xué)習(xí)(Computer Aided Learning,簡稱CAL)進(jìn)行教學(xué),通常開發(fā)利用與課程內(nèi)容與教學(xué)特點(diǎn)相適應(yīng)的多媒體課件進(jìn)行教學(xué)。它們是講解算法和進(jìn)行程序設(shè)計(jì)訓(xùn)練的最佳教學(xué)平臺,既能增加學(xué)習(xí)的趣味性,又可利用圖形的直觀性幫助抽象和動(dòng)態(tài)過程的理解。
8)加強(qiáng)實(shí)踐環(huán)節(jié),強(qiáng)化創(chuàng)造性思維能力培養(yǎng)。在教學(xué)中,常常聽到學(xué)生提出這樣的問題:“程序設(shè)計(jì)語言有什么用?”,有的學(xué)生還反映:“程序設(shè)計(jì)語言并不難學(xué),就是不知道如何應(yīng)用?”一些學(xué)生學(xué)到了一定的科學(xué)知識,但上機(jī)動(dòng)手水平低。這種現(xiàn)象與普遍忽視實(shí)踐環(huán)節(jié)有關(guān)。為了扭轉(zhuǎn)這一局面,在整個(gè)教學(xué)過程中,必須強(qiáng)調(diào)實(shí)踐環(huán)節(jié)的重要性,充分安排上機(jī)實(shí)踐時(shí)間,加強(qiáng)系統(tǒng)訓(xùn)練和實(shí)踐能力的培養(yǎng),強(qiáng)化創(chuàng)造性思維能力培養(yǎng)。根據(jù)課程特點(diǎn),在教學(xué)中,采用案例驅(qū)動(dòng)教學(xué),進(jìn)行興趣引導(dǎo);在實(shí)踐中,可以精心組織一系列由易到難、由淺入深、配套銜接、結(jié)合學(xué)科學(xué)習(xí)、有一定設(shè)計(jì)技巧的程序設(shè)計(jì)作業(yè),最后再安排一次綜合性強(qiáng)、有一定難度的課程設(shè)計(jì)實(shí)踐,對學(xué)生進(jìn)行項(xiàng)目訓(xùn)練,提高學(xué)生應(yīng)用能力。通過上機(jī)作業(yè)和課程設(shè)計(jì)的完成,使學(xué)生獨(dú)立思考,各顯才干,經(jīng)驗(yàn),培養(yǎng)他們的動(dòng)手能力和編程能力,以及分析問題和解決問題的能力。
4 結(jié)論
總之,培養(yǎng)學(xué)生計(jì)算機(jī)程序設(shè)計(jì)能力的方法和途徑很多,但是編程序不難,編好程序不易。作為教師,必須從培養(yǎng)學(xué)生編程思維的角度出發(fā),按照以上策略認(rèn)真進(jìn)行編程知識的教學(xué)和技能的培養(yǎng),加強(qiáng)實(shí)踐,提高學(xué)生科學(xué)思維的能力,真正學(xué)會(huì)程序設(shè)計(jì)的真本領(lǐng)。
參考文獻(xiàn):
[1] 孫善武,王楠.淺談程序設(shè)計(jì)語言課程教學(xué)方法[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2005(S2).
[2] 徐進(jìn)華.提高學(xué)生程序設(shè)計(jì)能力的幾個(gè)措施[J].計(jì)算機(jī)時(shí)代,2005(11).
[3] 李凌.淺談高級語言程序設(shè)計(jì)課堂教學(xué)方法[J].淮北職業(yè)技術(shù)學(xué)院學(xué)報(bào),2005(04).
[4] 劉達(dá)明.如何提高計(jì)算機(jī)專業(yè)的C語言教學(xué)質(zhì)量[J].計(jì)算機(jī),2005(8).
[5] 李相海.初等教育信息技術(shù)課程教學(xué)論[M].鄭州:鄭州大學(xué)出版社,2008.1.
請繼續(xù)閱讀相關(guān)推薦:畢業(yè)論文 應(yīng)屆生求職
畢業(yè)論文范文查看下載 查看的論文開題報(bào)告 查閱參考論文提綱
查閱更多的畢業(yè)論文致謝 相關(guān)畢業(yè)論文格式 查閱更多論文答辯
【培養(yǎng)學(xué)生程序設(shè)計(jì)能力的有效策略】相關(guān)文章:
關(guān)于培養(yǎng)初中學(xué)生英語口語能力有效策略探究11-16
對高二學(xué)生英語閱讀策略的培養(yǎng)12-01
培養(yǎng)學(xué)生學(xué)習(xí)興趣的策略論文11-12
高考增分的有效策略03-05
指導(dǎo)朗讀的有效策略分析12-11
企業(yè)高職學(xué)生信息素養(yǎng)培養(yǎng)策略研究12-04
關(guān)于高職院校學(xué)生職業(yè)能力的培養(yǎng)策略12-11
- 相關(guān)推薦