時(shí)間:2023-03-16 15:41:25
導(dǎo)語(yǔ):在vb程序設(shè)計(jì)論文的撰寫旅程中,學(xué)習(xí)并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優(yōu)秀范文,愿這些內(nèi)容能夠啟發(fā)您的創(chuàng)作靈感,引領(lǐng)您探索更多的創(chuàng)作可能。

論文摘要:《VISUALBASlC程序設(shè)計(jì)》是中等職業(yè)學(xué)校計(jì)算機(jī)專業(yè)的必修課之一,由于其不僅要求有較扎實(shí)的理論基礎(chǔ),而且對(duì)實(shí)操能力要求也比較高,使得很多學(xué)生望而怯步,增大了老師教學(xué)難度大,教學(xué)效果也深受影響。本文闡述了造成vb課堂教學(xué)效果不佳的原因及改善這一現(xiàn)狀的辦法。
VB于1991年誕生在美國(guó),經(jīng)過二十多年的發(fā)展日趨成熟。它一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。功能強(qiáng)大可以高效、快速地開發(fā)Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。
如今VB課程已經(jīng)成為了中等職業(yè)學(xué)校計(jì)算機(jī)專業(yè)的一門公共基礎(chǔ)課程。筆者在近幾年教學(xué)中發(fā)現(xiàn)了許多問題,并積極地探索解決的方法,現(xiàn)在這里和大家交流交流。
一、教學(xué)效果不佳的原因
首先,中職學(xué)校的生源素質(zhì)普遍偏低。眾所周知,他們大多是中考失敗者,缺乏學(xué)習(xí)主動(dòng)性及自我學(xué)習(xí)能力,在初中的時(shí)候數(shù)學(xué)成績(jī)就比較差使得邏輯思維能力不強(qiáng),而VB這門課程就需要的就是較強(qiáng)的邏輯思維能力,這樣就造成了在學(xué)習(xí)的時(shí)候頗為吃力;其次,英語(yǔ)基礎(chǔ)差影響動(dòng)手能力。VB不僅強(qiáng)調(diào)理論知識(shí),在動(dòng)手操作方面要求也是頗高,對(duì)英語(yǔ)水平也有一定的要求。對(duì)于初中畢業(yè)的學(xué)生來(lái)說英語(yǔ)水平比較差,很難記住VB的命令,對(duì)控件的使用屬性中的英語(yǔ)有的也不認(rèn)識(shí),更不要說利用命令來(lái)解決問題了;最后,很難建立程序設(shè)計(jì)的思想。由于學(xué)生在學(xué)習(xí)VB課程之前沒有接觸過任何程序設(shè)計(jì)方面的知識(shí),要理解程序設(shè)計(jì)中的面向?qū)ο?、語(yǔ)法結(jié)構(gòu)等專業(yè)知識(shí)比較困難。在這么多困難下,學(xué)生往往很容易產(chǎn)生畏懼的情緒,還役入門就已經(jīng)放棄了學(xué)習(xí),所以老師如何設(shè)計(jì)好教學(xué)過程,更好的引導(dǎo)學(xué)生學(xué)習(xí)顯得格外重要。
二、提高教學(xué)效果的幾個(gè)辦法
做為一名教學(xué)工作者,筆者一直努力探索如何提高VB的教學(xué)效果,引導(dǎo)好學(xué)生學(xué)好這門課程?,F(xiàn)在這里談?wù)勛约涸谄?時(shí)教學(xué)中使用的一些辦法。
(一)“低起點(diǎn)、緩坡度、密臺(tái)階”的教學(xué)理念
“低起點(diǎn)”就是在課本要求的基礎(chǔ)上再降低難度,讓學(xué)生一開始學(xué)習(xí)就能夠很輕松上手,因?yàn)榇蟛糠终J(rèn)為程序設(shè)計(jì)課程高深莫測(cè),很難學(xué)懂,進(jìn)而產(chǎn)生的恐懼心理;“緩坡度”即是在教授知識(shí)時(shí),難度要循序漸進(jìn),不能夠一味的“拔高”,讓學(xué)生能夠扎實(shí)的掌握每一個(gè)知識(shí),一步一個(gè)腳印,慢慢提高?!懊芘_(tái)階”是教學(xué)中層次結(jié)合要緊密,盡量減少知識(shí)點(diǎn)的跳躍,緊密的教學(xué)內(nèi)容讓學(xué)生形成緊密的知識(shí)鏈,對(duì)學(xué)生學(xué)習(xí)提 高十分有利。
(二)“建立快樂課堂”的教學(xué)目標(biāo)
快樂是人精神上的一種愉悅,是一種心靈上的滿足,它會(huì)使一個(gè)人變得開心。所以把快樂帶給學(xué)生也是課堂教學(xué)的一個(gè)關(guān)鍵。人只有心情愉快的時(shí)候才能提高學(xué)習(xí)效率,才能使人學(xué)習(xí)進(jìn)步,筆者一直本著讓學(xué)生快快樂樂學(xué)習(xí),快快樂樂靠大學(xué) 的想法,開展了快樂課堂。 第一,幽默的語(yǔ)言。語(yǔ)言也是一種藝術(shù),而幽默的語(yǔ)言往往是建立和諧J渝決氣氛的催化劑。在課堂教學(xué)中,學(xué)生要獲得快樂就必須有一個(gè)愉快的氣氛,老師在課堂中就是“指揮官”,也是可以說是“導(dǎo)演”,一個(gè)小小的幽默就能激發(fā)學(xué)生的“快樂分子”,讓課堂氣氛輕松,決。
第二,親切的教學(xué)態(tài)度。要讓快樂貫通整個(gè)課堂,親切的教態(tài)是必不可少的。人與人相處,態(tài)度非常重要,你給別人一個(gè)微笑,別人會(huì)給你更多的微笑,你給比人一份關(guān)心,別人給你的關(guān)心會(huì)更多更多。
第三,教學(xué)設(shè)計(jì)多添加“快樂元素”。教學(xué)設(shè)計(jì)是整個(gè)教學(xué)環(huán)節(jié)的重中之中,它的好壞直接影響這節(jié)課的質(zhì)量。在教學(xué)中添加快樂元素是建立快樂課堂的重要手段之一。如在教學(xué)中穿插游戲、比賽、討論等內(nèi)容,有利于課堂氣氛的調(diào)節(jié)。
第四,讓他們感受成功的喜悅。成功是每個(gè)人向往的,它能給你帶來(lái)快樂、建立信心。在v$學(xué)習(xí)中的成功莫過于設(shè)計(jì)的作品能順利運(yùn)行,教學(xué)老師應(yīng)該多給學(xué)生感受成功的機(jī)會(huì)。例如遇到較難的間題,可以分解成若干小問題逐個(gè)解決,提高成功率,保護(hù)學(xué)生的學(xué)習(xí)積極性。成功讓他們跟有自信,有了自信學(xué)習(xí)起來(lái)就會(huì)更有興趣。
(三)“趣味案例”的教學(xué)方法
論文摘 要:NetMeeting是從Windows95/98操作系統(tǒng)開始就捆綁搭載的廉價(jià)優(yōu)質(zhì)網(wǎng)絡(luò)通訊軟件。作者利用該軟件為學(xué)生構(gòu)建計(jì)算機(jī)課程教學(xué)環(huán)境,通過產(chǎn)生一種具有互動(dòng)共享式的學(xué)習(xí)環(huán)境,不僅激發(fā)學(xué)生的學(xué)習(xí)興趣和主動(dòng)性,而且在實(shí)踐中利于嘗試各種教學(xué)方法,從而提高教學(xué)效果。
NetMeeting是Windows操作系統(tǒng)中集成的一款實(shí)用通訊軟件,用戶利用它可以在Intenet或局域網(wǎng)絡(luò)上輕松實(shí)現(xiàn)文件傳送、共享桌面、遠(yuǎn)程管理、語(yǔ)音通迅等功能。在教學(xué)實(shí)踐過程中,筆者利用NetMeeting構(gòu)建了《Visual basic語(yǔ)言程序設(shè)計(jì)》課程教學(xué)環(huán)境,在實(shí)踐教學(xué)中嘗試采用各種教學(xué)方法,取得了良好的教學(xué)效果。后經(jīng)推廣到其他計(jì)算機(jī)語(yǔ)言(如C語(yǔ)言,VF語(yǔ)言等)教學(xué),也達(dá)到了同樣的預(yù)期效果。
1 NetMeeting教學(xué)環(huán)境的的架構(gòu)
由于筆者所在的教學(xué)機(jī)房中各機(jī)已經(jīng)構(gòu)成局域網(wǎng)環(huán)境,并且都已經(jīng)安裝XP操作系統(tǒng),而NetMeeting軟件是Windows操作系統(tǒng)自帶的,因此不需要另外安裝。具體實(shí)現(xiàn)方法如下。
(1)公共設(shè)置:教師機(jī)和學(xué)生機(jī)均要完成這部分設(shè)置。具體步驟是:選擇任務(wù)欄左下腳的“開始”菜單,選擇“運(yùn)行”選項(xiàng),然后在“運(yùn)行”對(duì)話框中輸入“conf”命令。第一次運(yùn)行時(shí)需要按照向?qū)У奶崾驹O(shè)置自己的名字和電子郵件等信息,完成設(shè)置后會(huì)在操作系統(tǒng)桌面上生成NetMeeting的快捷圖標(biāo),以后只要雙擊就可直接啟動(dòng)。
(2)教師機(jī)設(shè)置:首先單擊NetMeeting面板菜單上“呼叫”欄的“主持會(huì)議”按鈕,根據(jù)彈出的對(duì)話框里具體說明進(jìn)行選擇確認(rèn)。然后再點(diǎn)“呼叫”欄的“自動(dòng)接受呼叫”按鈕,這樣可以自動(dòng)接受學(xué)生的呼叫。最后點(diǎn)“工具”欄的“共享”按鈕,選擇桌面共享,教師機(jī)的屏幕將同步顯示在學(xué)生的屏幕上,實(shí)現(xiàn)操作演示。
(3)學(xué)生機(jī)設(shè)置:?jiǎn)螕鬘etMeeting面板菜單上“進(jìn)行呼叫”按鈕,在彈出的對(duì)話框里輸入公布的教師機(jī)IP地址,教師機(jī)將自動(dòng)接受其呼叫請(qǐng)求,NetMeeting的名稱窗口將會(huì)出現(xiàn)被呼叫人和呼叫人的頭像和名稱。
在NetMeeting窗口下方包含四個(gè)選項(xiàng):共享、聊天、白板和文件傳送,這四項(xiàng)包含了NetMeeting的主要功能。利用以上功能可以實(shí)現(xiàn)學(xué)生機(jī)與教師機(jī)同步演示、文字互動(dòng)交談,可以將簡(jiǎn)單圖形或文字發(fā)送到所有學(xué)生機(jī)的屏幕上,一次性將作業(yè)或輔導(dǎo)材料發(fā)送給所有學(xué)生。至此完成NetMeeting教學(xué)環(huán)境的架構(gòu),為計(jì)算機(jī)教學(xué)創(chuàng)造了基本條件。
2 NetMeeting下計(jì)算機(jī)語(yǔ)言教學(xué)模式的幾點(diǎn)嘗試
在VB程序設(shè)計(jì)教學(xué)過程中,如何解決程序設(shè)計(jì)本身枯燥、不易理解這個(gè)問題,找到一條比較新穎的教學(xué)方式,一直是廣大計(jì)算機(jī)教師頗感興趣的課題,筆者在基于NetMeeting下大膽嘗試各種教學(xué)方法。
2.1 先入為主教學(xué)法
VB語(yǔ)言所涉及的內(nèi)容多,控件屬性、事件、方法也較多,學(xué)生在毫無(wú)知識(shí)背景的前提下如果教學(xué)開始階段就過多講授這些抽象概念,學(xué)生就會(huì)感到枯燥乏味,容易喪失學(xué)習(xí)編程的積極性。因此,在第一節(jié)課,就采取先入為主法,具體就是讓學(xué)生在教師指引下直接進(jìn)入編程環(huán)境,從創(chuàng)建最簡(jiǎn)單的程序入手,如在窗體上添加一個(gè)COMMAND1命令按鈕,要求單擊它就在窗體上輸出一段文字。此程序雖然簡(jiǎn)單,但很好闡述了VB面向?qū)ο蟮氖录?qū)動(dòng)編程機(jī)制。至此,教師再引入VB的基本概念就水到渠成,學(xué)生也更容易接受理解,從而打破編程的神秘感,為進(jìn)一步學(xué)習(xí)創(chuàng)造了良好的氛圍。
根據(jù)NetMeeting教學(xué)環(huán)境本身的特點(diǎn),開始階段要求學(xué)生和教師一起編程序,突出編程這個(gè)主線,貫徹始終,在實(shí)踐中由同學(xué)們自己直觀上先去體悟這些概念,待時(shí)機(jī)成熟時(shí)再和同學(xué)們一起歸納總結(jié),不斷啟發(fā)學(xué)生思維,培養(yǎng)獨(dú)立編程能力。
2.2 娛樂式教學(xué)法
在程序設(shè)計(jì)教學(xué)中從學(xué)生的興趣入手,利用學(xué)生對(duì)事物的好奇心,選擇一些有趣的、有實(shí)際意義的程序,激發(fā)學(xué)生的學(xué)習(xí)熱情。二十歲左右青年學(xué)生一般對(duì)游戲都感興趣,因此在教學(xué)中,嘗試引入一些小游戲程序后,發(fā)現(xiàn)能很快帶動(dòng)課堂氣氛。筆者引入的是古典的猜數(shù)字游戲,就是計(jì)算機(jī)在1~100之間產(chǎn)生隨機(jī)的某個(gè)整數(shù),讓游戲者猜出其具體值,根據(jù)你猜的數(shù)字計(jì)算機(jī)給出提示是過大還是過小,從而一步步逼近具體值,最后統(tǒng)計(jì)出游戲者猜出正確結(jié)果所花的次數(shù)。這個(gè)程序把VB當(dāng)中的條件判斷語(yǔ)句、輸入框、消息框、數(shù)據(jù)類型的定義、隨機(jī)數(shù)的產(chǎn)生等幾個(gè)重要概念都攬括了,既讓學(xué)生在輕松快樂的氣氛下既掌握到了編程所需要的基本概念,又讓其體驗(yàn)到了編程的樂趣。學(xué)生通過對(duì)游戲程序不斷比較和完善,對(duì)重要語(yǔ)法結(jié)構(gòu)、相關(guān)概念及關(guān)鍵性語(yǔ)句均有了較深刻的體會(huì),而這是一些傳統(tǒng)程序例子所難以企及的。
2.3 重復(fù)式教學(xué)法
不斷的重復(fù)再重復(fù)就是成功,因此重復(fù)也是學(xué)習(xí)中一個(gè)很重要的方法。從學(xué)生開始的懵懂到有所領(lǐng)悟到最后的理解,都是在經(jīng)歷相似的編程經(jīng)歷之后達(dá)到了,所以說這是個(gè)不斷循序漸進(jìn)的過程,而這個(gè)過程是不論采用什么先進(jìn)教學(xué)方法都是不可跨越的。VB涉及的知識(shí)點(diǎn)很多,為力求重點(diǎn)突出,筆者在教學(xué)過程中,對(duì)前面章節(jié)中的常見標(biāo)準(zhǔn)內(nèi)部函數(shù)、字符串函數(shù)等基本概念,就沒有專門一一去介紹,而是通過主要語(yǔ)句的實(shí)例教學(xué)得以體現(xiàn)。因此重復(fù)式教學(xué)法不是針對(duì)所有知識(shí)點(diǎn),而是把握重要知識(shí)鏈,通過教師示范編程、學(xué)生簡(jiǎn)單模仿、獨(dú)立編寫程序這樣不斷重復(fù)的強(qiáng)化訓(xùn)練,使學(xué)生較快掌握編程基本思想。
3 結(jié)語(yǔ)
科技的進(jìn)步和發(fā)展給我們提供了良好的條件?;贜etMeeting網(wǎng)絡(luò)開放式環(huán)境下的計(jì)算機(jī)語(yǔ)言教學(xué),其教學(xué)模式的構(gòu)建涉及教育觀念的更新、教學(xué)方法的改革、給教學(xué)賦予新的含義等等。本文進(jìn)行了相關(guān)方面的探討與研究,希望能夠拋磚引玉,共同探索出在網(wǎng)絡(luò)環(huán)境下適于現(xiàn)代化教育要求的教學(xué)模式。
參考文獻(xiàn)
[1] 裴娣娜.教育研究方法導(dǎo)論[M].安徽教育出版社,2000.
關(guān)鍵詞:AutoCAD,二次開發(fā)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)軟件在工程設(shè)計(jì)領(lǐng)域的應(yīng)用越來(lái)越廣。在機(jī)械、電子、建筑等行業(yè),應(yīng)用計(jì)算機(jī)軟件進(jìn)行產(chǎn)品設(shè)計(jì)的CAD軟件也非常豐富,世界和國(guó)產(chǎn)的各種優(yōu)秀CAD軟件正以前所未有的速度進(jìn)入機(jī)械、電子、建筑等行業(yè)的各個(gè)領(lǐng)域,使產(chǎn)品設(shè)計(jì)人員能夠高效率地進(jìn)行各自領(lǐng)域的產(chǎn)品分析、設(shè)計(jì)等工作。美國(guó)Autodesk公司是目前世界上比較成功的CAD領(lǐng)域的開發(fā)商,其開發(fā)的AutoCAD一直是CAD市場(chǎng)中的主流產(chǎn)品,隨著AutoCAD的日益普及,在其上進(jìn)行二次開發(fā)的工具也相繼由該公司推出。企業(yè)購(gòu)進(jìn)AutoCAD軟件,并非只能用作代替“圖板”,只有真正地在其上實(shí)現(xiàn)了二次開發(fā),才能充分發(fā)揮AutoCAD作用。CAD二次開發(fā),有很多不同層次的語(yǔ)言和庫(kù)可供選擇。本文就此向大家分別做一介紹。
第一大類: AutoLisp和VisuaLisp
Lisp是一種計(jì)算機(jī)的表處理語(yǔ)言,是在人工智能學(xué)科領(lǐng)域廣泛應(yīng)用的一種程序設(shè)計(jì)語(yǔ)言。AutoLisp語(yǔ)言完全嵌套在ACAD內(nèi)部,同ACAD有機(jī)地結(jié)合成一體。它既具備一般高級(jí)語(yǔ)言的基本結(jié)構(gòu)和功能,又具備一般高級(jí)語(yǔ)言所沒有的強(qiáng)大的圖形處理能力。論文大全。AutoLisp可直接調(diào)用幾乎全部ACAD的命令,從而進(jìn)行ACAD的二次開發(fā)。利用AutoLisp開發(fā)ACAD的一個(gè)典型例子就是實(shí)現(xiàn)參數(shù)化繪圖的程序設(shè)計(jì)。
AutoLisp具有如下優(yōu)點(diǎn):
1.AutoLisp是一種表處理語(yǔ)言,是被解釋執(zhí)行的,任何一個(gè)語(yǔ)句鍵入后就能馬上執(zhí)行,它對(duì)于交互式的程序開發(fā)非常方便。在ACAD的開發(fā)工具中,它是唯一的一種不需要專門的編譯工具,直接調(diào)用其編寫的函數(shù),就可以實(shí)現(xiàn)目標(biāo)操作的語(yǔ)言。
2.AutoLisp語(yǔ)言中的一切成分都是以函數(shù)形式給出的,它沒有語(yǔ)句概念和其他語(yǔ)法結(jié)構(gòu)。執(zhí)行AutoLisp程序就是執(zhí)行一些函數(shù),再調(diào)用其他函數(shù)。
3.AutoLisp把數(shù)據(jù)和程序統(tǒng)一表達(dá)為表結(jié)構(gòu),即S-表達(dá)式,使數(shù)據(jù)和程序融為一體。
4.AutoLisp語(yǔ)言中的程序運(yùn)行過程就是對(duì)函數(shù)的求值過程,是在對(duì)函數(shù)求值的過程中實(shí)現(xiàn)函數(shù)的功能。
5.AutoLisp語(yǔ)言的主要控制結(jié)構(gòu)采用遞歸方式,使程序簡(jiǎn)單易懂。
VisuaLisp是AutoLisp的擴(kuò)展,是為加速AutoLisp程序開發(fā)而設(shè)計(jì)的軟件工具。VisualLisp已經(jīng)被完整地集成到ACAD中,為開發(fā)者提供了增強(qiáng)的集成開發(fā)環(huán)境,這樣開發(fā)者可以直接使用ACAD中的對(duì)象,進(jìn)行更底層的開發(fā)。用它開發(fā)AutoLISP程序的時(shí)間被大大地縮短,而且原始代碼能被保密,以防被他人更改;同時(shí)利用可視化的編程環(huán)境,大大地減小了學(xué)習(xí)難度。作為腳本語(yǔ)言的VisuaLisp程序,同樣存在兩大不可避免的缺陷。第一是當(dāng)程序規(guī)模很大或是操作的對(duì)象數(shù)量過多時(shí),運(yùn)行速度慢,讓你明顯感覺到它的遲鈍。第二是ACAD命令本身做不到的功能,它也是無(wú)能為力。譬如關(guān)于自定義對(duì)象、內(nèi)存操作、數(shù)據(jù)傳遞之類,只能依賴其他辦法來(lái)解決了。所以我個(gè)人認(rèn)為L(zhǎng)isp適用于把現(xiàn)有命令組合成一個(gè)新命令來(lái)使用,尤其是存在大量重復(fù)操作的時(shí)候,用來(lái)做批處理非常好。唯一讓人感到不適的是,由于Lisp語(yǔ)言本身的語(yǔ)法要使用大量的圓括弧,當(dāng)嵌套層次較深時(shí),往往會(huì)在括弧的配對(duì)上發(fā)生問題。
第二大類:ADS(AutoCAD Development System)、ARX(AutoCAD Runtime eXtension)和ObjectARX (AutoCAD Runtime Extension)
ADS是從AutoCADR11開始引入的基于C語(yǔ)言開發(fā)應(yīng)用程序的系統(tǒng)。ADS不是C語(yǔ)言的一個(gè)子集,也不是基于C而編制的專用語(yǔ)言(如Microstation的MDL),但它包括了C的全部功能。它具有C的一切優(yōu)點(diǎn),又能操作CAD。它對(duì)開發(fā)人員C語(yǔ)言要求較高。C是編譯型語(yǔ)言,功能強(qiáng)大,因此ADS很輕易地克服了AutoLisp所固有的許多缺點(diǎn)而具有速度快,安全性高的特點(diǎn)。ADS不包含于ACAD內(nèi)部,而是作為一組AutoLisp外部函數(shù)由AutoLisp解釋器裝入、解釋并請(qǐng)求ACAD運(yùn)行。其特點(diǎn)如下:
1.ADS程序是將應(yīng)用程序編譯成可執(zhí)行的文件,通過AutoLisp和ACAD進(jìn)行通訊。
2.ADS程序更“絕緣”,ADS程序是一系列獨(dú)立的過程,程序崩潰并不一定導(dǎo)致AutoCAD系統(tǒng)崩潰(盡管并不總是如此)。
3.ADS程序是不可重復(fù)加載的。
4.ADS程序具有保密性好,運(yùn)行速度快的特點(diǎn),因而很適合于編寫計(jì)算量大或需要與主機(jī)環(huán)境交互的應(yīng)用程序。
5.ADS只能使用傳統(tǒng)的C語(yǔ)言進(jìn)行編程,采用傳統(tǒng)結(jié)構(gòu)化的編程體系。
早期國(guó)內(nèi)常見的應(yīng)用軟件多是用ADS進(jìn)行開發(fā)的,但ADS程序必須經(jīng)過AutoLisp解釋加載,因此ADS的各方面性能受到限制。同時(shí),隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,面向過程的ADS已有些力不從心了,所以,在AutoCADR13開始推出的一個(gè)全新的面向?qū)ο蟮拈_發(fā)工具ARX。ARX是在ADS基礎(chǔ)上發(fā)展的面向?qū)ο蟮沫h(huán)境,使用C++語(yǔ)言。最終ARX進(jìn)化為ObjectARX。
ObjectARX是一種嶄新的開發(fā)AutoCAD應(yīng)用程序的工具,提供了以C++為基礎(chǔ)的面向?qū)ο蟮拈_發(fā)環(huán)境及應(yīng)用程序接口,能真正快速訪問ACAD圖形、數(shù)據(jù)庫(kù),同時(shí)能使用戶方便快捷地開發(fā)出高效簡(jiǎn)潔的ACAD應(yīng)用程序。ObjectARX開發(fā)的應(yīng)用程序速度更快、集成度更高、穩(wěn)定性更強(qiáng),同時(shí)向下兼容ADS。它的特點(diǎn)是很明顯的:
1.ObjectARX與ADS程序和AutoLisp程序都不相同。從本質(zhì)上講,是一種特定的C++編程環(huán)境,它包括一組動(dòng)態(tài)鏈接庫(kù)(DLL),這些庫(kù)與ACAD在同一地址空間運(yùn)行并能直接利用ACAD核心數(shù)據(jù)結(jié)構(gòu)和代碼。在ObjectARX中,每個(gè)命令都有獨(dú)立的入口。ObjectARX程序還可以創(chuàng)建新的類,這些類可以為其他程序所共享,從而充分利用面向?qū)ο蟮木幊痰膬?yōu)點(diǎn)。
2.對(duì)于需要經(jīng)常和ACAD通訊的應(yīng)用程序來(lái)說,ObjectARX程序比ADS程序運(yùn)行速度更快,這里的運(yùn)行速度主要指是訪問ACAD數(shù)據(jù)庫(kù)的速度。
3.相比之下,ObjectARX程序是比宏更基本的程序。主程序(ACAD)可調(diào)用每個(gè)由ObjectARX程序注冊(cè)的命令。
4.ObjectARX程序具有ADS程序和AutoLisp程序所不具備的訪問和控制ACAD的能力。ObjectARX程序可以監(jiān)控和處理ACAD各種事件,可以定義ACAD命令,包括可以透明執(zhí)行的命令。論文大全。這些命令可以像ACAD自身的命令一樣被AutoLisp和ADS所調(diào)用。
基于以上優(yōu)點(diǎn)就充分說明了ObjectARX的彪悍。天上不會(huì)掉餡餅,這個(gè)方式的代價(jià)就是難度提高了。對(duì)于ObjectARX編程,Autodesk公司建議使用Visual C++4.2及以上版本的開發(fā)環(huán)境,這一點(diǎn)就要求開發(fā)者具有較高的起點(diǎn),對(duì)語(yǔ)言的學(xué)習(xí)程度要求較高,對(duì)廣大用戶來(lái)說相當(dāng)不易掌握。(在CAD2006以前,只能使用C++語(yǔ)言和VC編譯器來(lái)生成ObjectARX程序,但目前已經(jīng)可以使用VB.net C# C++等語(yǔ)言配合VisualStudio.net編譯器來(lái)生成ObjectARX程序了。)C++語(yǔ)言本身就很復(fù)雜(VB.net和C#也不方便到哪里去),再配上復(fù)雜度不相上下的ObjectARX庫(kù),如果要寫出切實(shí)可用的程序,還要深入了解ACAD本身的結(jié)構(gòu)。ObjectARX最致命的缺點(diǎn),由于已經(jīng)和ACAD融為一體,和AutoCAD共享進(jìn)程空間,ObjectARX程序崩潰通常會(huì)導(dǎo)致ACAD系統(tǒng)的崩潰。
第三大類:ActiveX和VBA(VisualBasic for Application)
ActiveX是Microsoft提出的一組使用COM(ComponentObject Model,部件對(duì)象模型)使得軟件部件在網(wǎng)絡(luò)環(huán)境中進(jìn)行交互的技術(shù)集。AcitveX與具體的編程語(yǔ)言無(wú)關(guān),可以用任何一種支持他的語(yǔ)言來(lái)編寫,但大家習(xí)慣選擇簡(jiǎn)單易用的VB語(yǔ)言。
Autodesk公司從R14開始內(nèi)置了VBA開發(fā)工具,同時(shí)提供了適于VBA(VB)開發(fā)的ActiveX Automation對(duì)象模型,對(duì)于熟悉VB語(yǔ)言又不想學(xué)習(xí)Lisp奇怪語(yǔ)法的開發(fā)者來(lái)說,這是不錯(cuò)的選擇。VBA(VB)的主要特點(diǎn)如下:
1.VBA最早是內(nèi)嵌在Office97中的一種編程語(yǔ)言,它易學(xué)易用,功能強(qiáng)大。所以Autodesk公司從R14之后把它也嵌入了AutoCAD中。
2.VBA和AutoCAD 2000中強(qiáng)大的ActiveX自動(dòng)化對(duì)象模型的結(jié)合,代表了一種新型的定制AutoCAD的模式構(gòu)架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動(dòng)。
3.VBA(VB)數(shù)據(jù)類型豐富、界面友好。
4.VBA是內(nèi)嵌在AutoCAD中的一種編程語(yǔ)言,對(duì)平臺(tái)有依賴性,但VB對(duì)此有改善。
5.利用VBA(VB)開發(fā)AutoCAD,以要求開發(fā)者熟悉VB語(yǔ)言為基礎(chǔ)。
就當(dāng)前AutoCAD的主要二次開發(fā)工具:VisualLisp、VBA和ObjectARX而言, VisualLisp與VBA較為簡(jiǎn)單,特別是VBA,使用方便且開發(fā)速度較快,但其功能相比ObjectARX有所不足,尤其是對(duì)面向?qū)ο蟮墓δ苤С植缓谩6鳲bjectARX基于VC平臺(tái),在C++的支持下,其功能非常強(qiáng)大,可以很好地運(yùn)用各種面向?qū)ο蠹夹g(shù),但其缺點(diǎn)是發(fā)開速度比較慢,同時(shí)對(duì)開發(fā)人員的能力要求較高。
基于以上原因,微軟新推出的ACAD二次開發(fā)平臺(tái)——.NET API,它具有眾多優(yōu)點(diǎn)。在新推出的AutoCAD 2006中,Autodesk為其開發(fā)增加了.NET API。論文大全。.NET與ObjectARX一樣,基于VC平臺(tái),擁有與C++相匹配的強(qiáng)大功能,同時(shí),具備VB方便易用的特點(diǎn),似乎是VB.net/C#和ObjectARX Managed wrapper classes的組合,實(shí)為較理想的ACAD二次開發(fā)工具。從目前的趨勢(shì)來(lái)看,AutoDesk有全面轉(zhuǎn)到.net平臺(tái)的趨勢(shì),有可能完全取代ObjectARX和VB,具體情況仍在觀望中。
總之,通過以上分析可以看出,AutoLisp仍然是ACAD的基本開發(fā)手段,它適于一般開發(fā)者用于較為簡(jiǎn)單交互性程序的開發(fā)。因?yàn)槌苏Z(yǔ)言、功能、編寫和調(diào)試的難度之外,還有CAD版本匹配的問題。AutoLisp程序的適合度最好,即使是為AutoCAD R12開發(fā)的程序,在CAD2007中仍然能夠使用。ADS將逐步被更為完善的ObjectARX所取代,而ObjectARX與AutoLisp正相反,為CAD2002編寫的程序就已經(jīng)不能在2004下運(yùn)行了。為老版本ACAD編寫的ObjectARX程序的源代碼雖然可以不需要修改或較少的修改,但必須鏈結(jié)新版本的ObjectARX庫(kù)進(jìn)行重新編譯,才能被新版本所運(yùn)行。而且,不同版本的ObjectARX庫(kù)還指定了不同版本的編譯器。譬如,CAD2000/2002版應(yīng)使用VC6,CAD2004/2005就需要使用VC.net 2002,而CAD2007則需要VC.net 2005。而作為ACAD用戶二次開發(fā)的另一支生力軍VBA則介于二者之間。Autodesk新推出的 .NET API二次開發(fā)平臺(tái)除了涉及到版本兼容性的問題外,同時(shí),遺憾的是目前的.NETAPI版本還不支持卸載,若要卸載只能關(guān)閉ACAD。
Autodesk提供的眾多二次開發(fā)手段往往會(huì)把新手搞糊涂,開發(fā)中到底使用什么語(yǔ)言,應(yīng)根據(jù)本身所熟悉的ACAD的版本,以及所熟悉的開發(fā)環(huán)境,另外,企業(yè)規(guī)模、資金,也是考慮的關(guān)鍵。總之,眾多二次開發(fā)工具讓各類開發(fā)者都能找到適合于自己的開發(fā)工具。
參考文獻(xiàn):《AutoLISP機(jī)械設(shè)計(jì)高級(jí)應(yīng)用實(shí)例》 胡仁喜 胡星 史青錄等編著
[關(guān)健詞] 加解密 電子商務(wù) VB
網(wǎng)上購(gòu)物等電子商務(wù)活動(dòng)在今天已十分普及與方便,雖然隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,各種安全機(jī)制、策略和工具不斷被研究和應(yīng)用,但I(xiàn)nternet的開放性,以及其他方面因素導(dǎo)致網(wǎng)絡(luò)環(huán)境下的計(jì)算機(jī)系統(tǒng)仍存在很多安全問題。電子商務(wù)中的信息安全始終是一個(gè)核心問題,因此,在客觀上需要一種強(qiáng)有力的安全措施來(lái)保護(hù)機(jī)密數(shù)據(jù)。密碼技術(shù)是保護(hù)網(wǎng)絡(luò)安全最有效的技術(shù)之一,采取了加密保護(hù)措施的網(wǎng)絡(luò),可以防止非授權(quán)用戶的竊聽和非法入網(wǎng),而且也是對(duì)付惡意軟件的有效方法之一。
一、簡(jiǎn)易數(shù)據(jù)加解密算法
加密是通過對(duì)信息的重新組合,使得只有收發(fā)雙方才能解碼并還原信息的一種手段,這種手段的原理及應(yīng)用是本論文研究的重點(diǎn),基于VB實(shí)現(xiàn)DES和RSA等一般的加解密算法過于復(fù)雜,且運(yùn)算速度慢,特別是它的移位操作,因此,研究簡(jiǎn)易數(shù)據(jù)加解密算法在電子商務(wù)數(shù)據(jù)保密方面具有相當(dāng)?shù)默F(xiàn)實(shí)意義。從加密的主要方法看,換位法過于簡(jiǎn)單,特別是對(duì)于數(shù)據(jù)量少的情況很容易由密文猜出明文,則簡(jiǎn)易加解密算法采用替換法對(duì)數(shù)據(jù)進(jìn)行快速加密,而且加密后的數(shù)據(jù)能正確地得到解密,當(dāng)然關(guān)鍵是像VB這樣的高級(jí)語(yǔ)言能容易實(shí)現(xiàn)。
從各種位運(yùn)算的特點(diǎn)看,異或運(yùn)算最適合用于簡(jiǎn)易加解密運(yùn)算,因?yàn)楫?dāng)數(shù)1和數(shù)2進(jìn)行異或運(yùn)算生成數(shù)3,若再將數(shù)3和數(shù)2進(jìn)行異或運(yùn)算則又會(huì)還原為數(shù)1。例如將234和124進(jìn)行異或運(yùn)算的結(jié)果是150,再將150和124進(jìn)行異或運(yùn)算則結(jié)果又還原成234。其中234是要進(jìn)行加密的數(shù)據(jù),124則可看成是密鑰,因此運(yùn)用此特性可以將簡(jiǎn)易數(shù)據(jù)加解密算法用函數(shù)實(shí)現(xiàn)。當(dāng)用同一密鑰對(duì)某數(shù)據(jù)進(jìn)行奇數(shù)次異或運(yùn)算時(shí),是對(duì)該數(shù)據(jù)進(jìn)行加密運(yùn)算,當(dāng)進(jìn)行了偶數(shù)次異或運(yùn)算時(shí)則是進(jìn)行解密運(yùn)算。
首先,VB下的字符集采用Unicode字符集,它容量大,可置換的范圍廣;其次,在Unicode字符集中,所有字符的內(nèi)碼都占兩個(gè)字節(jié),不再象DOS下西文字符占一個(gè)字節(jié),中文字符占兩個(gè)字節(jié),這樣中、西文就都可以互換了。因此,對(duì)Unicode字符運(yùn)算需要兩個(gè)密鑰,其取值范圍為0至255,這樣對(duì)同一字符的加密就有255×255=65025種可能,如果更換密鑰后對(duì)密文再進(jìn)行加密,則會(huì)有無(wú)窮的可能性。其中一個(gè)密鑰用于對(duì)高字節(jié)加密,另一個(gè)密鑰用于對(duì)低字節(jié)進(jìn)行加密,則可將某個(gè)字符的高字節(jié)和低字節(jié)分別加以運(yùn)算,然后再將它們合成為另一個(gè)字符,從而置換原數(shù)據(jù)達(dá)到數(shù)據(jù)加密的作用,解密時(shí)則相反。
二、數(shù)據(jù)加解密界面設(shè)計(jì)
根據(jù)設(shè)計(jì)要求,首先啟動(dòng)VB6.0應(yīng)用程序,新建一個(gè)標(biāo)準(zhǔn)EXE工程,系統(tǒng)將會(huì)自動(dòng)創(chuàng)建一個(gè)名為Form1的窗體,可在該窗體上添加2個(gè)文本框控件用來(lái)顯示加密數(shù)據(jù)與解密數(shù)據(jù)和2個(gè)命令按鈕控件;其中,可通過屬性窗口將Form1窗體的Caption屬性值設(shè)置為“簡(jiǎn)易數(shù)據(jù)加解密”、2個(gè)文本框控件的Text屬性值都設(shè)置為“空”、命令按鈕1控件的Caption屬性值設(shè)置為“加 密”、命令按鈕2控件的屬性值設(shè)置為“解 密”,其界面設(shè)計(jì)如圖1所示。
三、數(shù)據(jù)加解密代碼實(shí)現(xiàn)
在代碼窗口中的“通用”部分定義幾個(gè)變量,本程序設(shè)計(jì)需編寫加解密函數(shù)Encrypt[5]及對(duì)Command1和Command2的Click事件進(jìn)行編程,其程序清單如下:
Dim s As String
Dim d As String
Dim k1 As Byte
Dim k2 As Byte
Private Function Encrypt(ByVal strSource As String, ByVal Key1 As Byte, ByVal Key2 As Integer) As String
Dim bLowData As Byte
Dim bHigData As Byte
Dim i As Integer
Dim strEncrypt As String
Dim strChar As String
For i = 1 To Len(strSource)
strChar = Mid(strSource, i, 1)
bLowData = AscB(MidB(strChar, 1, 1)) Xor Key1
bHigData = AscB(MidB(strChar, 2, 1)) Xor Key2
strEncrypt = strEncrypt & ChrB(bLowData) & ChrB(bHigData)
Next
Encrypt = strEncrypt
End Function
Private Sub Command1_Click()
k1 = 128
k2 = 24
s = Encrypt(Text1.Text, k1, k2)
Text2.Text = s
Text1.Text = “”
End Sub
Private Sub Command2_Click()
d = Encrypt(s, k1, k2)
Text1.Text = d
Text2.Text = “”
End Sub
保存該工程并運(yùn)行,則在文本框1中輸入待加密字符,單擊其“加 密”命令按鈕則已加密字符顯示在文本框2中,當(dāng)然可單擊“解 密”命令按鈕進(jìn)行字符的解密,其運(yùn)行界面如圖2所示,至此對(duì)數(shù)據(jù)的簡(jiǎn)易加解密就實(shí)現(xiàn)了。
四、結(jié)束語(yǔ)
密碼分析成為了解決信息安全問題的關(guān)鍵技術(shù),本設(shè)計(jì)采用面向?qū)ο蟪绦蛟O(shè)計(jì)方法進(jìn)行開發(fā),讓用戶體驗(yàn)了VB強(qiáng)大的編程能力在電子商務(wù)中數(shù)據(jù)安全性的簡(jiǎn)單應(yīng)用。以上程序只是從原理上分析后給出的實(shí)例,在實(shí)際運(yùn)用當(dāng)中應(yīng)從字符密鑰中分別求出Key1和Key2,然后將加密后的數(shù)據(jù)再更換Key1和Key2反復(fù)進(jìn)行多次加密運(yùn)算,并結(jié)合換位法實(shí)現(xiàn)更大難度的加解密算法,保證電子商務(wù)中數(shù)據(jù)的安全與有效性。
參考文獻(xiàn):
[1]祁明:電子商務(wù)安全與保密[M].北京:高等教育出版社,2001
[2]William stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全[M].北京:電子工業(yè)出版社,2004
[3]趙泉:網(wǎng)絡(luò)安全與電子商務(wù)[M].北京:清華大學(xué)出版社,2005
測(cè)量程序設(shè)計(jì)是測(cè)繪工程專業(yè)的一門必修課程,其目的是讓學(xué)生熟練地掌握一門編程語(yǔ)言并且能夠進(jìn)行測(cè)量程序設(shè)計(jì)。文中針對(duì)該課程課堂教學(xué)和實(shí)驗(yàn)中存在的問題,提出了部分教學(xué)改革建議,分析了教學(xué)改革建議的優(yōu)點(diǎn),希望通過教學(xué)改革,提高學(xué)生的學(xué)習(xí)興趣,使教學(xué)效果有明顯的改變。
關(guān)鍵詞:
測(cè)繪工程;測(cè)量程序設(shè)計(jì);教學(xué)改革
測(cè)繪工程專業(yè)的畢業(yè)生直接或間接地參與了測(cè)量程序的設(shè)計(jì)工作,此外,從企業(yè)角度來(lái)看,也非常需要具有良好的編程能力同時(shí)具備完整的測(cè)繪理論的專業(yè)人才,學(xué)生的就業(yè)前景是非常廣闊的。作為人才的培養(yǎng)基地,高等學(xué)校應(yīng)該保證一定數(shù)量的這類人才的供應(yīng)。因此,開設(shè)測(cè)量程序設(shè)計(jì)課程是必須并且是非常重要的,該課程的培養(yǎng)目標(biāo)是使得學(xué)生能夠精通某一門編程語(yǔ)言,能夠利用編程語(yǔ)言熟練地進(jìn)行測(cè)量算法的設(shè)計(jì)和程序的編寫。文獻(xiàn)[1-2]對(duì)測(cè)繪工程專業(yè)的測(cè)量程序設(shè)計(jì)課程教學(xué)中的問題進(jìn)行了分析,提出了許多寶貴的意見和建議,如提高同學(xué)們的學(xué)習(xí)興趣、增強(qiáng)與學(xué)生的互動(dòng)等。此外,還有部分文獻(xiàn)對(duì)測(cè)繪工程專業(yè)中的其它課程的教學(xué)改革提出了建議,對(duì)課程建設(shè)進(jìn)行了大膽有益的嘗試[3-8]。本文針對(duì)該課程的教學(xué)過程中出現(xiàn)的問題,提出了若干教學(xué)改革的建議,希望能夠通過教學(xué)改革,改變傳統(tǒng)的課堂教學(xué)形式和課程考試的評(píng)價(jià)方式,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣,提高教學(xué)效果。
1教學(xué)現(xiàn)狀和存在的問題
1.1教學(xué)現(xiàn)狀
本課程的教學(xué)分為理論教學(xué)和實(shí)踐教學(xué)兩部分,其中理論教學(xué)以課堂講授理論知識(shí)為主,實(shí)踐教學(xué)以實(shí)驗(yàn)室上機(jī)實(shí)驗(yàn)為主。在測(cè)繪專業(yè)的教學(xué)和學(xué)習(xí)過程中,關(guān)于測(cè)量程序設(shè)計(jì)的文獻(xiàn)資料可以分為三個(gè)方面:(1)以C語(yǔ)言為開發(fā)語(yǔ)言,對(duì)測(cè)量程序進(jìn)行設(shè)計(jì)和編寫代碼;(2)以VB語(yǔ)言為開發(fā)語(yǔ)言,利用可視化編程方法進(jìn)行用戶界面設(shè)計(jì)和程序編寫;(3)以Matlab語(yǔ)言為開發(fā)語(yǔ)言,進(jìn)行測(cè)量程序設(shè)計(jì)。C語(yǔ)言是一種開放式編程語(yǔ)言,在大學(xué)階段本科生的培養(yǎng)中,主要是以C語(yǔ)言為編程環(huán)境進(jìn)行程序設(shè)計(jì)的,因此,利用C語(yǔ)言進(jìn)行測(cè)量程序設(shè)計(jì)和代碼編寫具有一定的優(yōu)勢(shì)。VB語(yǔ)言是建立在可視化編程環(huán)境的基礎(chǔ)上的,在掌握了VB程序設(shè)計(jì)的基本方法后,就可以將測(cè)量程序進(jìn)行編程實(shí)現(xiàn),并且用可視化界面進(jìn)行良好的人機(jī)交互,能夠?yàn)槭褂谜咛峁└玫捏w驗(yàn)效果。近年來(lái),有部分高校采用基于Matlab語(yǔ)言的測(cè)量程序設(shè)計(jì)教學(xué)。由于Matlab編程語(yǔ)言是針對(duì)于矩陣運(yùn)算進(jìn)行編寫的,在編程環(huán)境中可以不用預(yù)先定義變量的類型和變量,就可以直接對(duì)變量進(jìn)行賦值后使用。對(duì)矩陣的各種運(yùn)算也是使Matlab語(yǔ)言區(qū)別于其它高級(jí)編程語(yǔ)言的一個(gè)特別之處,此外Matlab編程語(yǔ)言容易學(xué)習(xí)和應(yīng)用,只要具備部分的編程知識(shí)就可以在較短時(shí)間內(nèi)掌握這門編程語(yǔ)言。基于Matlab語(yǔ)言的測(cè)量程序設(shè)計(jì)可以使學(xué)生不局限于對(duì)矩陣的讀取、矩陣文件的保存和導(dǎo)入、矩陣的運(yùn)算等比較初級(jí)的算法設(shè)計(jì),能夠?qū)⒏嗟臅r(shí)間和精力投入到測(cè)量程序設(shè)計(jì)和代碼編寫中。根據(jù)上面的分析,可以看出,隨著時(shí)代的發(fā)展和進(jìn)步,使得我們有更多更好的編程環(huán)境來(lái)實(shí)現(xiàn)測(cè)量程序設(shè)計(jì)。對(duì)比三種編程語(yǔ)言的特點(diǎn),我們認(rèn)為選取VB或者M(jìn)atlab語(yǔ)言作為測(cè)量程序設(shè)計(jì)的編程環(huán)境是合適的。如果條件允許的話,可以為采用C#語(yǔ)言作為編程語(yǔ)言,能夠使同學(xué)們?cè)趯W(xué)好測(cè)量程序設(shè)計(jì)方法的同時(shí),更加深入地理解和掌握C#語(yǔ)言的應(yīng)用和程序設(shè)計(jì)方法。
1.2存在的問題
存在的問題主要表現(xiàn)為下面的幾個(gè)方面:
(1)課堂理論教學(xué)模式呆板僵化。由于測(cè)量程序設(shè)計(jì)課程是利用某一種編程語(yǔ)言對(duì)已有的經(jīng)典平差算法和近代平差算法進(jìn)行編程實(shí)現(xiàn),所需要講授的理論知識(shí)就是編程語(yǔ)言的學(xué)習(xí),而在課堂教學(xué)中,多數(shù)的學(xué)校仍然是教師利用多媒體在講臺(tái)上講述編程語(yǔ)言,然后進(jìn)行演示,讓學(xué)生通過記筆記的方法來(lái)理解和掌握編程語(yǔ)言。這樣的教學(xué)模式仍然沿用了其它課程的教學(xué)模式,對(duì)于絕大多數(shù)的理論教學(xué)來(lái)說是非常有效的,但是,在學(xué)習(xí)一門編程語(yǔ)言時(shí)采用這樣的教學(xué)手段,效果并不好。通過實(shí)踐環(huán)節(jié)可以看出,對(duì)于已經(jīng)講解過的編程方法,部分同學(xué)自己仍不能完全掌握,甚至不知道該方面的知識(shí)點(diǎn)已經(jīng)講解過,有的同學(xué)在學(xué)習(xí)完該課程后仍不能獨(dú)立地寫出一個(gè)測(cè)量程序的代碼,這些現(xiàn)象的出現(xiàn)與課堂理論教學(xué)是有密不可分的關(guān)系的。
(2)實(shí)驗(yàn)教學(xué)和對(duì)學(xué)生評(píng)價(jià)的指標(biāo)問題。實(shí)驗(yàn)教學(xué)是讓學(xué)生進(jìn)行一定時(shí)間的上機(jī)實(shí)驗(yàn),掌握所學(xué)的編程語(yǔ)言,然后結(jié)合已有的經(jīng)典測(cè)量平差算法和近現(xiàn)代的測(cè)量平差理論和算法,進(jìn)行程序代碼的編寫。每次實(shí)驗(yàn)都有一個(gè)確定的實(shí)驗(yàn)?zāi)繕?biāo),但多數(shù)是有始無(wú)終,如何對(duì)該次實(shí)驗(yàn)的效果和學(xué)生是否真正掌握該部分的內(nèi)容進(jìn)行評(píng)價(jià)是需要考慮的問題之一,如果某一方面的知識(shí)沒有掌握,而下次實(shí)驗(yàn)又要進(jìn)行其它項(xiàng)目的訓(xùn)練,積累下來(lái)就會(huì)形成夾生飯,最終導(dǎo)致學(xué)生對(duì)該課程內(nèi)容不能掌握,教學(xué)效果較差。相應(yīng)的另一個(gè)問題就是如何對(duì)該課程進(jìn)行總體評(píng)價(jià),進(jìn)行理論考試的方法顯然是不能夠反映同學(xué)們是否對(duì)該課程真正掌握,采用何種方法進(jìn)行有效地評(píng)價(jià)教學(xué)效果是必須解決的問題。
2關(guān)于教學(xué)改革的思考
2.1課堂理論教學(xué)的改革
課堂教學(xué)是傳授理論知識(shí)的一個(gè)重要教學(xué)環(huán)節(jié),但是對(duì)于編程語(yǔ)言的教學(xué),如果還是停留在教師在講臺(tái)上利用多媒體進(jìn)行講授而學(xué)生記筆記的階段,這樣的教學(xué)效果是較差的??梢詫?duì)該課程的課堂理論教學(xué)手段進(jìn)行改革,摒棄傳統(tǒng)的教學(xué)方法,改以在實(shí)驗(yàn)室或機(jī)房進(jìn)行課堂教學(xué),每個(gè)同學(xué)都能夠有一臺(tái)微機(jī)可以進(jìn)行操作,教師利用多媒體在講解編程語(yǔ)言和算法的同時(shí),在微機(jī)上進(jìn)行演示,安排同學(xué)們進(jìn)行同步操作,在講解完一個(gè)知識(shí)點(diǎn)后讓同學(xué)們進(jìn)行舉一反三地練習(xí)。這樣的教學(xué)手段的優(yōu)點(diǎn)是非常明顯的,首先,可以讓教師從繁重的幻燈片制作工作中擺脫出來(lái),只是提綱挈領(lǐng)式地對(duì)所講授的內(nèi)容進(jìn)行幻燈片制作即可,從而能夠?qū)⒏嗟木ν度氲剿惴ㄔO(shè)計(jì)和程序代碼的編寫過程中。其次,避免知識(shí)遺忘,實(shí)時(shí)操作練習(xí),可以使學(xué)生通過感性認(rèn)識(shí)真正掌握所學(xué)知識(shí)。任何知識(shí)的學(xué)習(xí)都有一個(gè)記憶-遺忘-重復(fù)記憶的過程,像編程語(yǔ)言的學(xué)習(xí),如果沒有感性的認(rèn)識(shí)而是記住很多的知識(shí)點(diǎn)的方法是不可取的,如果能在學(xué)習(xí)某一個(gè)知識(shí)點(diǎn)的同時(shí)能夠感同身受地接觸到這個(gè)知識(shí),這種記憶無(wú)疑是最為深刻的。再次,課堂教學(xué)氣氛較好,能夠最大程度上提高同學(xué)的學(xué)習(xí)興趣。傳統(tǒng)的課堂教學(xué)中通常有部分同學(xué)因?yàn)楦杏X理論教學(xué)枯燥乏味,學(xué)習(xí)中毫無(wú)興趣可言,從而逐漸放棄了對(duì)課程的學(xué)習(xí)。采用實(shí)驗(yàn)室或機(jī)房作為課堂教學(xué)環(huán)境,讓每個(gè)同學(xué)都有動(dòng)手的機(jī)會(huì),就可以讓他們?cè)诶斫馑鶎W(xué)知識(shí)的同時(shí),自己動(dòng)手實(shí)現(xiàn)一定的功能或算法,從而具有一定的成就感,改變了那種學(xué)習(xí)枯燥無(wú)味的看法,進(jìn)而自己能夠主動(dòng)地去學(xué)習(xí)一些新的知識(shí)。最后,這種教學(xué)手段的改變可以充分利用教學(xué)資源,提高設(shè)備的利用率。近年來(lái),各個(gè)高校對(duì)教學(xué)硬件環(huán)境的投入逐漸增加,設(shè)備的性能逐步提高,但是,設(shè)備的使用率往往偏低。如果將該課程的課堂教學(xué)改為在機(jī)房進(jìn)行就可以充分發(fā)揮教學(xué)資源的作用,使教學(xué)設(shè)備以最大的效率為高校的人才培養(yǎng)工作服務(wù)。
2.2實(shí)驗(yàn)教學(xué)和對(duì)學(xué)生進(jìn)行評(píng)價(jià)的指標(biāo)的改革
針對(duì)實(shí)驗(yàn)教學(xué)中實(shí)驗(yàn)效果的評(píng)價(jià)問題,可以做如下改革:在每次實(shí)驗(yàn)前安排具體的實(shí)驗(yàn)任務(wù)和所達(dá)到的目標(biāo),在實(shí)驗(yàn)課結(jié)束后每人提交一份電子的實(shí)驗(yàn)結(jié)論和程序代碼,時(shí)間允許可以讓同學(xué)們逐個(gè)進(jìn)行演示,以考核實(shí)驗(yàn)效果。這種形式的實(shí)驗(yàn)教學(xué)評(píng)價(jià)方法具有下面兩個(gè)方面的優(yōu)點(diǎn):一方面,每次實(shí)驗(yàn)課都要進(jìn)行評(píng)價(jià),可以給同學(xué)們施加一定的學(xué)習(xí)壓力,從而轉(zhuǎn)化為積極學(xué)習(xí)的動(dòng)力。這種優(yōu)點(diǎn)是顯而易見的,每次實(shí)驗(yàn)課后都要進(jìn)行評(píng)價(jià)使得同學(xué)們必須以認(rèn)真的態(tài)度對(duì)待該課程的學(xué)習(xí),如果沒有真正理解所學(xué)的編程語(yǔ)言的知識(shí)點(diǎn)而使得程序不能夠正確運(yùn)行,會(huì)使教師對(duì)該同學(xué)的評(píng)價(jià)降低。另一方面,采用每次實(shí)驗(yàn)課都要進(jìn)行學(xué)習(xí)效果評(píng)價(jià)的方法有助于給出對(duì)該課程學(xué)生學(xué)習(xí)效果的最終評(píng)價(jià)結(jié)果。對(duì)每次實(shí)驗(yàn)課的評(píng)價(jià)指標(biāo)進(jìn)行記錄,將評(píng)價(jià)結(jié)果納入最終的課程評(píng)價(jià)中,從而能夠比較客觀真實(shí)地反映學(xué)生的學(xué)習(xí)情況和對(duì)該課程的掌握情況。在課程結(jié)束后的評(píng)價(jià)階段,除了考慮到每次實(shí)驗(yàn)課的評(píng)價(jià)之外,還可以安排較為復(fù)雜、繁重的綜合編程任務(wù),讓同學(xué)按時(shí)獨(dú)立完成,如水準(zhǔn)網(wǎng)算法的圖形用戶界面設(shè)計(jì)與實(shí)現(xiàn)。最后需要提交一份綜合實(shí)習(xí)報(bào)告以及程序原代碼,實(shí)習(xí)報(bào)告內(nèi)容包括實(shí)驗(yàn)?zāi)康摹⑺惴ㄔO(shè)計(jì)與分析、實(shí)際問題的解決等,讓每個(gè)同學(xué)演示其程序。這種課程評(píng)價(jià)方法的改革不同于傳統(tǒng)的考試或?qū)W術(shù)論文的呆板形式,以更加靈活的方式、更加細(xì)致的指標(biāo)來(lái)實(shí)現(xiàn)對(duì)學(xué)生掌握知識(shí)情況的評(píng)價(jià),在給同學(xué)們施加學(xué)習(xí)壓力的同時(shí),能夠真正的讓同學(xué)們掌握所學(xué)知識(shí),并且能夠給出一個(gè)非??陀^實(shí)際的評(píng)價(jià)結(jié)果。
3結(jié)語(yǔ)
本文中,針對(duì)測(cè)量程序設(shè)計(jì)課程教學(xué)中出現(xiàn)的問題進(jìn)行了討論,分析了存在的問題,認(rèn)為影響該課程教學(xué)效果的主要原因有兩個(gè)方面,即課堂理論教學(xué)的形式、實(shí)驗(yàn)教學(xué)和對(duì)學(xué)生評(píng)價(jià)的指標(biāo)問題。課堂理論教學(xué)是傳授知識(shí)的主要場(chǎng)所,不同的課程應(yīng)該采用不同的教學(xué)場(chǎng)所或教學(xué)手段。傳統(tǒng)的課堂理論教學(xué)方法適用于數(shù)學(xué)類型的課程,需要對(duì)公式和定理進(jìn)行認(rèn)真仔細(xì)的推導(dǎo)和證明。但是,對(duì)于編程語(yǔ)言的學(xué)習(xí),這樣的教學(xué)形式的效果是非常差的,學(xué)生在學(xué)習(xí)過程中會(huì)逐漸感到學(xué)習(xí)枯燥乏味,學(xué)習(xí)興趣不高,課堂氣氛沉悶。如果改在機(jī)房或?qū)嶒?yàn)室內(nèi)進(jìn)行編程語(yǔ)言的學(xué)習(xí),就可以避免上述問題的出現(xiàn),能夠充分調(diào)動(dòng)每個(gè)同學(xué)的感官來(lái)加深對(duì)知識(shí)的理解和掌握,通過自己動(dòng)手來(lái)加深對(duì)知識(shí)的感性認(rèn)識(shí),算法的順利執(zhí)行可以極大地增強(qiáng)同學(xué)的成就感,增強(qiáng)學(xué)習(xí)的自信心。每次實(shí)驗(yàn)課都進(jìn)行質(zhì)量評(píng)價(jià)的方法可以給同學(xué)們施加學(xué)習(xí)的壓力,增強(qiáng)學(xué)生學(xué)習(xí)的主動(dòng)性和積極性,能夠認(rèn)真地對(duì)待每一次的實(shí)驗(yàn)課。另外,將每次實(shí)驗(yàn)課的評(píng)價(jià)結(jié)果納入最終的評(píng)價(jià)分?jǐn)?shù),也增強(qiáng)了評(píng)價(jià)結(jié)果的客觀性和真實(shí)性。最終的課程評(píng)價(jià)中,采用實(shí)習(xí)報(bào)告和編程相結(jié)合的方式,可以使同學(xué)們?cè)谡J(rèn)真總結(jié)所學(xué)編程語(yǔ)言的基礎(chǔ)上,完成一個(gè)較為復(fù)雜的測(cè)量程序的編寫工作,能夠在最大程度上調(diào)動(dòng)同學(xué)們學(xué)習(xí)興趣。本文所提出的測(cè)量程序教學(xué)改革方法也同樣適用于其它的編程語(yǔ)言類課程和軟件教學(xué)類課程的學(xué)習(xí),如C?、數(shù)據(jù)庫(kù)、GIS軟件等。
作者:丁海勇 孫景領(lǐng) 單位:南京信息工程大學(xué)地理與遙感學(xué)院
參考文獻(xiàn):
[1]吳迪.測(cè)繪程序設(shè)計(jì)教學(xué)中的體會(huì)[J].山西建筑,2008,34(25):224-225.
[2]朱紅俠,羅強(qiáng).測(cè)繪程序設(shè)計(jì)教學(xué)探討[J].科學(xué)創(chuàng)新導(dǎo)報(bào),2008(32):144.
[3]潘慶林,馮寶紅,鄭國(guó)才.測(cè)繪工程專業(yè)“地籍測(cè)量學(xué)”課程教學(xué)改革的思考[J].測(cè)繪工程,2006,15(4):77-78.
[4]高偉,齊建國(guó).基于測(cè)繪新技術(shù)的農(nóng)業(yè)院校測(cè)量學(xué)教學(xué)改革的探討[J].測(cè)繪工程,2004,13(3):75-78.
[5]吉長(zhǎng)東,徐愛功.基于“卓工計(jì)劃”的測(cè)繪工程專業(yè)實(shí)踐教學(xué)改革[J].礦山測(cè)量,2015,43(1):86-88.
[6]魯鐵定,臧德彥,官云蘭.適應(yīng)“數(shù)字江西”建設(shè)德測(cè)繪教學(xué)改革探討[J].江西測(cè)繪,2008,73(2):44-46.
[7]曾濤,楊武年,余代俊,等.新時(shí)期測(cè)繪工程專業(yè)《攝影測(cè)量學(xué)》課程教學(xué)改革實(shí)踐[J].測(cè)繪科學(xué),2009,34(3):237-239.
[8]高穎.道橋?qū)I(yè)《工程測(cè)量》教學(xué)改革的探討[J].礦山測(cè)量,2015,43(3):110-113.
2.《成績(jī)管理系統(tǒng)》設(shè)計(jì)(用C語(yǔ)言實(shí)現(xiàn))
3.軟件設(shè)計(jì):超級(jí)商場(chǎng)進(jìn)銷存管理系統(tǒng)(可選:基于WEB網(wǎng)絡(luò)版、基于COM+網(wǎng)絡(luò)版、S/C網(wǎng)絡(luò)版)
4.VB專題網(wǎng)站的建設(shè)
5.《信息技術(shù)教育》多媒體教學(xué)課件制作
6.《數(shù)據(jù)結(jié)構(gòu)》多媒體教學(xué)課件制作
7.供電部門用電計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
8.計(jì)算機(jī)房管理系統(tǒng)的設(shè)計(jì)
9.網(wǎng)上教學(xué)輔助系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
10.淺談試卷智能生成系統(tǒng)的開發(fā)
11.多媒體教學(xué)課件制作
課題簡(jiǎn)介:多媒體技術(shù)的應(yīng)用,促進(jìn)了現(xiàn)代教育教學(xué)技術(shù)的發(fā)展。利用多媒體課件及現(xiàn)代教學(xué)手段進(jìn)行教學(xué),事半功倍。本課題擬將某知識(shí)領(lǐng)域的教學(xué)內(nèi)容制作成教學(xué)課件,通過比較傳統(tǒng)教學(xué)與多媒體教學(xué)兩種不同模式的教學(xué)效果,探索多媒體教學(xué)模式的特點(diǎn)及發(fā)展方向。課題預(yù)期成果為論文及軟件形式的教學(xué)課件。選用開發(fā)軟件可為PowerPointXP或AuthorWare等。
課題二:數(shù)據(jù)庫(kù)管理系統(tǒng)
課題簡(jiǎn)介:數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)應(yīng)用的一個(gè)重要領(lǐng)域。利用數(shù)據(jù)庫(kù)技術(shù)開發(fā)的應(yīng)用(管理)系統(tǒng),在各行各業(yè)都有著廣泛應(yīng)用。本課題擬對(duì)某一應(yīng)用系統(tǒng)(如收費(fèi)管理、教材管理、人事管理等)進(jìn)行市場(chǎng)調(diào)節(jié)及需求分析,利用數(shù)據(jù)庫(kù)技術(shù)開發(fā)相應(yīng)應(yīng)用管理系統(tǒng),并通過用戶反饋,加以完善。選用開發(fā)軟件可以是VB,VFP等。
12.旅游酒店訂單管理系統(tǒng)
本程序可以對(duì)酒店,酒店房間進(jìn)行編輯,查詢,統(tǒng)計(jì)。訂單管理模塊可以統(tǒng)計(jì)客戶訂單,訂單查詢,訂單打印。
13.網(wǎng)吧管理、計(jì)費(fèi)
本系統(tǒng)可以對(duì)網(wǎng)吧,公司內(nèi)部網(wǎng)進(jìn)行管理。管理計(jì)算機(jī),用戶上機(jī)時(shí)間、內(nèi)容,計(jì)時(shí)計(jì)費(fèi),飲料等管理。分服務(wù)器端和客戶端軟件。
14.非稅收入資金結(jié)算系統(tǒng)
本系統(tǒng)包括科目錄入、歷史余額錄入、一級(jí)項(xiàng)目維護(hù)、核算支出項(xiàng)目、明細(xì)項(xiàng)目維護(hù)、明細(xì)項(xiàng)目取消、單位項(xiàng)目掛接、收費(fèi)依據(jù)維護(hù)、資金管理方式維護(hù)、行業(yè)子行業(yè)維護(hù)、帳薄設(shè)置、核算公式設(shè)置、原始憑證類型維護(hù)、收入報(bào)表定義、收入解繳報(bào)表定義、繳款書錄入、繳款書審核、繳款書打印、繳款書傳出、收費(fèi)數(shù)據(jù)接收、收費(fèi)數(shù)據(jù)傳出、繳款書接收、單位對(duì)帳。收費(fèi)明細(xì)表
15.商場(chǎng)管理系統(tǒng)
本系統(tǒng)是個(gè)大型商場(chǎng)管理系統(tǒng),具有進(jìn)貨、庫(kù)存、銷售、結(jié)算、物價(jià)、合同等功能
16.智力競(jìng)賽搶答計(jì)分系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
17.學(xué)校自動(dòng)廣播打鈴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
18.學(xué)英語(yǔ)智力游戲開發(fā)
19.單片機(jī)應(yīng)用開發(fā)
20.OfficeVBA應(yīng)用與開發(fā)
21.xx科目教學(xué)特點(diǎn)及課件開發(fā)
22.xx學(xué)校網(wǎng)站的規(guī)劃與制作
23.全Flash網(wǎng)站制作
關(guān)鍵詞:計(jì)算機(jī)監(jiān)控;仿真軟件;綜合實(shí)踐;教學(xué)模式
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913 (2007) 20-0077-04
1引言
目前,我國(guó)計(jì)算機(jī)專業(yè)的教學(xué)模式主要還是從基礎(chǔ)理論到專業(yè)理論,實(shí)踐環(huán)節(jié)較少,這就導(dǎo)致了學(xué)生厭學(xué),眼高手低,本科畢業(yè)連基本的編程技能都不具備,從而,在就業(yè)市場(chǎng)上一敗涂地。這些效果又使在校學(xué)生更加沮喪,進(jìn)一步影響其學(xué)習(xí)的積極性。中國(guó)要發(fā)展IT產(chǎn)業(yè),必須改革計(jì)算機(jī)專業(yè)的教學(xué)模式。
印度是一個(gè)貧窮落后的發(fā)展中國(guó)家,軟件業(yè)的成就卻舉世矚目。印度的軟件人才主要是通過職業(yè)教育而不是高等教育來(lái)培養(yǎng)的,從而大大降低了培養(yǎng)成本和使用成本,縮短了培養(yǎng)周期。其教學(xué)不是按從基礎(chǔ)理論到專業(yè)理論,再到實(shí)習(xí)的路徑,而是把順序顛倒過來(lái),先從做開始,在做的過程中,學(xué)生如遇到問題,再以此問題為基點(diǎn)去學(xué)習(xí)專業(yè)理論。學(xué)員一入學(xué),便要做項(xiàng)目,培訓(xùn)中心把所承接的大項(xiàng)目分解成一個(gè)個(gè)小項(xiàng)目,然后要求每個(gè)學(xué)員完成一個(gè)小項(xiàng)目,讓學(xué)員在完成項(xiàng)目的過程中學(xué)習(xí)。培訓(xùn)中心的學(xué)員最后一年都在公司實(shí)習(xí),積累工作經(jīng)驗(yàn),同時(shí)也給企業(yè)提供深入了解雇員的機(jī)會(huì)。
我們借鑒印度發(fā)展軟件業(yè)的成功經(jīng)驗(yàn),結(jié)合多年從事計(jì)算機(jī)監(jiān)控的項(xiàng)目經(jīng)驗(yàn)和從事教學(xué)的心得體會(huì),提出一種“趣味實(shí)用程序的演示+知識(shí)點(diǎn)+趣味實(shí)用程序的模仿+綜合訓(xùn)練+學(xué)術(shù)論文”的教學(xué)模式[1],引導(dǎo)學(xué)生充滿興趣地鉆研技術(shù),最后逐漸成為計(jì)算機(jī)監(jiān)控方面的專家,并熟練掌握計(jì)算機(jī)專業(yè)的基礎(chǔ)理論與編程語(yǔ)言。
2計(jì)算機(jī)監(jiān)控技術(shù)的特點(diǎn)與主要技術(shù)
計(jì)算機(jī)監(jiān)控系統(tǒng)是以監(jiān)測(cè)控制計(jì)算機(jī)為主體,加上檢測(cè)裝置、執(zhí)行機(jī)構(gòu)與被監(jiān)測(cè)控制的對(duì)象共同構(gòu)成的整體。在這個(gè)系統(tǒng)中,計(jì)算機(jī)直接參與被監(jiān)控對(duì)象的檢測(cè)、監(jiān)督和控制。檢測(cè)主要是通過傳感器和相應(yīng)的輸入模塊來(lái)取得被監(jiān)控對(duì)象的狀態(tài)數(shù)據(jù),監(jiān)督主要是對(duì)狀態(tài)數(shù)據(jù)進(jìn)行分析后給操作員提供手動(dòng)操作的參考,控制則是手動(dòng)或按照一定的策略自動(dòng)地對(duì)被監(jiān)控對(duì)象執(zhí)行相應(yīng)的操作。
傳統(tǒng)的檢測(cè)與控制所使用的模塊一般采用RS-232接口,因?yàn)樵摻涌诤?jiǎn)單可靠。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,采用網(wǎng)絡(luò)接口RJ-45的模塊逐漸增多。監(jiān)控用的計(jì)算機(jī)一般稱為主控機(jī)(或上位機(jī)),各種檢測(cè)與控制模塊或嵌入式系統(tǒng)一般稱為受控機(jī)(或下位機(jī))。主控機(jī)軟件一般采用高級(jí)語(yǔ)言(如Visual Basic 6.0,簡(jiǎn)稱VB)進(jìn)行開發(fā);受控機(jī)軟件沒有軟件界面,僅實(shí)現(xiàn)相關(guān)的邏輯功能,一般采用C語(yǔ)言、匯編語(yǔ)言等進(jìn)行開發(fā),通過調(diào)試后,再下載到受控機(jī)系統(tǒng)中。主控機(jī)通過RS-232/RJ-45接口與受控機(jī)通信,進(jìn)行數(shù)據(jù)的查詢與命令的發(fā)送。各種控制策略、設(shè)備的狀態(tài)等的保存,都需要使用數(shù)據(jù)庫(kù)技術(shù)。因而,實(shí)現(xiàn)一個(gè)計(jì)算機(jī)監(jiān)控系統(tǒng),需要綜合使用諸多計(jì)算機(jī)的基礎(chǔ)理論與編程語(yǔ)言:計(jì)算機(jī)接口技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)系統(tǒng)、VB與C語(yǔ)言等,利用計(jì)算機(jī)監(jiān)控技術(shù)作為計(jì)算機(jī)專業(yè)實(shí)踐訓(xùn)練的主線,具有很高的操作性和極大的意義。
3仿真軟件的設(shè)計(jì)
學(xué)習(xí)計(jì)算機(jī)監(jiān)控技術(shù),需要購(gòu)買相應(yīng)的硬件模塊,從而在一定程度上制約了該技術(shù)的推廣。本文提出了一個(gè)基于RS-232的仿真模塊的可視化模型,在此基礎(chǔ)之上設(shè)計(jì)了可視化的仿真數(shù)字I/O模塊,模擬量輸入模塊,并設(shè)計(jì)了對(duì)應(yīng)的通信協(xié)議。主控軟件與仿真模塊之間的通信通過虛擬串口實(shí)現(xiàn),從而,達(dá)到在計(jì)算機(jī)房零成本搭建計(jì)算機(jī)監(jiān)控系統(tǒng)平臺(tái)的效果。
RS-232/RJ-45協(xié)議轉(zhuǎn)換器可以用于實(shí)現(xiàn)計(jì)算機(jī)監(jiān)控系統(tǒng)的遠(yuǎn)程處理,也可以用于將普通的輸入模塊轉(zhuǎn)換為仿真的網(wǎng)絡(luò)傳感器。
3.1仿真模塊的可視化模型
基于RS-232接口的仿真模塊的可視化模型如圖1所示。模塊表示區(qū)用來(lái)模擬實(shí)際的模塊,對(duì)于數(shù)字量輸入模塊(Digital Input Module,DIM),輸入開關(guān)根據(jù)設(shè)定的時(shí)間隨機(jī)閉合/打開,并通過圖形表示;對(duì)于數(shù)字量輸出模塊(Digital Output Module,DOM),用有源電路回路表示輸出開關(guān)的狀態(tài),例如,開關(guān)閉合,播放鈴聲或燈亮等;對(duì)于模擬量輸入模塊(Analog Input Module,AIM),用圖形表示檢測(cè)回路,并在檢測(cè)點(diǎn)旁邊顯示溫度的原始數(shù)據(jù)。每個(gè)模塊都設(shè)置數(shù)據(jù)接收和發(fā)送指示燈,顯示數(shù)據(jù)收發(fā)的狀態(tài)。
功能按鈕區(qū)為系統(tǒng)設(shè)置按鈕和關(guān)閉程序按鈕。系統(tǒng)設(shè)置主要完成串行通信的端口號(hào)、波特率、校驗(yàn)碼、結(jié)尾碼、模塊地址等的設(shè)置,對(duì)于DIM模塊,還需要設(shè)置隨機(jī)切換輸入開關(guān)所需要的時(shí)間段。
協(xié)議描述區(qū)顯示本仿真模塊適用的通信協(xié)議,包括協(xié)議的格式及其具體的含義。
數(shù)據(jù)接收區(qū)顯示接收到的主控程序發(fā)送的原始數(shù)據(jù)包,以字節(jié)形式顯示;數(shù)據(jù)響應(yīng)區(qū)則發(fā)送對(duì)應(yīng)的響應(yīng)數(shù)據(jù)包,也是以字節(jié)形式。
利用此可視化模型設(shè)計(jì)的軟件界面,使用方便,動(dòng)態(tài)效果好,仿真模塊的開關(guān)狀態(tài)、溫度數(shù)據(jù)、數(shù)據(jù)收發(fā)狀態(tài)以及傳輸?shù)臄?shù)據(jù)均一目了然。與實(shí)物模塊相比,不需要物理連線,也不需要信號(hào)發(fā)生器與萬(wàn)用表來(lái)產(chǎn)生信號(hào)和測(cè)量狀態(tài)與數(shù)據(jù),對(duì)于通信協(xié)議,也不需翻閱手冊(cè)。
3.2通信協(xié)議的設(shè)計(jì)
相同類型(或廠家)的模塊一般采用相同的前導(dǎo)字符,EOT是一個(gè)特殊的ASCII字符(0x04),常被用做控制字符,這里的仿真模塊全部采用EOT作為前導(dǎo)字符。
計(jì)算機(jī)所連接的I/O模塊比較多,CPU為了與連接的設(shè)備相互溝通,必須給設(shè)備設(shè)置一個(gè)編號(hào),從而使CPU可以通過每個(gè)設(shè)備獨(dú)一無(wú)二的編號(hào)與不同的設(shè)備進(jìn)行溝通,這個(gè)設(shè)備編號(hào)就是地址,用ADD表示,地址占用一個(gè)字節(jié)。
功能碼主要包括讀功能碼(用RD表示)和寫功能碼(用WD表示)。RD用字符“R”(0x52)表示,WD用字符“W”(0x57)表示。
BCC為數(shù)據(jù)塊校驗(yàn)碼,一般有Xor、Add、CRC、CheckSum幾種。Xor與Add分別是異或與累加和,占一個(gè)字節(jié)的長(zhǎng)度;CRC與CheckSum分別是循環(huán)冗余校驗(yàn)碼與TCP/IP協(xié)議簇中所使用的累加求補(bǔ)校驗(yàn)碼,分別占兩個(gè)字節(jié)。這里的仿真模塊提供4種數(shù)據(jù)塊校驗(yàn)方式,根據(jù)程序設(shè)置進(jìn)行選擇。
不少模塊以回車CR(0x0d)作為結(jié)尾標(biāo)志EM(End Message),而TCP/IP協(xié)議簇(如HTTP,POP3等)較多地采用CRLF(0x0d0a)作為結(jié)尾標(biāo)志,這里的仿真模塊也提供這兩種結(jié)尾標(biāo)志,根據(jù)程序設(shè)置進(jìn)行選擇。
協(xié)議舉例。讀取仿真模塊狀態(tài)的命令協(xié)議如圖2所示,其中,ADD的范圍為1至255,可由程序進(jìn)行設(shè)置,這樣,一臺(tái)主控設(shè)備可以連接多達(dá)255個(gè)虛擬模塊。BCC和EM的種類也可以根據(jù)需要由程序進(jìn)行設(shè)置。
3.3RS-232/RJ-45協(xié)議轉(zhuǎn)換器
該協(xié)議轉(zhuǎn)換器的主要功能是用軟件轉(zhuǎn)換器來(lái)替代硬件轉(zhuǎn)換器,實(shí)現(xiàn)串口數(shù)據(jù)與網(wǎng)口數(shù)據(jù)的直接轉(zhuǎn)發(fā),不涉及到協(xié)議的變換。串口只要進(jìn)行常規(guī)的設(shè)置,與所連接設(shè)備的串口參數(shù)一致。由于主控機(jī)與嵌入式模塊之間一般采用串口進(jìn)行連接,另外,數(shù)據(jù)采集模塊也大部分采用串口,因而,通過該協(xié)議轉(zhuǎn)換器,可以將此類串口設(shè)備連接到Internet,進(jìn)行遠(yuǎn)程處理。AIM模塊與該協(xié)議轉(zhuǎn)換器配合,可以轉(zhuǎn)換為一個(gè)開關(guān)量輸入的網(wǎng)絡(luò)傳感器。
3.4虛擬串口的使用
除了跟內(nèi)置的Modem通信,一般地,進(jìn)行串行通信的調(diào)試都需要RS-232連接線。參考文獻(xiàn)[2]提供了虛擬串口驅(qū)動(dòng)程序,模擬實(shí)際的RS-232接口,可以在沒有物理RS-232接口和電纜的情況下,進(jìn)行串行通信的調(diào)試,并且,還可以模擬硬件引腳信號(hào)的變化。
4教學(xué)模式的具體實(shí)現(xiàn)
重視教材建設(shè)和教學(xué)方法的研究,在教學(xué)過程中重視由實(shí)踐而激發(fā)學(xué)生對(duì)相關(guān)理論的興趣,再用提高了的理論水平來(lái)指導(dǎo)新的實(shí)驗(yàn)和實(shí)踐活動(dòng)。傳統(tǒng)的教學(xué)模式在實(shí)踐環(huán)節(jié)上的缺乏與不足也與今天社會(huì)人才市場(chǎng)急功近利的需求遠(yuǎn)遠(yuǎn)不能相適應(yīng)。長(zhǎng)期以來(lái),我們培養(yǎng)的學(xué)生存在著“什么都學(xué)過,卻什么都不會(huì)”的尷尬局面,專業(yè)教育和教材與市場(chǎng)需求嚴(yán)重脫節(jié)。事實(shí)上,學(xué)生就業(yè)難并不是就業(yè)市場(chǎng)不需要人才,其根源還是教學(xué)的現(xiàn)狀所致[3]。
本文采用“趣味實(shí)用程序的演示+知識(shí)點(diǎn)+趣味實(shí)用程序的模仿+綜合訓(xùn)練+學(xué)術(shù)論文”的教學(xué)模式,在講解新的課程的時(shí)候,首先演示程序,例如,用主控程序?qū)Ψ抡鏀?shù)字I/O模塊進(jìn)行監(jiān)控,讓學(xué)生觀察輸入開關(guān)量的變化,可以導(dǎo)致輸出開關(guān)量的變化,并可以看到指示燈的亮與滅,聽到電鈴的響與停,通過實(shí)物激發(fā)學(xué)生的興趣,為學(xué)生樹立一個(gè)目標(biāo):要實(shí)現(xiàn)該系統(tǒng),需要掌握哪些技術(shù)?從而引出本課程中涉及的主要相關(guān)技術(shù)。
4.1C語(yǔ)言和匯編語(yǔ)言的應(yīng)用
C語(yǔ)言是許多高校為計(jì)算機(jī)專業(yè)學(xué)生設(shè)置的第一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。學(xué)習(xí)一門語(yǔ)言,不是學(xué)習(xí)其語(yǔ)法,而是要學(xué)習(xí)利用該語(yǔ)言去解決問題的方法,從而培養(yǎng)相關(guān)的能力。通信是計(jì)算機(jī)監(jiān)控系統(tǒng)的關(guān)鍵技術(shù),為了確保數(shù)據(jù)傳輸?shù)目煽啃?,制訂了通信協(xié)議,引入了校驗(yàn)碼與結(jié)尾碼,如果收到的數(shù)據(jù),其頭字節(jié)、校驗(yàn)碼或結(jié)尾碼錯(cuò)誤,一般不進(jìn)一步處理,而是直接丟棄該數(shù)據(jù)。
可以利用C語(yǔ)言設(shè)計(jì)異或校驗(yàn)碼的生成程序,即對(duì)給定的一批字節(jié),計(jì)算其異或校驗(yàn)碼;對(duì)于含異或校驗(yàn)碼的一批字節(jié),編寫子程序檢查是否正確。同理,可以編寫其它校驗(yàn)碼處理程序。在此基礎(chǔ)之上,進(jìn)一步講解在一個(gè)C語(yǔ)言項(xiàng)目中集成子程序的方法。如果學(xué)生掌握了這些方法,就基本掌握了用C語(yǔ)言開發(fā)受控機(jī)軟件的80%以上的技術(shù)。
匯編語(yǔ)言是符號(hào)化了的面向機(jī)器的語(yǔ)言,比較枯燥??梢杂脜R編語(yǔ)言來(lái)生成校驗(yàn)碼與檢查數(shù)據(jù)是否正確,通過調(diào)試,讓學(xué)生明確各個(gè)寄存器的作用。在字節(jié)處理方面,可以用0表示開關(guān)打開,1表示開關(guān)閉合,在置位和復(fù)位某位時(shí),不能影響其它位的值。
4.2計(jì)算機(jī)接口技術(shù)的應(yīng)用
在計(jì)算機(jī)接口中講解“串行通信技術(shù)”時(shí),首先演示一個(gè)“支持來(lái)電顯示的多賬號(hào)撥號(hào)器”,可以讓學(xué)生一鍵撥號(hào)──201卡與IP卡及所撥打的長(zhǎng)途電話,只要一鍵即可完成,還支持來(lái)電顯示。通過演示,激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)習(xí)成為其需要;然后,講解知識(shí)點(diǎn),讓學(xué)生模仿軟件的開發(fā)。
可以通過匯編語(yǔ)言設(shè)置串口參數(shù),對(duì)串口進(jìn)行初始化,然后,發(fā)送字節(jié)數(shù)據(jù),控制仿真模塊的輸出開關(guān),通過聲光效果觀察程序運(yùn)行的結(jié)果,這比觀察單純的數(shù)據(jù)變化要形象直觀,對(duì)學(xué)生更有吸引力。
4.3計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用
在C語(yǔ)言、匯編語(yǔ)言,以及計(jì)算機(jī)接口技術(shù)中都涉及到字節(jié)數(shù)據(jù)流,這就是協(xié)議及主控機(jī)與受控機(jī)之間的約定。通過串行通信協(xié)議,可以自然過渡到TCP/IP協(xié)議,加深學(xué)生對(duì)協(xié)議的理解。
在網(wǎng)絡(luò)編程方面,可以演示一個(gè)充當(dāng)客戶機(jī)的POP3密碼攻擊程序,讓學(xué)生在增強(qiáng)信息安全意識(shí)的同時(shí),學(xué)習(xí)基于Socket的客戶機(jī)與服務(wù)器程序的設(shè)計(jì)。3.3節(jié)中的協(xié)議轉(zhuǎn)換器,就是通過客戶機(jī)/服務(wù)器編程,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)與串行通信數(shù)據(jù)的無(wú)縫轉(zhuǎn)換。這個(gè)協(xié)議轉(zhuǎn)換器雖然功能簡(jiǎn)單,代碼簡(jiǎn)單,但是,作用非常大,可以用來(lái)對(duì)計(jì)算機(jī)監(jiān)控系統(tǒng)進(jìn)行遠(yuǎn)程調(diào)試與維護(hù)。
4.4VB與數(shù)據(jù)庫(kù)的應(yīng)用
有了仿真模塊,就可以采用VB開發(fā)主控程序。VB是一門快速語(yǔ)言,采用VB編程,學(xué)生可以很快入門,有利于增強(qiáng)學(xué)生學(xué)習(xí)編程的自信心。VB可以很方便地設(shè)計(jì)各種表單界面,通過MSComm32控件和Winsock控件,實(shí)現(xiàn)串行通信和網(wǎng)絡(luò)通信,從而與受控機(jī)或模塊建立通信,完成查詢和控制功能。VB也可以很方便地調(diào)用數(shù)據(jù)庫(kù),用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)控制策略、通信協(xié)議及設(shè)備的狀態(tài)數(shù)據(jù)、報(bào)警記錄等,對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作。通過主控程序的開發(fā),可以提高對(duì)計(jì)算機(jī)接口技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫(kù)的感性認(rèn)識(shí),從而加深理論方面的理解。
5結(jié)束語(yǔ)
計(jì)算機(jī)監(jiān)控系統(tǒng)廣泛應(yīng)用于眾多領(lǐng)域。本文提出了“趣味實(shí)用程序的演示+知識(shí)點(diǎn)+趣味實(shí)用程序的模仿+綜合訓(xùn)練+學(xué)術(shù)論文”的教學(xué)模式,通過程序演示,提高學(xué)生的學(xué)習(xí)興趣,為學(xué)生樹立一個(gè)學(xué)習(xí)目標(biāo),然后,講解知識(shí)點(diǎn),讓學(xué)生模仿相應(yīng)的程序,再進(jìn)行綜合訓(xùn)練。同樣是學(xué)習(xí)相同的課程,但是我們?cè)谄渲腥谌肓擞?jì)算機(jī)監(jiān)控技術(shù),設(shè)計(jì)了仿真模塊,可以在計(jì)算機(jī)房零成本搭建計(jì)算機(jī)監(jiān)控系統(tǒng)平臺(tái),通過我們的教學(xué),學(xué)生畢業(yè)后,可以直接作為項(xiàng)目負(fù)責(zé)人或技術(shù)骨干參加計(jì)算機(jī)監(jiān)控系統(tǒng)項(xiàng)目的開發(fā)。進(jìn)行深入學(xué)習(xí)后,學(xué)生也可以發(fā)表計(jì)算機(jī)監(jiān)控方面的學(xué)術(shù)論文。
目前,我校已經(jīng)開設(shè)了“計(jì)算機(jī)監(jiān)控技術(shù)與系統(tǒng)開發(fā)”課程,實(shí)踐表明,該課程的開設(shè),將計(jì)算機(jī)專業(yè)的若干專業(yè)平臺(tái)課有機(jī)地融合到一起,對(duì)提高學(xué)生的學(xué)習(xí)興趣,加強(qiáng)技能的培養(yǎng),加深對(duì)理論的理解,提高就業(yè)率具有重要意義。
參考文獻(xiàn)
[1] 馬玉春. 計(jì)算機(jī)監(jiān)控技術(shù)與系統(tǒng)開發(fā)[M]. 北京:清華大學(xué)出版社,2007.
[2] Virtual Serial Port[EB/OL]. /products /vspdxp/,2007-7.
[3] 周蘇,王文. 軟件工程實(shí)驗(yàn)教學(xué)的設(shè)計(jì)與創(chuàng)新[J]. 計(jì)算機(jī)教育,2006,(10).
作者簡(jiǎn)介
馬玉春(1969-),男(漢族),江蘇南京人,博士,東北大學(xué)秦皇島分校計(jì)算機(jī)工程系教學(xué)主任。
E-mail:
聯(lián)系方式:東北大學(xué)秦皇島分校計(jì)算機(jī)工程系,郵編066004
辦公:0335-8047939
1.1專業(yè)實(shí)驗(yàn)課程
除了公共課實(shí)驗(yàn)及實(shí)踐內(nèi)容如計(jì)算機(jī)文化基礎(chǔ)、體育、畢業(yè)見習(xí)實(shí)習(xí)、畢業(yè)設(shè)計(jì)或論文等外,各院校確定的現(xiàn)代教育技術(shù)專業(yè)的實(shí)驗(yàn)課與實(shí)踐內(nèi)容。
1.2實(shí)驗(yàn)課的比重
各院校確定的現(xiàn)代教育技術(shù)專業(yè)的實(shí)驗(yàn)課共計(jì)100門,占整個(gè)課程的65%,即有65%的課程設(shè)置了相應(yīng)的實(shí)驗(yàn),但各院校不盡一致。大部分院?,F(xiàn)代教育技術(shù)專業(yè)含有實(shí)驗(yàn)的課程中理論講授學(xué)時(shí)所占比重較大,而實(shí)驗(yàn)學(xué)時(shí)較少,只有武威職業(yè)學(xué)院和鄖陽(yáng)師專的培養(yǎng)方案中實(shí)驗(yàn)學(xué)時(shí)超過了理論講授學(xué)時(shí);相對(duì)于整個(gè)專業(yè)的總學(xué)時(shí),含有實(shí)驗(yàn)的課程學(xué)時(shí)(理論講授學(xué)時(shí)+實(shí)驗(yàn)學(xué)時(shí))所占比重較小,即大部分院?,F(xiàn)代教育技術(shù)專業(yè)課程大部分還是理論講授為主。
1.3實(shí)驗(yàn)課程類型
從上述各院校確定的現(xiàn)代教育技術(shù)專業(yè)實(shí)驗(yàn)課程,作者將其分為以下幾類:基礎(chǔ)類試驗(yàn)、視聽類實(shí)驗(yàn)、計(jì)算機(jī)類實(shí)驗(yàn)、教育技術(shù)類實(shí)驗(yàn)。各院校確定的現(xiàn)代教育技術(shù)專業(yè)實(shí)驗(yàn)課程共計(jì)100門,但從表2可以看出,所有實(shí)驗(yàn)課程計(jì)算機(jī)類實(shí)驗(yàn)課程比例超多了50%,有些計(jì)算機(jī)專業(yè)不開設(shè)的課程現(xiàn)代教育技術(shù)專業(yè)開設(shè),有些課程重復(fù)開設(shè)(如編程課程就有8門:C程序設(shè)計(jì)、VB程序設(shè)計(jì)、ASP編程、PHP編程、JSP編程、面向?qū)ο蟮某绦蛟O(shè)計(jì)(JAVA技術(shù))、高級(jí)語(yǔ)言程序設(shè)計(jì)、Vb-script);而真正屬于教育技術(shù)類實(shí)驗(yàn)并不成熟,像教育傳播學(xué)、現(xiàn)代教育技術(shù)理論、學(xué)與教的基本原理等課程本來(lái)是純將理論基礎(chǔ)的課程,偏偏加上了實(shí)驗(yàn)學(xué)時(shí)。
2現(xiàn)代教育技術(shù)專業(yè)實(shí)驗(yàn)課程存在的問題
2.1“失重”的實(shí)驗(yàn)課程
無(wú)論是作者所調(diào)查的全國(guó)部分院校現(xiàn)代教育技術(shù)專業(yè),還是通訊作者所在的學(xué)校———甘肅民族師范學(xué)院現(xiàn)代教育技術(shù)專業(yè),它們的實(shí)驗(yàn)課程可以用“失重”來(lái)形容,這種“失重”現(xiàn)象體現(xiàn)在兩個(gè)方面:一是相對(duì)于理論課程來(lái)說,實(shí)驗(yàn)課程比重較小,并且大多依附于理論課程;二是從實(shí)驗(yàn)課程類型、實(shí)踐內(nèi)容來(lái)看,計(jì)算機(jī)類實(shí)驗(yàn)課程明顯偏多,真正屬于教育技術(shù)類的實(shí)驗(yàn)并不成熟。根據(jù)教育部對(duì)高職高專教育人才培養(yǎng)工作的意見,“實(shí)踐教學(xué)的主要目的是培養(yǎng)學(xué)生的技術(shù)應(yīng)用能力,并在教學(xué)計(jì)劃中占有較大比重”、“實(shí)踐教學(xué)要改變過分依附理論教學(xué)的狀況,探索建立相對(duì)獨(dú)立的實(shí)踐教學(xué)體系”,現(xiàn)代教育技術(shù)專業(yè)的實(shí)驗(yàn)課程體系的改革,特別是實(shí)驗(yàn)課程教材的建設(shè)勢(shì)在必行。
2.2“依附”、“演示”的實(shí)踐教學(xué)
在作者所調(diào)查的全國(guó)部分院?,F(xiàn)代教育技術(shù)專業(yè)的課程體系中,相對(duì)于整個(gè)專業(yè)的總學(xué)時(shí),含有實(shí)驗(yàn)的課程學(xué)時(shí)(理論講授學(xué)時(shí)+實(shí)驗(yàn)學(xué)時(shí))所占比重較小,大部分院校現(xiàn)代教育技術(shù)專業(yè)課程大部分還是理論講授為主。在甘肅民族師范學(xué)院進(jìn)行實(shí)地調(diào)研時(shí),作者發(fā)現(xiàn),由于專業(yè)教學(xué)人員缺乏、設(shè)備及實(shí)驗(yàn)室面積較小等諸多原因,只能開展一些設(shè)備操作、演示的項(xiàng)目,真正綜合的實(shí)驗(yàn)項(xiàng)目無(wú)法開展,所以實(shí)踐教學(xué)效果較差。從所有課程設(shè)置的實(shí)驗(yàn)項(xiàng)目中可以看出,大部分都是設(shè)備使用項(xiàng)目,學(xué)生學(xué)完這些項(xiàng)目之后很少安排進(jìn)一步進(jìn)行綜合運(yùn)用、教學(xué)應(yīng)用的實(shí)驗(yàn)項(xiàng)目,個(gè)別設(shè)置了的課程恰恰又沒有開設(shè),以《教育電聲系統(tǒng)》為例,該課程實(shí)驗(yàn)開出率為80%,實(shí)際開出的實(shí)習(xí)項(xiàng)目是“話筒、錄音卡座、數(shù)碼錄音筆等電聲器件的操作使用;調(diào)音臺(tái)構(gòu)造及操作使用;聲音素材采錄;錄音節(jié)目的編制”等設(shè)備操作、演示型的項(xiàng)目,該課程設(shè)置了“利用語(yǔ)言學(xué)習(xí)系統(tǒng)進(jìn)行教學(xué)”的項(xiàng)目,通過對(duì)該課程任課老師的訪談發(fā)現(xiàn):全校有一套語(yǔ)言學(xué)習(xí)系統(tǒng)在外語(yǔ)系,現(xiàn)代教育技術(shù)專業(yè)所在系沒有電聲系統(tǒng)相關(guān)設(shè)備,該實(shí)驗(yàn)項(xiàng)目并沒有開展。
3現(xiàn)代教育技術(shù)專業(yè)實(shí)驗(yàn)實(shí)踐課程設(shè)計(jì)
3.1設(shè)計(jì)原則
3.1.1豐富的實(shí)踐教學(xué)體系
培養(yǎng)學(xué)生的學(xué)生動(dòng)手操作能力、技術(shù)應(yīng)用能力,不能單靠實(shí)驗(yàn)實(shí)訓(xùn)課程,所以必須豐富現(xiàn)代教育技術(shù)的實(shí)踐教學(xué)體系,包括實(shí)驗(yàn)課程體系、校內(nèi)外實(shí)訓(xùn)體系、分散見習(xí)與集中實(shí)習(xí)體系等,形成了完整的培養(yǎng)體系。
3.1.2“依附”“獨(dú)立”并存,分方向設(shè)置的實(shí)驗(yàn)實(shí)踐課程體系
與以往實(shí)驗(yàn)課程比重較小、實(shí)驗(yàn)課程依附于理論課程的情況相比,作者提出“依附”“獨(dú)立”并存,分方向設(shè)置的實(shí)驗(yàn)實(shí)踐課程體系的設(shè)想,即個(gè)別演示型實(shí)驗(yàn)依附于理論課程外,需要學(xué)生親自動(dòng)手的實(shí)驗(yàn)均安排為獨(dú)立的實(shí)驗(yàn)課程,并且除公共性質(zhì)的實(shí)驗(yàn)實(shí)踐課程如實(shí)習(xí)、計(jì)算機(jī)基礎(chǔ)上機(jī)實(shí)驗(yàn)外,專業(yè)實(shí)驗(yàn)實(shí)踐課程除基礎(chǔ)實(shí)驗(yàn)外,按不同的專業(yè)方向單獨(dú)設(shè)置。上述實(shí)驗(yàn)實(shí)踐課程體系,使得實(shí)踐教學(xué)在教學(xué)計(jì)劃中占有較大比重,形成了基本實(shí)踐能力與操作技能、專業(yè)技術(shù)應(yīng)用能力與專業(yè)技能、綜合實(shí)踐能力與綜合技能有機(jī)結(jié)合的實(shí)踐教學(xué)體系,有利于及時(shí)吸收科學(xué)技術(shù)和社會(huì)發(fā)展的最新成果,有利于培養(yǎng)實(shí)用型、應(yīng)用型專門人才。
3.2實(shí)驗(yàn)實(shí)踐課程設(shè)計(jì)
現(xiàn)代教育技術(shù)專業(yè)的實(shí)驗(yàn)實(shí)踐課程除個(gè)別演示型實(shí)驗(yàn)依附于理論課程外,需要學(xué)生親自動(dòng)手的實(shí)驗(yàn)均安排為獨(dú)立的實(shí)驗(yàn)課程,整個(gè)課程體系可分公共實(shí)驗(yàn)實(shí)踐課程、專業(yè)實(shí)驗(yàn)實(shí)踐課程和見習(xí)實(shí)習(xí)等模塊,不包含公共選修課中含有的實(shí)驗(yàn)實(shí)踐課程。
3.2.1公共實(shí)驗(yàn)實(shí)踐課程主要包括信息技術(shù)實(shí)驗(yàn)、大學(xué)體育、軍事訓(xùn)練等。
3.2.2專業(yè)實(shí)驗(yàn)實(shí)踐課程
1制定合理的編程類實(shí)踐課程教學(xué)計(jì)劃
實(shí)踐教學(xué)大綱是實(shí)踐課程開設(shè)質(zhì)量的重要保證,同時(shí),實(shí)踐教學(xué)計(jì)劃是整個(gè)教學(xué)計(jì)劃的重要組成部分。在制定實(shí)踐教學(xué)計(jì)劃時(shí),要充分考慮自己學(xué)校的特色、學(xué)生的實(shí)際情況和社會(huì)實(shí)際需求,以《中國(guó)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科教程2002(CCC2002)》和《高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)體系與規(guī)范》等為指導(dǎo),以對(duì)所培養(yǎng)學(xué)生的目標(biāo)定位為歸宿,制定和不斷修訂實(shí)踐教學(xué)計(jì)劃。制定系列化的編程類課程體系和編程類課程群[1-2],以Java程序設(shè)計(jì)實(shí)踐課程的開設(shè)為例,可以分階段開設(shè),按完整的Java技術(shù)路線組織,如在低年級(jí)開設(shè)“JavaSE程序設(shè)計(jì)和應(yīng)用”課程及其實(shí)踐課程,在較高年級(jí)開設(shè)“JavaEE程序設(shè)計(jì)和應(yīng)用”和“JavaME程序設(shè)計(jì)和應(yīng)用”課程及其實(shí)踐課程。這樣,可以有效避免學(xué)生在學(xué)習(xí)了一門編程語(yǔ)言基礎(chǔ)后,出現(xiàn)繼續(xù)深入的困難和技術(shù)“斷線”現(xiàn)象,如只學(xué)完了JavaSE部分的知識(shí),不知道進(jìn)一步的Java學(xué)習(xí)方向等[3]。目前,大多數(shù)院校開設(shè)的程序設(shè)計(jì)類課程是以專業(yè)選修課程的形式進(jìn)行的,因此,指導(dǎo)學(xué)生有針對(duì)性地進(jìn)行選課非常重要,如:學(xué)生選修了“Java程序設(shè)計(jì)”的先修課,在高年級(jí)時(shí)可以建議其去選修“JavaWeb編程”課程;若學(xué)生選修了“VB程序設(shè)計(jì)”的先修課,在高年級(jí)時(shí)可以建議其去選修“ASP(ASP.net)Web編程”課程等。在選課系統(tǒng)中增設(shè)關(guān)于每門課程的內(nèi)容簡(jiǎn)介和授課教師的介紹,這樣做有以下好處:一是在課程名稱字面上就可以看出授課的重點(diǎn),可以回避學(xué)生從一個(gè)籠統(tǒng)的“XX程序設(shè)計(jì)”名稱上產(chǎn)生誤會(huì),認(rèn)為這門課可以將該編程語(yǔ)言的所有技術(shù)都包含進(jìn)去;二是通過課程內(nèi)容簡(jiǎn)介,讓學(xué)生更加透明地了解每門不同程序設(shè)計(jì)課程的授課重點(diǎn),從而根據(jù)自己的知識(shí)需求和興趣有目的地選擇課程。所有代程序設(shè)計(jì)課程的教師共同參與,集思廣益地制定實(shí)踐教學(xué)計(jì)劃。這樣做,一方面可以保證實(shí)踐教學(xué)計(jì)劃的完整和系統(tǒng),避免低層次的重復(fù)和課程沖突;另一方面,可以讓教師從更高高度把握實(shí)踐教學(xué)規(guī)劃,而不僅是只關(guān)注自己所教授的那門編程課程。將實(shí)踐教學(xué)系統(tǒng)地規(guī)劃到理論教學(xué)、實(shí)驗(yàn)課、課程設(shè)計(jì)、學(xué)年和畢業(yè)設(shè)計(jì)以及創(chuàng)新實(shí)踐等各個(gè)不同階段和各部分中,逐步落實(shí),如圖1所示。
2以實(shí)際問題為出發(fā)點(diǎn),以社會(huì)需求為歸宿
為了切實(shí)培養(yǎng)學(xué)生發(fā)現(xiàn)問題、解決問題、實(shí)際動(dòng)手、交流和表達(dá)、持續(xù)學(xué)習(xí)、適應(yīng)和協(xié)調(diào)、組織能力等綜合能力[4],需要從以下幾個(gè)方面入手。
2.1實(shí)踐項(xiàng)目的設(shè)計(jì)應(yīng)以實(shí)際應(yīng)用為背景
任何的應(yīng)用和創(chuàng)新都是源于現(xiàn)實(shí)的需求,再小的實(shí)踐項(xiàng)目,都需要有調(diào)研與需求分析過程。引導(dǎo)學(xué)生在編程實(shí)踐時(shí)學(xué)會(huì)思考“某一種編程方法會(huì)運(yùn)用在哪些實(shí)際項(xiàng)目中”、“哪些是通用的軟件模塊”、“接口方法如何”、“如何將不同成員開發(fā)的模塊集成在一起,怎樣測(cè)試”、“在單臺(tái)計(jì)算機(jī)上開發(fā)并測(cè)試的項(xiàng)目如何到網(wǎng)絡(luò)環(huán)境下”、“能用嗎”、“如何改進(jìn)”等問題,是鍛煉和提高學(xué)生獨(dú)立思考能力的重要途徑。教師自身要研究社會(huì)對(duì)計(jì)算機(jī)軟件人才的具體要求、研究如何培養(yǎng)學(xué)生,以發(fā)展的眼光注重培養(yǎng)學(xué)生獨(dú)立思考、分析和解決實(shí)際應(yīng)用問題的能力。
2.2明確畢業(yè)走向,提高學(xué)生實(shí)踐能力
經(jīng)驗(yàn)表明,計(jì)算機(jī)軟件相關(guān)專業(yè)學(xué)生在畢業(yè)后,大體有以下幾種走向:考研深造、直接進(jìn)公司從事計(jì)算機(jī)軟件開發(fā)、通過考公務(wù)員等方式進(jìn)入事業(yè)型單位從事技術(shù)性或文職型工作崗位等。因此,在高年級(jí)階段,應(yīng)引導(dǎo)學(xué)生明確就業(yè)意向,進(jìn)而有針對(duì)性地強(qiáng)化其專業(yè)技能。
2.2.1加強(qiáng)基本編程思維和方法的訓(xùn)練編程思維和方法的訓(xùn)練對(duì)程序設(shè)計(jì)能力的培養(yǎng)具有決定性作用。對(duì)學(xué)生要進(jìn)行面向過程和面向?qū)ο缶幊趟枷牒推鋵?duì)應(yīng)的基本編程方法的引導(dǎo),達(dá)到讓學(xué)生由此及彼、觸類旁通地學(xué)習(xí)其他編程語(yǔ)言和技術(shù)。若沒有培養(yǎng)起學(xué)生基本編程思想和能力,即便學(xué)生學(xué)習(xí)了再多門類的編程語(yǔ)言,仍不能提高能力,有時(shí)反而還會(huì)導(dǎo)致學(xué)生在各種編程語(yǔ)言和技術(shù)中徘徊不定,遇到問題不能快速進(jìn)行編程和技術(shù)選型。
2.2.2培養(yǎng)科研型、技術(shù)工程型人才在學(xué)生具備了基本編程思維和技能的基礎(chǔ)上,可以考慮引導(dǎo)學(xué)生在高年級(jí)階段根據(jù)自己的畢業(yè)走向有針對(duì)性地強(qiáng)化編程訓(xùn)練,以快速適應(yīng)即將面臨的新環(huán)境和新挑戰(zhàn)。對(duì)于準(zhǔn)備考研深造的學(xué)生,可以將他們吸收到教師科研隊(duì)伍中。這樣,可以潛移默化地讓學(xué)生盡早熟悉科研工作,掌握正確的科研方法,提高科研意識(shí),鍛煉分析問題、解決問題的能力,培養(yǎng)嚴(yán)謹(jǐn)求實(shí)的科研作風(fēng)[5]。舉例來(lái)說,教師可以在自己運(yùn)用Matlab進(jìn)行科學(xué)計(jì)算、數(shù)字圖像處理、Simulink仿真、遺傳算法與神經(jīng)網(wǎng)絡(luò)等智能算法研究時(shí),通過帶動(dòng)學(xué)生參與其中,讓學(xué)生不僅奠定一定科研基礎(chǔ),還會(huì)熟悉Matlab及其相關(guān)編程方法、運(yùn)用Multisim進(jìn)行電路系統(tǒng)的設(shè)計(jì)和仿真[6]等。對(duì)于將自己畢業(yè)走向確定為軟件項(xiàng)目開發(fā)等的學(xué)生,可以將其吸納到教師軟件項(xiàng)目開發(fā)小組中來(lái),或吸納到由指導(dǎo)教師牽頭并組建的學(xué)生軟件項(xiàng)目開發(fā)小組中,讓學(xué)生熟悉實(shí)際軟件項(xiàng)目的開發(fā)流程和方法。在實(shí)際項(xiàng)目開發(fā)過程中,更進(jìn)一步明確自己的技術(shù)選型,在社會(huì)需求量較大的眾多軟件技術(shù)如VisualC++、.Net技術(shù)、Java技術(shù)等中鎖定一種,進(jìn)而鍛煉和培養(yǎng)學(xué)生進(jìn)行實(shí)際項(xiàng)目開發(fā)的能力。
2.3鼓勵(lì)學(xué)生通過專業(yè)資格認(rèn)證
對(duì)于所有學(xué)生,首先都應(yīng)鼓勵(lì)他們通過專業(yè)資格認(rèn)證,如參加全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)中的四級(jí)網(wǎng)絡(luò)工程師、四級(jí)數(shù)據(jù)庫(kù)工程師、四級(jí)軟件測(cè)試工程師方向考試,軟件工程師、系統(tǒng)架構(gòu)師資格認(rèn)證考試,SUN公司的Java技術(shù)認(rèn)證,Cisco公司的網(wǎng)絡(luò)技術(shù)認(rèn)證等。通過這些專業(yè)資格認(rèn)證的考試的準(zhǔn)備和資格獲得,可以幫助學(xué)生明確自己的專業(yè)方向,而且對(duì)該方向產(chǎn)生更大興趣和信心。其次,要鼓勵(lì)學(xué)生積極參與各級(jí)各類的專業(yè)程序設(shè)計(jì)競(jìng)賽,如ACM競(jìng)賽、ITAT競(jìng)賽以及其他競(jìng)賽。通過參與競(jìng)賽,拔高學(xué)生的編程高度、拓展編程視野、培養(yǎng)創(chuàng)新精神和能力。
3拓展實(shí)踐教學(xué)的時(shí)間和空間
通常,實(shí)踐教學(xué)被納入正常的教學(xué)學(xué)時(shí)中,學(xué)時(shí)有限、實(shí)驗(yàn)室固定,這對(duì)于綜合性、創(chuàng)新性實(shí)驗(yàn)的開展很不利。
3.1充分利用優(yōu)質(zhì)資源,拓展實(shí)驗(yàn)平臺(tái)
以利用北京大學(xué)的“北京大學(xué)程序在線評(píng)測(cè)系統(tǒng)(POJ)”為例,該系統(tǒng)具有可以運(yùn)用各類編程語(yǔ)言進(jìn)行在線程序編寫和即時(shí)評(píng)測(cè)的強(qiáng)大功能,其上的題目具有實(shí)用性、趣味性和很高的創(chuàng)新性,可以充分地幫助學(xué)生提高通過編程解決反映工作和生活實(shí)際問題的能力[7],從而充分調(diào)動(dòng)學(xué)生的主動(dòng)性、積極性和創(chuàng)造性,激發(fā)學(xué)生的創(chuàng)新思維和創(chuàng)新意識(shí),逐漸掌握獨(dú)立思考問題、解決問題的方法,提高其創(chuàng)新實(shí)踐的能力。引進(jìn)或自行研制開發(fā)基于Web工作流的程序設(shè)計(jì)綜合管理系統(tǒng)[8-9]。通過該系統(tǒng),由教師在課前提交實(shí)踐項(xiàng)目的目的、要求、內(nèi)容等,讓學(xué)生在實(shí)踐課前通過該平臺(tái)預(yù)習(xí)實(shí)踐內(nèi)容、查閱資料,進(jìn)行相關(guān)的設(shè)計(jì)和初步實(shí)現(xiàn),課后書寫實(shí)踐報(bào)告并通過該平臺(tái)提交。教師評(píng)閱完畢后,學(xué)生可以看到批閱結(jié)果,根據(jù)批閱意見,繼續(xù)完善實(shí)踐項(xiàng)目。同時(shí),教師可以將自己積累多年的程序設(shè)計(jì)項(xiàng)目、程序設(shè)計(jì)方法、歷屆優(yōu)秀學(xué)生的程序設(shè)計(jì)作品和實(shí)用開發(fā)工具等在該平臺(tái)上,以供學(xué)生共享。開通師生用于交流程序設(shè)計(jì)經(jīng)驗(yàn)的論壇和即時(shí)答疑空間。
3.2軟件創(chuàng)新實(shí)驗(yàn)室建設(shè)
成立計(jì)算機(jī)軟件創(chuàng)新實(shí)驗(yàn)室的最終目的,是培養(yǎng)學(xué)生獨(dú)立承攬實(shí)際軟件工程項(xiàng)目的能力,和進(jìn)行計(jì)算機(jī)軟件相關(guān)科研能力的培養(yǎng),使學(xué)生具有快速適應(yīng)社會(huì)需求或深造發(fā)展的需求能力。
3.2.1軟件創(chuàng)新實(shí)踐開展流程和制度建設(shè)
實(shí)際軟件項(xiàng)目的開發(fā)應(yīng)具有嚴(yán)格的流程,在指導(dǎo)教師的帶領(lǐng)下,由學(xué)生組成創(chuàng)新實(shí)驗(yàn)小組,創(chuàng)新實(shí)驗(yàn)項(xiàng)目由指導(dǎo)教師規(guī)劃和安排,進(jìn)入創(chuàng)新實(shí)驗(yàn)室時(shí)應(yīng)向計(jì)算機(jī)科學(xué)學(xué)院報(bào)送創(chuàng)新實(shí)驗(yàn)項(xiàng)目安排表或軟件項(xiàng)目投標(biāo)書等。完成創(chuàng)新實(shí)驗(yàn)和實(shí)際軟件項(xiàng)目開發(fā)時(shí),在條件允許的情況下應(yīng)將相關(guān)資料和成果歸檔保存。軟件創(chuàng)新實(shí)踐項(xiàng)目和軟件項(xiàng)目開發(fā)一定要以“系統(tǒng)觀點(diǎn)”進(jìn)行,即問題或大或小,都要通盤考慮,按照系統(tǒng)科學(xué)方法[10]和軟件工程方法進(jìn)行,如圖2所示。組織項(xiàng)目開發(fā)人員,首先,進(jìn)行角色劃分,如項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析和設(shè)計(jì)人員、編碼和美工設(shè)計(jì)人員等,然后,當(dāng)系統(tǒng)設(shè)計(jì)完成后,就要明確分配任務(wù),形成任務(wù)分解表并落實(shí)到個(gè)人。由于學(xué)生進(jìn)行實(shí)際項(xiàng)目開發(fā)的經(jīng)驗(yàn)不足,可由指導(dǎo)教師擔(dān)任項(xiàng)目的總負(fù)責(zé)人,定期督促和檢查項(xiàng)目進(jìn)度和估算項(xiàng)目成本等[11]。在創(chuàng)新實(shí)驗(yàn)室日常管理環(huán)節(jié)上,可以建立在指導(dǎo)教師的監(jiān)督下,讓全體參與創(chuàng)新實(shí)踐的學(xué)生形成排班和輪流值日的管理制度[12]。
3.2.2軟件創(chuàng)新實(shí)驗(yàn)實(shí)施方案
由指導(dǎo)教師牽頭,引導(dǎo)學(xué)生創(chuàng)新小組進(jìn)行課題研究、承攬軟件開發(fā)項(xiàng)目和創(chuàng)新實(shí)踐探索研究[13]。課題研究一般是由教師吸收學(xué)生參與到研究的課題中,共同完成大型的實(shí)踐項(xiàng)目。指導(dǎo)教師帶領(lǐng)學(xué)生創(chuàng)新團(tuán)隊(duì)承攬學(xué)校及校外的應(yīng)用開發(fā)項(xiàng)目,進(jìn)行項(xiàng)目開發(fā)。由主持實(shí)踐教學(xué)改革項(xiàng)目的教師帶領(lǐng)其他教師和學(xué)生進(jìn)入創(chuàng)新實(shí)驗(yàn)室,組織實(shí)施和完成“以應(yīng)用為核心”、“以本科學(xué)生為主體”的創(chuàng)新性實(shí)踐教學(xué)改革項(xiàng)目。
4實(shí)踐項(xiàng)目的設(shè)計(jì)與監(jiān)督
4.1實(shí)踐項(xiàng)目的原創(chuàng)性和創(chuàng)新性
實(shí)踐項(xiàng)目設(shè)計(jì)的原創(chuàng)性和創(chuàng)新性在很大程度上決定著實(shí)踐教學(xué)的質(zhì)量。在長(zhǎng)期程序設(shè)計(jì)教學(xué)過程中,發(fā)現(xiàn)學(xué)生在平時(shí)實(shí)踐、學(xué)年論文(設(shè)計(jì))、畢業(yè)論文(設(shè)計(jì))以及實(shí)際項(xiàng)目開發(fā)過程中原創(chuàng)性差和缺乏創(chuàng)新性等問題,究其原因有:
(1)為了與程序設(shè)計(jì)理論教學(xué)配套,平時(shí)的程序設(shè)計(jì)實(shí)踐項(xiàng)目中“驗(yàn)證性”項(xiàng)目和沒有實(shí)際應(yīng)用背景的“示例性”項(xiàng)目比重較大。
(2)一些通用性的程序設(shè)計(jì)實(shí)踐項(xiàng)目,諸如“XX管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)”、“XX網(wǎng)站的開發(fā)與實(shí)現(xiàn)”等的相關(guān)開放資源非常多,其整個(gè)軟件的設(shè)計(jì)開發(fā)背景和需求、分析和設(shè)計(jì)過程,以及實(shí)現(xiàn)的全部源碼都是有現(xiàn)成可參考的。若實(shí)踐項(xiàng)目如此命題,則導(dǎo)致部分學(xué)生將查閱參考資料變成了“復(fù)制—粘貼”,這樣,不僅沒有達(dá)到良好的實(shí)踐效果,反而還讓一些學(xué)生養(yǎng)成了不勞而獲、抄襲剽竊的壞習(xí)氣。
(3)虛擬和籠統(tǒng)的實(shí)踐項(xiàng)目較多,比如對(duì)系統(tǒng)的設(shè)計(jì)和開發(fā)背景是自定的而不是源于實(shí)際用戶的開發(fā)需求等。學(xué)生在完成過程中,沒有經(jīng)歷分析和解決實(shí)際應(yīng)用問題的磨礪過程。因此,在引導(dǎo)學(xué)生進(jìn)行項(xiàng)目實(shí)踐的過程中,在對(duì)其進(jìn)行各階段指導(dǎo)和檢查時(shí),必須嚴(yán)格把關(guān),對(duì)實(shí)踐項(xiàng)目題目的設(shè)計(jì)本身應(yīng)具有很強(qiáng)的針對(duì)性、原創(chuàng)性和創(chuàng)新性。不斷引導(dǎo)學(xué)生從身邊做起,積極主動(dòng)地發(fā)現(xiàn)需求,比如:在歷屆的全國(guó)計(jì)算機(jī)等級(jí)考試中,發(fā)現(xiàn)有個(gè)別考生攜帶U盤等電子介質(zhì)作弊的問題,教師應(yīng)引導(dǎo)學(xué)生去探究和開發(fā)一種能夠監(jiān)控和防止利用電子介質(zhì)作弊的軟件;學(xué)校的各機(jī)關(guān)部門和學(xué)院都有開發(fā)和維護(hù)各自部門網(wǎng)站、開發(fā)學(xué)生管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等需求,這些需求往往很具體,具有特殊要求和差異性,教師可以引導(dǎo)學(xué)生項(xiàng)目開發(fā)團(tuán)隊(duì)承攬和開發(fā)這些項(xiàng)目;教師面臨缺乏專有的與學(xué)生進(jìn)行在線溝通和交流的系統(tǒng)和在線收發(fā)、批閱作業(yè)的系統(tǒng),可以將這樣的需求作為學(xué)生畢業(yè)設(shè)計(jì)的題目等。
4.2加強(qiáng)對(duì)學(xué)生實(shí)踐效果的檢驗(yàn)和監(jiān)督
要注重從貫穿整個(gè)本科實(shí)踐教學(xué)的各個(gè)環(huán)節(jié),諸如各項(xiàng)編程類基礎(chǔ)實(shí)踐項(xiàng)目、創(chuàng)新性和研究性實(shí)踐項(xiàng)目、各級(jí)各類的專業(yè)程序設(shè)計(jì)競(jìng)賽、本科學(xué)年設(shè)計(jì)、本科畢業(yè)設(shè)計(jì)等具體環(huán)節(jié)入手,全程監(jiān)督和檢查學(xué)生的實(shí)踐能力。改革對(duì)學(xué)生程序設(shè)計(jì)課程考核的機(jī)制,加大實(shí)踐考核在成績(jī)、能力評(píng)價(jià)中的比重;教師通過對(duì)學(xué)生所做的實(shí)踐項(xiàng)目進(jìn)行提問、討論、答辯等方式,了解每個(gè)學(xué)生在實(shí)踐中存在的問題和實(shí)踐效果,發(fā)現(xiàn)不足,進(jìn)而有的放矢地改善程序設(shè)計(jì)實(shí)踐效果。