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