摘要:Delphi程序設(shè)計(jì)作為計(jì)算機(jī)專業(yè)課,其理論性、實(shí)踐性強(qiáng),教學(xué)難度大。該文對(duì)就如何提高教學(xué)質(zhì)量,培養(yǎng)學(xué)生綜合應(yīng)用程序開(kāi)發(fā)能力作了探索和改革。
關(guān)鍵詞:Delphi;程序設(shè)計(jì);改革;實(shí)踐
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)36-10500-02
Delphi Programming Curriculum Reform and Research
GE Huai-yu
(Tianjin Coastal Polytechnic, Tianjin 300451, China)
Abstract: Delphi programming as a public professional computer-based lessons, theory and practice strong, and teaching difficult. The article on how to improve the quality of teaching and training students in an integrated application development capabilities and explore reforms were made.
Key words: Delphi; programming; reform; practice
Delphi程序設(shè)計(jì)是我校計(jì)算機(jī)網(wǎng)絡(luò)專業(yè)學(xué)生的專業(yè)課,然而Delphi所用Object Pascal語(yǔ)言枯燥、難以理解,學(xué)生缺乏相應(yīng)的知識(shí)背景,導(dǎo)致學(xué)生對(duì)程序語(yǔ)言有恐懼心理,缺乏興趣。這就要求我在教學(xué)中分析、摸索出一些較為行之有效的教學(xué)方法,才能培養(yǎng)學(xué)生程序設(shè)計(jì)能力,掌握技能,激發(fā)學(xué)生對(duì)程序設(shè)計(jì)的興趣。我在近幾年的教學(xué)實(shí)踐中進(jìn)行了一些改革探索,取得了良好的教學(xué)效果。
1 教學(xué)改革與實(shí)施
1.1 對(duì)課本原有知識(shí)進(jìn)行整合,激發(fā)學(xué)生的學(xué)習(xí)興趣
大部分的教材總是先講Pascal語(yǔ)言的基本語(yǔ)法,然后再講Delphi中組件的使用。但在講授時(shí)不宜將兩者分開(kāi),要把Delphi面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,事件驅(qū)動(dòng)的編程機(jī)制貫穿于整個(gè)教學(xué)過(guò)程中。Delphi中的組件主要用于創(chuàng)建界面,而具體程序功能的實(shí)現(xiàn)則要編寫(xiě)代碼行,因此任何一個(gè)完整的應(yīng)用程序都不可能只用對(duì)象或只用語(yǔ)法。這兩塊內(nèi)容可進(jìn)行穿插講解。這樣就避免了讓學(xué)生在毫無(wú)知識(shí)背景的情況下去理解抽象難懂的概念,挫傷他們編程的積極性。在教學(xué)過(guò)程中,我始終堅(jiān)持以學(xué)生已有的知識(shí)程度為基礎(chǔ),打破原有的以課本知識(shí)的邏輯結(jié)構(gòu)為順序組織課堂教學(xué)的模式,先不講基本概念,改用從簡(jiǎn)單的實(shí)例人手,通過(guò)讓學(xué)生觀看、模仿,在實(shí)際操作中去探究和領(lǐng)悟這些概念,并適時(shí)地加以歸納總結(jié),讓學(xué)生在輕松愉快的氣氛中接受新知識(shí)。比如,在講到循環(huán)結(jié)構(gòu)中Repeat語(yǔ)句、While語(yǔ)句和For語(yǔ)句的用法時(shí),我用實(shí)現(xiàn)統(tǒng)計(jì)英文字符個(gè)數(shù)的過(guò)程,讓學(xué)生去觀察、領(lǐng)悟它們的異同。
1.2 教學(xué)方法多樣化
我在教學(xué)實(shí)踐中,除了采用傳統(tǒng)的教學(xué)方法如:提問(wèn)法、小組討論法外,還采用了以下教學(xué)方法:
1.2.1 錯(cuò)例分析法
學(xué)生對(duì)編程語(yǔ)言的掌握需要一個(gè)過(guò)程,對(duì)語(yǔ)句的用法、結(jié)構(gòu)知識(shí)需要不斷積累。學(xué)習(xí)過(guò)程中,能聽(tīng)懂老師授課的內(nèi)容,但自己編制的程序往往錯(cuò)誤百出。課堂上,我經(jīng)常將容易出錯(cuò)的概念以反例形式展示給學(xué)生,讓他們找錯(cuò)誤,通過(guò)運(yùn)行。比如if語(yǔ)句中復(fù)合語(yǔ)句的用法。(//后文字為提示)
如果在編輯框中輸入數(shù)字10就彈出相應(yīng)提示框后,退出程序,否則繼續(xù)運(yùn)行本程序。可以使用以下代碼:procedure TForm1.Button1Click(Sender: TObject);//系統(tǒng)自動(dòng)添加
begin//系統(tǒng)自動(dòng)添加
if edit1.Text='10' then
begin
showmessage('退出本程序');
close;
end;
end; //系統(tǒng)自動(dòng)添加
不能寫(xiě)成:
procedure TForm1.Button1Click(Sender: TObject);//系統(tǒng)自動(dòng)添加
begin//系統(tǒng)自動(dòng)添加
if edit1.Text='10' then
showmessage('退出本程序');
close;
end; //系統(tǒng)自動(dòng)添加
很多學(xué)生會(huì)忘記使用復(fù)合語(yǔ)句的概念,寫(xiě)成后一種形式。這樣輸入任何數(shù)字都會(huì)退出,只有輸入數(shù)字10個(gè)出提示信息然后退出。 通過(guò)諸如此類的反例教學(xué),使學(xué)生豁然開(kāi)朗,印象深刻。
1.2.2 小實(shí)例和核心實(shí)例結(jié)合
小例題教學(xué)法,對(duì)每個(gè)知識(shí)點(diǎn)的運(yùn)用和理解是非常行之有效的,但對(duì)前后知識(shí)的貫穿缺乏說(shuō)服力。我在教學(xué)改革實(shí)踐中體會(huì)到,除經(jīng)典的小例題外,將一個(gè)規(guī)模較大的、典型的、有實(shí)用價(jià)值的、學(xué)生感興趣的核心實(shí)例貫穿于教學(xué)全過(guò)程,對(duì)提高學(xué)生的編程能力非常幫助。所謂核心實(shí)例是指,實(shí)例從小到大、隨章節(jié)的展開(kāi)而逐步成長(zhǎng),呈現(xiàn)為逐步進(jìn)化的多個(gè)版本。比如引入一個(gè)貫串全書(shū)的問(wèn)題:設(shè)計(jì)一個(gè)“宿舍管理系統(tǒng)”。首先,用最基本的概念和最簡(jiǎn)單的結(jié)構(gòu),給出該系統(tǒng)的第一個(gè)版本,以后的每一次課,都對(duì)該系統(tǒng)提出新的功能和結(jié)構(gòu)上的要求,并用本次課程介紹的概念和方法對(duì)它進(jìn)行功能上的擴(kuò)充和結(jié)構(gòu)上的改進(jìn)。每次得到該系統(tǒng)的一個(gè)增強(qiáng)的版本。為達(dá)到設(shè)計(jì)目標(biāo),學(xué)生隨著教學(xué)的進(jìn)程,可以積極投入到對(duì)實(shí)例系統(tǒng)的調(diào)試、改進(jìn)的實(shí)踐中,逐漸掌握了所學(xué)的基本知識(shí),同時(shí)也提高了編程能力。
1.3 重視實(shí)踐教學(xué),培養(yǎng)學(xué)生綜合應(yīng)用程序開(kāi)發(fā)能力
DELPHI 是一門(mén)實(shí)踐性很強(qiáng)的課程,如果只紙上談兵,不上機(jī)練習(xí),是不可能真正掌握Delphi程序開(kāi)發(fā)的。實(shí)踐教學(xué)主要注意抓住以下幾點(diǎn):
1.3.1 模仿階段
對(duì)課堂核心實(shí)例系統(tǒng)的調(diào)試、改進(jìn)。核心實(shí)例的每次增強(qiáng)版是全面反映教學(xué)內(nèi)容的,學(xué)生通過(guò)模仿、知識(shí)再現(xiàn)達(dá)到在實(shí)踐中領(lǐng)悟知識(shí),開(kāi)拓編程思路。
1.3.2 分層次階段
在教學(xué)過(guò)程實(shí)施的開(kāi)始,和核心實(shí)例同步,我就給出了幾個(gè)類似核心實(shí)例的課程設(shè)計(jì)內(nèi)容,供學(xué)生選擇。對(duì)核心實(shí)例的調(diào)試比較成功的,可以同步實(shí)施自己所學(xué)的課程設(shè)計(jì)內(nèi)容,達(dá)到培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力。對(duì)掌握核心實(shí)例有困難的學(xué)生,針對(duì)教學(xué)內(nèi)容重新布置實(shí)驗(yàn),強(qiáng)化知識(shí)鞏固。課程設(shè)計(jì)內(nèi)容課后上機(jī)完成。
要掌握上面兩個(gè)階段的具體情況,教師應(yīng)親自指導(dǎo),與學(xué)生一起上機(jī)實(shí)驗(yàn),隨時(shí)掌握學(xué)生實(shí)驗(yàn)過(guò)程。對(duì)學(xué)生提出的問(wèn)題及時(shí)予以指導(dǎo),而發(fā)現(xiàn)學(xué)生常犯的共性錯(cuò)誤,可在馬上進(jìn)行點(diǎn)評(píng)。
1.4 培養(yǎng)學(xué)生使用標(biāo)準(zhǔn)編碼,養(yǎng)成良好編程習(xí)慣
在程序設(shè)計(jì)過(guò)程中,使用標(biāo)準(zhǔn)編碼可以避免一些不必要的錯(cuò)誤。我在授課過(guò)程當(dāng)中使用標(biāo)準(zhǔn)編碼的實(shí)例,在講解實(shí)例過(guò)程中對(duì)學(xué)生進(jìn)行適當(dāng)?shù)匾龑?dǎo),讓學(xué)生養(yǎng)成一個(gè)良好的編程習(xí)慣。
程序書(shū)寫(xiě)規(guī)范是非常重要問(wèn)題,不僅書(shū)寫(xiě)格式應(yīng)該結(jié)構(gòu)層次分明,而且程序里面應(yīng)添加起碼的注釋。不按照標(biāo)準(zhǔn)書(shū)寫(xiě)程序會(huì)增加查看程序的難度,同時(shí)也不利于以后上機(jī)調(diào)試修改。
2 結(jié)束語(yǔ)
一門(mén)課程的教學(xué)是一個(gè)復(fù)雜的系統(tǒng)工程,我將以上一些改革和探索用在課堂教學(xué)和實(shí)踐教學(xué)中,取得了一些效果,但教學(xué)有法,教無(wú)定法,只要教學(xué)得法。在教學(xué)實(shí)踐中,合理運(yùn)用多種教學(xué)方法,靈活地、創(chuàng)造性地掌握教學(xué)過(guò)程,激發(fā)學(xué)生的興趣,培養(yǎng)學(xué)生的創(chuàng)造性思維和綜合應(yīng)用程序開(kāi)發(fā)能力。
參考文獻(xiàn):
[1] 黃曉敏.Delphi程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2004.
[2] 孫安躍.DELPHI程序設(shè)計(jì)實(shí)例教程[M].北京:機(jī)械工業(yè)出版社,2007.