時間:2023-03-21 17:14:26
序論:速發表網結合其深厚的文秘經驗,特別為您篩選了11篇vb程序設計論文范文。如果您需要更多原創資料,歡迎隨時與我們的客服老師聯系,希望您能從中汲取靈感和知識!
1.2工程施工放樣數學模型
1.2.1曲線常數:(1)緩和曲線傾角:πβ180200=×Rl(2)圓曲線內移值:(3)切線外移量:23002240Rllm
1.2.2曲線要素:(1)切線長:(2)曲線長度:(3)外矢距:E=R+PR2()secα(4)切曲差:D=2TL
1.2.3主點里程:(1)ZH點里程:(2)HY點里程:(3)QZ點里程:(4)YH點里程:(5)HZ點里程:檢核計算:
1.2.4獨立坐標計算:(1)在坐標系x′o′y′中,緩和曲線ZH-HY段(i1K)獨立坐標計算:(2)計算ZH-HY緩和曲線細部點:(3)計算ZH-HY緩和曲線HY點(直接將上式0lli代為0lli代為):(4)在坐標系x′o′y′中,圓曲線HY-YH段任意一點獨立坐標計算:=+=+(1)siniiiiyPRCosxmRφφ1.2.5主點及若干曲線中樁點坐標:(1)(指ZH到JD的坐標方位角)(2)(右轉用-,左轉為+)(3)(右轉用-,左轉為+)(4)三個主點坐標如下:ZH點坐標:HZ點坐標:QZ點坐標:(5)曲線中樁點坐標按線路右轉所得公式如下(注意若為線路左轉則以下幾個公式用iiy代替y):
2工程施工放樣項目VisualBasic程序設計
2.1程序界面
2.1.1主程序界面。主程序界面設計如圖2所示,通過主界面,可以輸入所有的已知數據,并選擇偏角的類型。圖2主程序界面
2.1.2結果顯示界面。計算結果通過一個文本框的形式,將所有需要的結果及一些關鍵的中間結果分欄顯示,如圖3所示:圖3結果顯示界面
2.2核心代碼
2.2.1計算曲線常數和曲線要素:IfR<>0ThenJD=Ls*180/(2*R*PI)p=Ls^2/(24*R)-Ls^4/(2688*R^3)m=Ls/2-Ls^3/(240*R^2)T=(R+p)*Tan(PJ/2)+mL=PJ*R+LsE=(R+p)*1/Cos(PJ/2)-Rq=2*T-LElseMsgBox"必須輸入曲線半徑R!"Text12.SetFocusEndIf
2.2.2主點里程及獨立坐標計算:k1=k1*1000+k11k2=k2*1000+k22k3=k3*1000+k33kZH=k1-TkkZH=kZH\1000kkkZH=kZH-kkZH*1000kkkZH=Format(kkkZH,“###.###”)Str1="ZH點里程:"&"K"&kkZH&"+"&kkkZHStr2="HY點里程:"&"K"&kkHY&"+"&kkkHYStr3="QZ點里程:"&"K"&kkQZ&"+"&kkkQZStr4="YH點里程:"&"K"&kkYH&"+"&kkkYHStr5="HZ點里程:"&"K"&kkHZ&"+"&kkkHZLi=k2-kZHLi1=k3-kZHX11=Li-(Li^5)/(40*R^2*Ls^2)Y11=(Li^3)/(6*R*Ls)X12=m+R*Sin((Li1-0.5*Ls)/R)Y12=p+R*(1-Cos((Li1-0.5*Ls)/R))Xhy1=m+R*Sin(JD*PI/180)Yhy1=p+R*(1-Cos(JD*PI/180))Ajd=((Li1-0.5*Ls)/R)*180/PI
2.2.3坐標計算:Xzh=X2+T*Cos(A)Yzh=Y2+T*Sin(A)Xhy=Xzh-Xhy1*Cos(A)+K*Yhy1*Sin(A)Yhy=Yzh-Xhy1*Sin(A)-K*Yhy1*Cos(A)Xqz=X2+E*Cos(Ajz)Yqz=Y2+E*Sin(Ajz)X111=Xzh-X11*Cos(A)+K*Y11*Sin(A)Y111=Yzh-X11*Sin(A)-K*Y11*Cos(A)X112=Xzh-X12*Cos(A)+K*Y12*Sin(A)Y112=Yzh-X12*Sin(A)-K*Y12*Cos(A)
2.2.4結果輸出:OpenApp.Path&“\T1.txt”ForInputAs#2DoWhileNotEOF(2)'循環至文件尾。LineInput#2,TextLine'讀入一行數據并將其賦予某變量。Form2.Text1.Text=Form2.Text1.Text&Chr(13)+Chr(10)&TextLineLoopClose#2Form2.Show
學情分析是教學設計系統中“影響學習系統最終設計”的重要因素之一。在教學設計中,依據教學設計理論,認真研究學生的實際需要、能力水平和認知傾向,“為學習者設計教學”,可優化教學過程,更有效地達成教學目標,提高教學效率。VB的開課學期一般在大一第二學期,按照專業培養計劃,計算機網絡技術等專業在新生入學的第一學期就開設了《C語言程序設計》這門課。對于從未接觸過語言類課程的大一新生來說,C語言的學習,顛覆了大部分學生的思維方式,學生普遍感到很吃力,有相當一部分同學開始對程序類課程感到害怕。
二、教學方法探討
1.消除學生的畏難情緒
為了打消學生的畏難情緒,對于VB教學,應首先與學生談VB,而不是教VB。首先,要讓學生明白VB和C語言是完全不同的兩種編程方式,不要因為害怕C語言,而害怕VB。教學中,通過演示一個簡單的例子,向學生演示只需要兩行代碼便可制作出美觀的界面和可愛的功能。比如:示例1:制作美觀的界面,實現窗體上的文字自動或手動的向下移動。突現VB相對于C語言的簡單易懂,引導學生一步步完成所需功能。最后,啟發學生:如果想讓文字上移,如何修改程序?如果想讓文字左移或右移,如何修改程序?如果想讓文字左右交替移動,又要如何修改程序?通過上述示例的講解,使得學生對VB有一個全新的認識——直觀、簡單、易學、易用。其次,要讓學生了解為什么學習VB,VB對于他們有多么重要。這門課的開設除了承上啟下其他專業課程外,還有一個重要的作用就是為了讓學生能夠參加計算機二級考證,VB在二級考證中相對比較易學易用。再次,告訴學生,有了C語言的基礎,代碼的編寫會更為容易。從而激發學生學習的信心。
2.提高學生的學習興趣
在教學過程中應盡量使用簡單易懂的語言和示例,提高學生的學習興趣,幫助學生理解知識點。比如,在講屬性、方法和事件這三個很枯燥的概念時,可以通過生活中有趣的示例來進行解釋。示例2:通過“蟑螂從女生腳上爬過”的事例,講解屬性、方法和事件的概念。蟑螂從女生腳上爬過時,女生的臉色變紅,臉的顏色為紅色就是屬性;女生尖叫起來,女生跳起來,這是女生本身做出的動作就是方法;蟑螂爬過女生的腳,這是外部事物對女生做出的動作,就是事件。通過這種類型的示例,成功吸引了學生的注意力,也幫助學生理解了這幾個難懂的概念。在講屬性、方法、事件的書寫格式時,也可將這個示例寫成VB偽代碼的形式:屬性的表示方法:女生.臉的顏色=紅色方法的表示方法:女生.尖叫啊事件的表示方法:女生_蟑螂爬過至此,學生對VB程序一下就理解了。
3.實踐中學習,項目中鞏固
VB于1991年誕生在美國,經過二十多年的發展日趨成熟。它一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,可用于開發Windows環境下的各類應用程序。功能強大可以高效、快速地開發Windows環境下功能強大、圖形界面豐富的應用軟件系統。
如今VB課程已經成為了中等職業學校計算機專業的一門公共基礎課程。筆者在近幾年教學中發現了許多問題,并積極地探索解決的方法,現在這里和大家交流交流。
一、教學效果不佳的原因
首先,中職學校的生源素質普遍偏低。眾所周知,他們大多是中考失敗者,缺乏學習主動性及自我學習能力,在初中的時候數學成績就比較差使得邏輯思維能力不強,而VB這門課程就需要的就是較強的邏輯思維能力,這樣就造成了在學習的時候頗為吃力;其次,英語基礎差影響動手能力。VB不僅強調理論知識,在動手操作方面要求也是頗高,對英語水平也有一定的要求。對于初中畢業的學生來說英語水平比較差,很難記住VB的命令,對控件的使用屬性中的英語有的也不認識,更不要說利用命令來解決問題了;最后,很難建立程序設計的思想。由于學生在學習VB課程之前沒有接觸過任何程序設計方面的知識,要理解程序設計中的面向對象、語法結構等專業知識比較困難。在這么多困難下,學生往往很容易產生畏懼的情緒,還役入門就已經放棄了學習,所以老師如何設計好教學過程,更好的引導學生學習顯得格外重要。
二、提高教學效果的幾個辦法
做為一名教學工作者,筆者一直努力探索如何提高VB的教學效果,引導好學生學好這門課程。現在這里談談自己在平 時教學中使用的一些辦法。
(一)“低起點、緩坡度、密臺階”的教學理念
“低起點”就是在課本要求的基礎上再降低難度,讓學生一開始學習就能夠很輕松上手,因為大部分認為程序設計課程高深莫測,很難學懂,進而產生的恐懼心理;“緩坡度”即是在教授知識時,難度要循序漸進,不能夠一味的“拔高”,讓學生能夠扎實的掌握每一個知識,一步一個腳印,慢慢提高。“密臺階”是教學中層次結合要緊密,盡量減少知識點的跳躍,緊密的教學內容讓學生形成緊密的知識鏈,對學生學習提 高十分有利。
(二)“建立快樂課堂”的教學目標
快樂是人精神上的一種愉悅,是一種心靈上的滿足,它會使一個人變得開心。所以把快樂帶給學生也是課堂教學的一個關鍵。人只有心情愉快的時候才能提高學習效率,才能使人學習進步,筆者一直本著讓學生快快樂樂學習,快快樂樂靠大學 的想法,開展了快樂課堂。 第一,幽默的語言。語言也是一種藝術,而幽默的語言往往是建立和諧J渝決氣氛的催化劑。在課堂教學中,學生要獲得快樂就必須有一個愉快的氣氛,老師在課堂中就是“指揮官”,也是可以說是“導演”,一個小小的幽默就能激發學生的“快樂分子”,讓課堂氣氛輕松,決。
第二,親切的教學態度。要讓快樂貫通整個課堂,親切的教態是必不可少的。人與人相處,態度非常重要,你給別人一個微笑,別人會給你更多的微笑,你給比人一份關心,別人給你的關心會更多更多。
第三,教學設計多添加“快樂元素”。教學設計是整個教學環節的重中之中,它的好壞直接影響這節課的質量。在教學中添加快樂元素是建立快樂課堂的重要手段之一。如在教學中穿插游戲、比賽、討論等內容,有利于課堂氣氛的調節。
第四,讓他們感受成功的喜悅。成功是每個人向往的,它能給你帶來快樂、建立信心。在v$學習中的成功莫過于設計的作品能順利運行,教學老師應該多給學生感受成功的機會。例如遇到較難的間題,可以分解成若干小問題逐個解決,提高成功率,保護學生的學習積極性。成功讓他們跟有自信,有了自信學習起來就會更有興趣。
關鍵詞: VB程序設計;一體化教學;教學改革
Key words: VB Programming Design;integrated teaching;reform in education
中圖分類號:G652 文獻標識碼:A 文章編號:1006-4311(2016)30-0197-02
0 引言
隨著IT行業的發展,企業對相關人才的要求越來越高,以軟件開發為例,企業招聘程序設計人員的要求是不僅具有較強的合作能力,還具有豐富的開發實踐經驗。在這種情況下,高職計算機語言類課程的重要目標應是為計算機專業學生打好程序設計基礎,不斷提高學生程序設計水平。
VB是計算機專業學生必修的一門專業課程,它是一門可視化的、面向對象的程序設計語言,它具有所見即所得、結構化程序設計思想以及強大的數據庫訪問功能。在傳統的教學模式下,VB課程授課以教師為主導,學生扮演者被動聽講的角色,該教學模式下學生需要花費大量的時間和精力學習語法等理論概念知識,沒有時間和精力進行實踐,導致該教學模式下培養出來的學生普遍實踐能力較弱,進入社會中無法在短時間內適應企業的要求。究其原因主要是院校在教學過程中未將理論和實踐結合起來,使得理論和實踐脫節,這種情況嚴重影響了院校的教學質量,影響了院校應用型人才培養目標的實現。面對這種形勢,院校應采取有效措施提高VB課程的教學質量,首要任務就是改革VB課程的教學模式,采用“教、學、做”一體化教學模式,該模式培養出來的學生都是理論和實踐兼顧的應用型人才。
一體化教學是指理論與實踐一體化教學,該教學方法打破了理論課和實踐課的界限,將兩者有機的結合起來,通過創造良好的實訓環境,學生在“學中做,做中學”,更加注重學生的實踐能力,突出教學內容和教學方法的科學性和實踐性。
1 項目設計及教學思路
要想成為一名合格的VB程序設計員,應具備以下能力:熟練掌握 VB的基本設計、編程、調試的方法;學會用戶界面設計方法;理解面向對象的程序設計思想;熟練運用VB開發環境等。基于此我們應建立相應的教學目標:熟練掌握VB的基本編程方法;掌握面向對象程序設計的特點;掌握可視化編程技巧等。在已確定的教學目標的基礎上采取一體化教學模式,確定最終的教學思路為以學生為主體,以項目為載體。
在實際的教學過程中可通過設計與生活息息相關的項目來調動學習熱情,即采用“大項目、小案例、任務驅動”的教學模式。 “大項目”是一個相對的概念,它可以突破教材的章節限制,將VB課程所有授課內容的知識點用一個相對較大的項目涵蓋,其中各章節的知識點基本都隱含在項目的各個模塊中;“小案例”同樣如此,也是一個相對的概念,當完成各項目模塊功能時,可通過引入學生感興趣的、實踐意義強的小案例,來導入知識點,引出項目。
為更好地完成課程教學的目的,筆者設計了一個相對完善的學生信息管理系統綜合項目,如圖1所示。每一個模塊都包含界面設計、代碼設計、調試等重要步驟,個別模塊還包含數據庫設計。在設計任務時盡可能循序漸進地把知識點融入到任務中,然而由于該門課程設計知識點眾多,學生們要想良好地完成這個綜合項目,需要預先做很多準備,掌握很多相關知識,比如各章節的知識點內容、VB程序設計的基本概念和基礎知識等。需要注意的是設計項目時應循序漸進,先設計比較容易的項目,之后慢慢提高項目難度,如此不僅能夠幫助學生學習和掌握相關的知識點,還能夠培養學生的實踐能力和團隊協作能力。
2 模擬企業的課程設計和教學方法
傳統的教學模式是先理論后實踐,而“教、學、做”一體化教學模式的特點是理論和實踐同時進行。這種新型的教學模式課程設計時圍繞實踐展開,項目中包含知識點,學生在實踐的過程中就潛移默化的學習了相關的知識點。該教學模式要求學生積極的參與進來,教師作為整個項目的主導著,應合理安排各個環節的操作時間,適時地任務,鼓勵學生解決各類問題。比如在講授控件的使用方法時,可通過設計“圖書管理系統”同步項目,把項目分成“界面設計”、 “菜單設計”、“數據庫管理”、“用戶權限管理”四個子任務,教師引導學生現將每個子任務都完成好,之后設置每個任務所需的控件屬性,最后編程各個對象。“教、學、做”一體化教學模式的重點是教師做好自身的主導工作,給學生創造一個良好的“真實”學習環境,學生在身臨其境中就能夠潛移默化的掌握各個知識點。
3 靈活運用信息化教學環境
傳統的教學模式是學生看教師的演示,然后依靠自身記憶模仿老師的操作進行操作,不能和老師進行同步操作。現在智能化的教學環境,教師可以采取多元化的教學手段,要求學生邊看邊做,實現“教、學、做”一體。
借助數字化校園建設的平臺,利用現已成熟的網絡技術,實現信息技術與學科課程的整合,營造一種新型的教學環境。①開發特色信息資源。對于重要的知識點開發微課資源,并將資源上傳網絡,學生借助學習終端可下載資源自主學習,在課堂教學中,也是“翻轉”課堂的一個重要的組成部分。另外,也可以把課堂教學延伸到課堂以外。②借助網絡交流平臺。如今網絡信息發展飛速,博客、QQ、微信已深深融入到我們的學習生活中,教師應引導學生正確地使用通訊工具及網絡。師生可以通過微信等平臺在課余時間進行反饋交流,幫助教師及時掌握學生學習動態,這是教學環節中必不可少的一部分。
當前在硬件配置方面,我們實現了電腦師生人手一臺,多媒體教學系統設備也比較齊全,另外江蘇省江陰中等專業學校學生人手一只“綠網”手機,學校也出臺了一套比較健全的管理制度。在軟件配置方面,安裝了軟件多媒體教學演示系統。且建立了專門的學生實訓室。在這種教學環境下,學生們能夠一邊聽教師講課一邊操作計算機,即在接收理論知識的同時就能夠馬上進行實際操作,如此不僅有利于學生掌握相關的理論知識,還能夠培養學生的實踐能力和團隊協作能力,教學效果將事半功倍。
4 加強校企合作
職業學校最終的培養目標是讓學生成為一個準員工,滿足企業需求。所以高校應加強和企業的合作,在課程設計時充分考慮實際市場的影響,運用市場上常用的軟件,注意不讓教學內容和實際市場需求脫節。只有這樣高校培養出來的才是理論知識和實踐能力兼具的應用型人才,才能夠滿足當前社會的要求。我系與某軟件公司聯合辦了一個校企合作班,由企業師傅與學校老師一起開發課程給學生上課。通過校企合作,為學生實訓、實習提供了真實的場所。教學場地不再拘泥于課程,可在企業組織實訓,由企業提供硬件設備和軟件技術,學校負責管理。通過加強校企合作,能夠有效提高學生的實踐能力,如此不僅有效提高了學校的教學質量,也更好地滿足了企業的用人需求,實現了學校和企業雙贏。
5 建立新的考核評價體系
整個課程學習過程中要建立一個科學合理的教學評價體系。VB課程的目標是提高學生程序設計、代碼編寫和可視化界面設計的綜合能力。所以我們采用的評價方式必須是多方面的,不僅要有理論知識檢查,還要有實際操作能力的考核。傳統的考核方式以考試為課程的最終評價依據,主要由平時成績、期中考試和期末考試成績總評而成。而現在我們除了通過課上提問和討論發言來檢驗學生的理論掌握程度,還通過項目的階段任務完成情況來檢驗學生是否掌握該課程的實踐要求。對學生的考核評價以項目任務的完成情況為依據。根據企業相關職位的崗位要求來制定考核評價標準,以學生完成的項目成果作為評價的內容,從而確保學生的崗位職業能力,實現與企業崗位工作“零對接”。
6 結束語
一體化教學模式將理論學習與實際操作緊密結合,將學生從被動的學習模式中解放出來,提高了教學質量,讓學生積極主動地參與到學習活動當中,自主地去構建個人知識,實現知識的遷移,使學生的實際操作能力和專業技能得到了培養。這種教學模式采用多種教學方法和教學手段,將教學的科學性和教學的藝術性相結合,始終以學生為中心,以就業為導向,以培養高技能人才為目標的職業教育辦學方針。這種教學模式下學生就業后深受用人單位的歡迎,對學生就業有極大的益處。
參考文獻:
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)31-0922-02
An Exploration of VB Program Design Teaching Methods
REN Hong-jian
(Nantong University, Nantong 226019, China)
Abstract: In teaching program design, finding new ways to solve the dryness and complexity of program design has always been a fascinating subject for many computer science educators. This article provides several ideas on the following aspects of teaching VB program design: how toimprove course quality, how to enhance the teaching effectiveness, how to nurture and strengthen students’ ability and creativity in analyzingand solving a design problem, etc.
Key words: program design; teaching methods; aptitude
1 引言
掌握和應用好計算機知識是當代大學生必須具備的基本條件,為此,國家教育部根據高等院校非計算機專業計算機培養目標提出了“計算機文化基礎”、“計算機技術基礎”、“計算機應用基礎”三個層次的教育體系。VB屬于第二層次范疇的計算機編程語言,已被列為公共必修課程。
程序設計語言類課程的指導思想是:使學生通過學習既掌握高級編程語言的知識、編程技術和基本算法,又掌握程序設計的思想和方法,更具備利用計算機求解實際問題的能力,能靈活運用高級語言進行程序設計。其重點是培養學生掌握程序設計的思想和方法,難點是作為程序設計的入門課程,應當如何引導學生突破傳統的思維方式,培養程序設計的新思想。本文結合教學實踐與理論思考,談談在教學上的一些經驗和體會。
2 VB教學中存在的問題
第一,課堂教學模式單一。目前,Visual Basic 課程的教學模式主要是使用多媒體教室,教師采用Powerpoint課件加實例演示的教學模式,該模式比以前的“粉筆”+“黑板”教學模式有了很大的提高,加大了課堂的信息量,更直觀形象了。但如果僅采用這樣單一的教學模式,學生的學習過程還是以教師為中心,課件的信息量很大,授課速度又快,學生的自主學習和協作學習的積極性仍然沒有得到充分調用;第二,上機實驗過程中,學生是自主學習,忽視教師的引導作用。首先,在上機實驗中,教師布置上機的任務后,學生自行練習,教師就忙于解答學生提出的問題,而不引導全局。在這種放任學生自主練習的狀況下,整個上機實驗過程節奏松散,而實驗任務對大部分同學來說臺階過高,于是學生感到很茫然,便很快就喪失了學習興趣,甚至厭惡上機。其次,上機人數又多,學生遇到的問題往往得不到教師的及時解決,于是挫折感增加,產生厭煩心理。
3 教學方法的探索
3.1 實例教學,培養學生的學習興趣
程序設計是一種構造性的技術,對于學生來說,程序設計的思維方式和概念都是全新的,學生接受起來很困難,因此必須研究程序設計的教學方法。教學的過程是師生交往、共同發展的互動過程。在程序設計教學中要從學生的興趣入手,利用學生對事物的好奇心,選擇一些有趣的、有實際意義的程序,激發學生的學習興趣。俗話說:教無定法,學無定法。打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,以學生的已有知識為基礎,按照學生的認知規律,遵循先易后難、先具體后抽象的原則,通過觀看、模仿、理解、總結、提高五個階段進行教學。讓學生成為學習的主人。
興趣是最好的老師,興趣決定了教學效果的好壞。讓學生明確學習目的很重要,而教師還要在教學過程中去提高學生的學習興趣,使學生對學習本身或過程有興趣,而不是在外界剌激下只關心學習的結果,這直接影響到學生對這門課程的學習效果。教學中僅僅單純地傳遞教材內容是不夠的,在第一堂課中,教師應從學生的興趣入手,利用其對事物的好奇心,選擇一些有趣的、有實際意義的程序,從一開始便激發學生的學習興趣。
3.2 創設問題情境,激發學生學習的主動性
在教學過程中提出問題,集中學生的注意力,促進學生主動思考、主動探索,可以使學生在學習的過程中成為主體。實際上,問題是最好的老師,是學生學習的引導者,沒有問題便沒有深入,老師要引導學生在解決問題中學習,即提出問題,留給學生時間思考、討論、解決問題,從而更深入地展開學習。實踐證明,這種教學方法充分調動了學生學習的積極性和主動性。
例如,在講數組的概念時,老師先設置問題編程計算10個數的和。根據以前所學,學生會想到需要定義10個變量用于存放這10個數。再進一步要求計算50個數的和。這時候如果再定義50個變量,則會非常麻煩,學生此刻開始思考該如何合理地聲明變量。再深人一步求100個數的和。此時,當教師引出數組的概念、分析數組的性質時,學生不僅能夠很容易記住數組的性質,還能夠知道在什么情況下使用數組,事半功倍。
3.3 舉一反三,培養學生的創新思維
編程教學的根本目的是要使學生能夠獨立地編寫程序,而這正是編程教學中最大的難點。在實際教學中,筆者采用以下幾步措施來逐漸使學生能夠獨立編一些簡單的程序:第一步精講例題,詳細分析其算法,逐一列出解題步驟,給出完整程序;第二步精心挑選很多程序題,讓學生閱讀程序,寫出程序執行結果,這一步十分關鍵,讀懂理解人家的程序是以后自行獨立編程的前提;第三步是讓學生做程序填充題和程序改錯題,即給出相應程序,把其中一些關鍵地方留空,讓學生填充,或在程序中提供一些錯誤語句,要求學生修改正確;第四步出一些類似例題的編程問題,讓學生模仿完成;第五步讓學生獨立編寫簡單的程序。例如,為了讓學生獨立解決求s=1-1/2+1/3-1/4+...+1/99-1/100的程序,首先詳細分析了求s=1+2+3+...+99+100 的編程,程序如下:
Dim i As Integer
Dim sum As Integer
sum=0
For i=1 to 100 step 1
sum=sum+i
Next i
Print "sum="; sum
然后,將上題中“For i=1 to 100 step 1”這一語句略作改動:①For i=1 to 100 step 2;②For i=0 to 100 step 2;其余不變,讓學生閱讀程序并分析。程序①實際上是求100 以內奇數之和,程序②實際上是求100 以內偶數之和。再將上題中sum=sum+i 這一語句改成sum=sum+1/i,其余不變,那又如何呢?學生很容易得出程序實際上是求s=1+1/2+1/3+...+1/100,進一步引導學生,這個程序有什么問題?答案是由于求和結果不可能是整數,故語句Dim sum As Integer 應該改成Dim sum As Single。再引導學生思考,要求s=1-2+3-4+...+99-100的編程,上題中循環體sum=sum+I 應該怎樣改動? 結合相關數學知識,學生很自然得到正確結sum=sum+i*(-1)^(i+1)。有了上述的層層鋪墊,相信學生是能夠獨立完成s=1-1/2+1/3-1/4+...+1/99-1/100 的程序代碼設計的。
能獨立編程后,還應善于總結。有些編程題,表面上看起來好象不一樣,它們實質上可以用一道通用的程序來實現,只要改變其中的一條語句就可以了。如:
例1:編程求任意三個數中的最小數。
例2:編程求任意三個數中的最大數。
例3:編程求任意三個數中的中間數。
例4:編程將任意三個數從大到小輸出。
例5:編程將任意三個數從小到大輸出。
這五個編程題,雖然不一樣,但只要會編寫其中的一道題程序,其它題目只要在這道題程序的墓礎上,修改最后的PRINT語句就可以了。
4 根據課程特點,做好歸納小結
程序設計的教學,一般都是從局部分散地講,如果不歸納總結,學生則難以形成完整、清晰的框架,因此,教學中要及時歸納、做好小結。歸納可以是一個控件多方面(如事件、屬性設置等)的歸納,也可以是對一種結構的歸納(如分支結構的歸納)。總結可以是一課的總結,也可以是幾課的總結。歸納總結的形式也可以多種多樣,可以使用文字概括,也可以使用圖示總結,重難點要著重強調。這種歸納總結,一方面有利于學生理解知識、融會貫通,順利實現知識遷移,另一方面對于提高學生的學習效率也有很大的幫助。
總之,教學方法在程序設計教學中舉足輕重,它制約著程序設計教學的效率。雖然教無定法,但萬變不離其宗,絕不能離開程序設計的教學內容和教學目標、脫離學生的知識背景和認知規律。采取符合學生認知規律的、科學的教學方法,必然會提高教學效率,取得事半功倍的效果。
5 不斷培養學生的自學能力
在教學中筆者還注意不斷培養學生的自學能力。自學能力在大學生能力層次當中屬于最重要最基本的,首先,有了自學能力就可以通過課外閱讀,學到課本里沒有的東西,知識豐富了,眼界也開闊了,對于活躍學生的思想,提高科學思維能力大有好處:它可以使學生打破老師和課堂的限制,在學習上獲取更大的自由。其次,學生在學校里生活畢竟是短暫的,現在提倡終身教育,將來不論他們從事哪種工作,都需要在工作中不斷提高文化科學水平,這種提高主要靠自學,即自已閱讀有關書籍和報刊,運用已掌握的知識,去認知新知識,自覺發現問題,再歸納概念,作出判斷,進而解決問題。再次,針對計算機的飛速發展、日新月異的特點,自學能力的成長和提高,顯得更為重要。
在不斷的教改實踐中,筆者始終堅持一個指導思想,即充分相信學生的學習潛力,減少學生對教師和教材的依賴性,激發學生的學習興趣,提高學生學習的主動性,培養學生的好奇心,從而發展學生的分析能力,觀察能力和獨創能力,使學生真正成為課堂的主體。
參考文獻:
[1] 牛又奇,孫建國.新編Visual Basic 程序設計教程[M].蘇州:蘇州大學出版社,2002.
NetMeeting是Windows操作系統中集成的一款實用通訊軟件,用戶利用它可以在Intenet或局域網絡上輕松實現文件傳送、共享桌面、遠程管理、語音通迅等功能。在教學實踐過程中,筆者利用NetMeeting構建了《Visual basic語言程序設計》課程教學環境,在實踐教學中嘗試采用各種教學方法,取得了良好的教學效果。后經推廣到其他計算機語言(如C語言,VF語言等)教學,也達到了同樣的預期效果。
1 NetMeeting教學環境的的架構
由于筆者所在的教學機房中各機已經構成局域網環境,并且都已經安裝XP操作系統,而NetMeeting軟件是Windows操作系統自帶的,因此不需要另外安裝。具體實現方法如下。
(1)公共設置:教師機和學生機均要完成這部分設置。具體步驟是:選擇任務欄左下腳的“開始”菜單,選擇“運行”選項,然后在“運行”對話框中輸入“conf”命令。第一次運行時需要按照向導的提示設置自己的名字和電子郵件等信息,完成設置后會在操作系統桌面上生成NetMeeting的快捷圖標,以后只要雙擊就可直接啟動。
(2)教師機設置:首先單擊NetMeeting面板菜單上“呼叫”欄的“主持會議”按鈕,根據彈出的對話框里具體說明進行選擇確認。然后再點“呼叫”欄的“自動接受呼叫”按鈕,這樣可以自動接受學生的呼叫。最后點“工具”欄的“共享”按鈕,選擇桌面共享,教師機的屏幕將同步顯示在學生的屏幕上,實現操作演示。
(3)學生機設置:單擊NetMeeting面板菜單上“進行呼叫”按鈕,在彈出的對話框里輸入公布的教師機IP地址,教師機將自動接受其呼叫請求,NetMeeting的名稱窗口將會出現被呼叫人和呼叫人的頭像和名稱。
在NetMeeting窗口下方包含四個選項:共享、聊天、白板和文件傳送,這四項包含了NetMeeting的主要功能。利用以上功能可以實現學生機與教師機同步演示、文字互動交談,可以將簡單圖形或文字發送到所有學生機的屏幕上,一次性將作業或輔導材料發送給所有學生。至此完成NetMeeting教學環境的架構,為計算機教學創造了基本條件。
2 NetMeeting下計算機語言教學模式的幾點嘗試
在VB程序設計教學過程中,如何解決程序設計本身枯燥、不易理解這個問題,找到一條比較新穎的教學方式,一直是廣大計算機教師頗感興趣的課題,筆者在基于NetMeeting下大膽嘗試各種教學方法。
2.1 先入為主教學法
VB語言所涉及的內容多,控件屬性、事件、方法也較多,學生在毫無知識背景的前提下如果教學開始階段就過多講授這些抽象概念,學生就會感到枯燥乏味,容易喪失學習編程的積極性。因此,在第一節課,就采取先入為主法,具體就是讓學生在教師指引下直接進入編程環境,從創建最簡單的程序入手,如在窗體上添加一個COMMAND1命令按鈕,要求單擊它就在窗體上輸出一段文字。此程序雖然簡單,但很好闡述了VB面向對象的事件驅動編程機制。至此,教師再引入VB的基本概念就水到渠成,學生也更容易接受理解,從而打破編程的神秘感,為進一步學習創造了良好的氛圍。
根據NetMeeting教學環境本身的特點,開始階段要求學生和教師一起編程序,突出編程這個主線,貫徹始終,在實踐中由同學們自己直觀上先去體悟這些概念,待時機成熟時再和同學們一起歸納總結,不斷啟發學生思維,培養獨立編程能力。
2.2 娛樂式教學法
在程序設計教學中從學生的興趣入手,利用學生對事物的好奇心,選擇一些有趣的、有實際意義的程序,激發學生的學習熱情。二十歲左右青年學生一般對游戲都感興趣,因此在教學中,嘗試引入一些小游戲程序后,發現能很快帶動課堂氣氛。筆者引入的是古典的猜數字游戲,就是計算機在1~100之間產生隨機的某個整數,讓游戲者猜出其具體值,根據你猜的數字計算機給出提示是過大還是過小,從而一步步逼近具體值,最后統計出游戲者猜出正確結果所花的次數。這個程序把VB當中的條件判斷語句、輸入框、消息框、數據類型的定義、隨機數的產生等幾個重要概念都攬括了,既讓學生在輕松快樂的氣氛下既掌握到了編程所需要的基本概念,又讓其體驗到了編程的樂趣。學生通過對游戲程序不斷比較和完善,對重要語法結構、相關概念及關鍵性語句均有了較深刻的體會,而這是一些傳統程序例子所難以企及的。
2.3 重復式教學法
不斷的重復再重復就是成功,因此重復也是學習中一個很重要的方法。從學生開始的懵懂到有所領悟到最后的理解,都是在經歷相似的編程經歷之后達到了,所以說這是個不斷循序漸進的過程,而這個過程是不論采用什么先進教學方法都是不可跨越的。VB涉及的知識點很多,為力求重點突出,筆者在教學過程中,對前面章節中的常見標準內部函數、字符串函數等基本概念,就沒有專門一一去介紹,而是通過主要語句的實例教學得以體現。因此重復式教學法不是針對所有知識點,而是把握重要知識鏈,通過教師示范編程、學生簡單模仿、獨立編寫程序這樣不斷重復的強化訓練,使學生較快掌握編程基本思想。
3 結語
科技的進步和發展給我們提供了良好的條件。基于NetMeeting網絡開放式環境下的計算機語言教學,其教學模式的構建涉及教育觀念的更新、教學方法的改革、給教學賦予新的含義等等。本文進行了相關方面的探討與研究,希望能夠拋磚引玉,共同探索出在網絡環境下適于現代化教育要求的教學模式。
參考文獻
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913(2007)10-0039-02
西北師范大學知行學院是甘肅省第一所獨立院校,為了增強辦學競爭力,不斷地創建專業特色鮮明、應用優勢突出、就業需求看好的新專業,在傳承和發揚西北師范大學百年老校的崇尚學術、追求卓越、嚴謹治學的優良傳統同時,積極研究和探索,采用新的教學模式培養人才,提高教育教學質量。
知行學院計算機與信息科學系是為適應西部大開發,加快培養信息技術人才而設置的,在堅持科學發展觀的前提下,全面推進素質教育,從改革教學模式著眼,有效地培養應用型人才方面,做了許多切實的工作。
第一,從社會需要定位培養目標,制定務實的辦學思路,就是“面向社會、以人為本、任務激勵、實踐創新、多能多證、應試應市”。面向社會就是以社會的需求,和“科教興國”戰略、“人才強國”戰略的要求確定專業設置、培養目標和教學模式,為西部大開發培養信息技術人才。以人為本,就是以學生為本,教師和管理人員要為學生的成才服務。實踐創新,就是要培養學生的實踐能力和創新意識,使其具有新型應用型人才的重要素質。任務激勵,就是以課題項目的研究、開發,充分調動學生的學習積極性。多能多證是所培養的應用型人才,不僅要拿到學校的畢業證,還要拿到國家相關的專業等級與職業資格證書。應試應市,表明素質教育不排斥考試能力,學生要能適應專升本的考試、研究生考試和國家機關凡進必考的形勢,適應人才市場的需求,應聘就業。在此基礎上,進一步實施的新舉措是“兩手抓”:一手抓學生的搞課題項目實踐,一手抓考取國家的專業技術等級和職業資格證書。使學生在畢業時,每個人都搞出幾個項目成果,獲得幾個資格證書。幾年來的實踐證明了整個辦學思路有很強的指導性和實際意義,已在增強學生素質,提高就業率方面凸現優勢。
第二,根據經濟社會發展和人才市場對各專業人才的素質要求,合理地調整各專業的課程設置和教學內容,強化學生實踐能力、創業能力的培養,積極推行教學改革,努力推進教學創新已勢在必行。教學改革要落在實處,除了科學地制訂教學計劃外,在課程設置中,知行學院計算機系突出了這樣幾個方面:首先,瞄準技術發展應用領域的前沿,不斷的選擇增設實用性強的新課程,以適應計算機科學日益迅速的發展。幾年來先后增設了大型數據庫、ASP、EDA技術等課程;其次,著眼應用,增加實踐性課程,制定了x+1學期的教學與實踐計劃,即專科生第六學期從事專業實習,本科生第八學期安排專業實習。為了加強畢業生專升本與就業工作,把專升本的輔導提早到第5學期,把畢業設計與畢業論文提前到第7學期,這一措施既可以保證上述工作有充分的時間來完成,更重要的是學生的畢業論文和畢業設計成果在就業應聘面試中派上用場。再次,面向社會,增設開發和研究性課題。對專職教師要求教學采用新技術、新手段,以全新的姿態走上講臺,教學效果普遍較好。
第三,為落實辦學思路培養應用型人才,多年來的實踐中認識到,應用型人才的最主要的特點是具有較強的實踐能力和創新精神,既能創新,又能創業。能夠搞項目與課題的研究和開發,所以培養學生從事課題、項目的研究和開發能力,成為培養應用型人才的關鍵。依據動機理論,人們愿意做出努力的事情不外乎兩種:一是他們指望做后能成功的事,一是能看到成功帶來收益的事。在教學過程中向學生公布一系列有實際意義的課題任務,向學生說明實際意義,完成這些任務能學到什么技能,然后讓他們報名選做,老師進行個別指導,引導學生自己進行社會調查、搜集資料、進行實踐和創造性的學習。通過任務激勵,極大的調動了學生的學習積極性和主動性。
第四,采用課題、項目研究與開發教學模式,培養應用型人才。為了使學生有較多的項目開發的體驗與實踐,在一部分應用性強的專業技術課程的教學中,改變傳統的教學方法,采用新的教學模式,就是把教學的目標、教學的過程、教學結果考核均與課題項目的研發相連接的教學模式。這樣就改變了只靠畢業設計集中搞項目的辦法,而讓每一門專業課為新型人才培養做出貢獻。筆者有幸承擔了“Visual Basic程序設計”課程的教學任務,率先進行“課題、項目研究與開發教學模式”的教學。第一步,改編寫了教材,將VB課程學習中要做的課題一一列出。VB這門課程是計算機專業和電子信息工程專業學習的核心必修課,實踐性很強的課程,對培養學生的實踐能力和創新能力能發揮重要作用,在學生整個知識體系中,占有重要地位。第二步,設計一個全面全新的教學模式:“一個飛躍達標、兩個階段教學、三個層次要求、四個方面考核”。一個飛躍達標,就是實現從案例教學入門到項目開發的飛躍。由于教學目標定位于培養應用型人才,其最重要的特征就是能搞課題項目研發,具有較強的實踐能力和創新能力。把課題、項目研發的任務分解到相關課程教學中進行。這樣,畢業時每個學生可以搞出三、四項成果,提高了就業競爭能力;兩個階段教學,就是把一個學期分成兩個階段,進行階段教學。第一階段,進行案例教學,以課題為主線,學習基本概念、基本理論和基本設計方法,做到由基本概念與案例入門。第二個階段,進行項目研發。綜合運用所學知識和方法,分析和解決實際問題,不僅能做小項目,也能做功能相對完整的中等程度項目。實現由“案例”到“項目”的飛躍;整個階段都是講練結合,加強實際動手能力的培養。具體做法是:每個課題單元分兩個階段,教師講解、演示為一個階段(2學時),學生實訓練習為一個階段(4學時)。教師講解、演示課題項目時,給出課題項目名稱,說明課題目的、課題意義,講解演示設計過程,(包括界面設計、屬性設置、代碼編寫、運行調試、整理保存和注釋詳解)讓學生知其然而且知其所以然。通過實訓練習,使學生親手完成一些案例和項目任務,獲得成就感,從而引起繼續學習的興趣。提高學習的積極性,達到“任務激勵”和“實踐創新”的目的;因材施教,分層次教學。實訓練習課題難度分一般、較難和難三個層次。一般的課題任務要求全體同學完成,較難的課題任務要求二分之一的學生完成,難的課題任務供少數優秀同學選做。考核成績考慮到四個方面:學習態度、出勤情況、創新精神和成果業績。期末考試,讓學生分組選題,采用論文答辯的方式進行。看創新精神,看成果業績。第三步,根據改革了的教學模式,進一步設計了改革要求,即為授課編寫獨具特色的講稿,打印成冊;采用多媒體手段進行教學,做出教學課件;匯編學生完成的課題成果,刻錄成光盤并保存。按照上述的教學模式以及改革要求進行的教學,從教得方面來看,因為“Visual Basic程序設計”是一門實踐性很強的課程,為避免單調的理論講解,筆者從多本輔導教材中精心挑選了多個有代表性的實例匯總為16個課題(如窗體程序設計、復選框程序設計、查詢密碼程序設計、菜單程序設計、多重文檔程序設計、訪問數據庫技術、賓館管理系統等)作為主導教材詳細講解,制作了多媒體教學課件。并在多媒體教學環境中進行實際演示,配合理論知識的強調,教學效果良好,學生比較感興趣,學習的主動性和積極性較強,在期末課題設計時也充分發揮了創造性思維。從學的方面來看,學生對這門課程的教學比較感興趣,因為這門課程實用性較強,但難度不算很大。學生們為了能學好VB這門課,借閱了多本相關資料,花費了大量業余時間來上機實踐,進一步強化他們對一些VB實用例子的理解和掌握。因此,學習的效果也比較好。“Visual Basic程序設計”這門課程實用性較強,符合專業課學習的改革要求。達到了培養學生從事課題、項目的研究和開發能力,促進他們成為應用型人才的目的。2006年VB程序設計課題項目研發教學的成果比較顯著,下半年期末考試中列出26個課題,學生分組進行研發,同學們設計出了“學籍管理系統”、“電子教務系統”、“評語管理系統”、“企業人事管理系統”、“小區物業管理系統”、“快捷Windows桌面操作系統”、“AMT模擬系統”、“黃河風采抽獎系統”、“多媒體播放器”等課題項目,一些同學的程序設計很具特色和創造性。
第五,知行學院計算機系又將“課題項目研發的教學模式”推廣到EDA技術、數字圖像處理、C程序設計、CAXA、多媒體技術、JAVA等課程,都收到了良好的效果。數字圖像處理期末列出了27個課題,同學們完成的“建立五官數據庫為特征人物畫像”、“運動員號碼識別處理系統”獨具特色。EDA出了20個課題,“三層電梯控制設計器”、“乒乓球游戲設計”、“智能函數發生器設計”、“數字鐘”等課題學生們在創建過程中充分發揮了創造性,使同學們都很有成就感。2003年以來學生完成各類課題150多項,學生的專業技能顯著提高。因此在一部分專業課程中改革教學內容和教學模式,對學生的實踐能力、創新能力,培養應用型人才很有實際意義。
程序設計類課程是計算機專業和其他相關專業學生必修課程之一,對學生鍛煉抽象思維、增強對后續課程的理解能力有著不可或缺的作用。現在無論是計算機專業還是非計算機專業,大部分都開設了《VB程序設計》的課程。本課程的目的與任務是使學生通過本課程的學習,掌握使用VB開發Windows應用程序的一般方法和特點,理解Windows應用程序的基本概念、主要功能和Windows應用程序開發的基本思想,能夠根據實際需要自行開發簡單的Windows應用程序,并為今后進一步使用其他面向對象的可視化開發工具開發Windows應用程序打下良好的基礎。但在教學中,會出現這種現象學生可以很快完成和例題相似的題目,但對一些稍微復雜些的程序設計,根本不知道怎么樣進行設計。怎樣才能調動學生學習的積極性和提高程序設計的能力?本文討論了在VB程序設計課程中使用一種基于軟件開發、整體實現的“項目教學法”的一些實踐與探索。
一、程序設計課教學面臨的問題
在程序設計課教學中,多數教師采用的是傳統的教學模式,即:以編程語言的語法教學為主線,教師只是告訴學生那種語言有些什么命令,語言的各種語法,學生只是被動地接受,大量的新專業名詞使學生難以掌握,在具體的編程及上機操作時,往往出現無從下手、錯誤百出、不會調試等情況,還有些學生照著書上能做,脫離書本什么也不會。長期以往,會使學生認為程序設計課程十分深奧、那樣的可望而不可及,最終會導致學生對課程產生厭倦的思想,即使學習完課程,學生的程序設計思路非常狹窄,解決實際問題的能力較差,不利于學生學習興趣的培養以及學生思維能力、創新能力、獨立分析問題和解決問題的能力的提高。
二、“項目教學法”的實踐與探索
“項目教學法”是以一個較完整的軟件開發案例為中心,整個學期的教學都圍繞這個案例的設計進行講解,通過對案例的講解,將程序設計中需要學習的各個知識點融入到案例中,這樣就將理論和實踐完全結合起來,加深了學生對知識點的理解和培養了學習的學習興趣,并引導學生自行對案例進行完善和修改,使學生程序設計能力得到提高。具體實施方案如下:
(一)軟件開發案例的選擇。要準備好一個具有實際應用功能,適合學生掌握的軟件開發案例,案例不能選擇太大太復雜的設計,并且案例中涉及的內容要是學生比較熟悉的,軟件功能不能過于復雜,但必須覆蓋課程中所有的知識點,在講解時選用有代表性的功能模塊。可選用學生成績管理系統、學生選課管理系統、酒店管理系統等MIS系統。
(二)以項目開發形式制定教學計劃和教學進度。在制定課程教學進度的時候要結合項目來進行,教學計劃和教學進度的設計應按軟件設計過程的順序來進行,在課程中可講解有關軟件工程方面的相關知識。
(三)精心準備教案。根據已經制訂的教學計劃和教學進度,將課程中的各知識點較完整地總結歸納,做成電子教案。在講解軟件設計的時候,涉及到某知識點的時候,便可打開該知識點的電子教案進行演示講解,便于學生理解掌握知識點。
(四)鼓勵學生變換代碼。學生在許多情況下只會模仿老師講解的程序完成,并沒有真正理解程序代碼的應用,不知道為什么要這樣寫,在講解過程中,應該鼓勵學生使用其他代碼來完成某些功能,促進學生對程序的理解,提高學生的創新能力。
(五)作業的設計。在知識點講授完后,應設計一個與講的例子難度相當的作業,讓學生思考獨立完成作業,學生完成作業后會有一種成就感和強烈的繼續學的愿望。教師可以通過學生的設計,給他們正確的引導。 轉貼于
(六)課程教學后期讓學生參與項目開發。在課程的基本知識點講授完,學生也掌握比較透徹后,可讓學生參與到項目開發中,將項目中一些功能分成多個模塊,以實驗的形式分配給學生,讓學生也可以在課余的時間進行開發。
(七)改變考核方式。考核方式應該靈活多樣,要甩掉“學為所考”的思想包袱。程序設計課程本身是理論學習與動手操作于一體的課程,不能一味地追求理論知識,而忽視動手操作能力,因此,應對學生的評價貫穿到整個學期的課程學習中。考核應該由平時作業、實驗設計作業、期末考試等幾項組成,平時考核可分階段進行,要讓學生注重學習的過程,而不是考試的結果。
(八)課程實訓。在課程的知識點全部講授完成后,安排2-4周的實訓,讓學生分組自由選題來進行項目的開發,學生在開發時應分組進行,讓學生分組進行開發可以發發揚團隊合作精神,便于優勢互補,有助于學生以后走上工作崗位,適應開發工作。在實訓中,應以學生的設計意見為主,充分發揮學生的能力,教師只給予相應的建議。
三、實施過程
這里以設計管理系統的登陸窗體為例,介紹“項目教學法”中一個模塊教學的具體實施過程。登陸窗體的功能是輸入正確的用戶名和密碼通過身份驗證,進入主窗體。登陸窗體涉及到的知識點如下:1.窗體(Form)、標簽(Label)、文本框(TextBox)、命令按鈕(Command)等控件的常用屬性的設置。2.窗體、標簽、文本框、命令按鈕的常用方法。3.變量與數據類型。4.IF語句及一些常用的函數的使用。
四、總結
系統登陸窗體的設計分下面幾個階段進行:第一階段,對登陸窗體的設計和各控件的屬性進行講解。第二階段,引入新知識點。針對新知識點在本例中的應用對的各個新知識點進行詳細的講解。第三階段,上機練習。1.讓學生模仿教師的設計過程做一遍,輸入程序代碼,加深印象。2.鼓勵學生提出問題,用新的方法來完成程序代碼,同時提出加強程序代碼功能的方案,讓學生來完成,使學生加強對新知識點的理解和運用。例如,能不能在輸入密碼時限定輸入密碼次數。3.布置作業,布置與知識點相關的作業,讓學生通過查資料自己完成作業,對作業進行批改。第四階段,對程序提出新的方案,如用戶名和密碼的存儲采用數據庫,密碼的加密等,為以后的知識講授做準備,同時給學生留下印象,在講到這些知識點的時候再來改進程序。
“項目教學法”被應用到程序設計類課程的教學中,使教學與生產結合起來,學以致用,注重培養學生動手操作能力,學生普遍反映采用了“項目教學法”的教學模式后開發能力提升很快,專業知識得以鞏固,相關知識點的運用印象特別深刻,在比較真實的工作環境下,既學到了知識,又學會了分析問題、解決問題的方法。在《VB程序設計》課程應用“項目教學法”的教學模式的教學過程,也發現了一些問題,雖然運作難度較傳統教學模式較大,但值得進一步的實踐和探索。
隨著計算機技術的發展,計算機軟件在工程設計領域的應用越來越廣。在機械、電子、建筑等行業,應用計算機軟件進行產品設計的CAD軟件也非常豐富,世界和國產的各種優秀CAD軟件正以前所未有的速度進入機械、電子、建筑等行業的各個領域,使產品設計人員能夠高效率地進行各自領域的產品分析、設計等工作。美國Autodesk公司是目前世界上比較成功的CAD領域的開發商,其開發的AutoCAD一直是CAD市場中的主流產品,隨著AutoCAD的日益普及,在其上進行二次開發的工具也相繼由該公司推出。企業購進AutoCAD軟件,并非只能用作代替“圖板”,只有真正地在其上實現了二次開發,才能充分發揮AutoCAD作用。CAD二次開發,有很多不同層次的語言和庫可供選擇。本文就此向大家分別做一介紹。
第一大類: AutoLisp和VisuaLisp
Lisp是一種計算機的表處理語言,是在人工智能學科領域廣泛應用的一種程序設計語言。AutoLisp語言完全嵌套在ACAD內部,同ACAD有機地結合成一體。它既具備一般高級語言的基本結構和功能,又具備一般高級語言所沒有的強大的圖形處理能力。論文大全。AutoLisp可直接調用幾乎全部ACAD的命令,從而進行ACAD的二次開發。利用AutoLisp開發ACAD的一個典型例子就是實現參數化繪圖的程序設計。
AutoLisp具有如下優點:
1.AutoLisp是一種表處理語言,是被解釋執行的,任何一個語句鍵入后就能馬上執行,它對于交互式的程序開發非常方便。在ACAD的開發工具中,它是唯一的一種不需要專門的編譯工具,直接調用其編寫的函數,就可以實現目標操作的語言。
2.AutoLisp語言中的一切成分都是以函數形式給出的,它沒有語句概念和其他語法結構。執行AutoLisp程序就是執行一些函數,再調用其他函數。
3.AutoLisp把數據和程序統一表達為表結構,即S-表達式,使數據和程序融為一體。
4.AutoLisp語言中的程序運行過程就是對函數的求值過程,是在對函數求值的過程中實現函數的功能。
5.AutoLisp語言的主要控制結構采用遞歸方式,使程序簡單易懂。
VisuaLisp是AutoLisp的擴展,是為加速AutoLisp程序開發而設計的軟件工具。VisualLisp已經被完整地集成到ACAD中,為開發者提供了增強的集成開發環境,這樣開發者可以直接使用ACAD中的對象,進行更底層的開發。用它開發AutoLISP程序的時間被大大地縮短,而且原始代碼能被保密,以防被他人更改;同時利用可視化的編程環境,大大地減小了學習難度。作為腳本語言的VisuaLisp程序,同樣存在兩大不可避免的缺陷。第一是當程序規模很大或是操作的對象數量過多時,運行速度慢,讓你明顯感覺到它的遲鈍。第二是ACAD命令本身做不到的功能,它也是無能為力。譬如關于自定義對象、內存操作、數據傳遞之類,只能依賴其他辦法來解決了。所以我個人認為Lisp適用于把現有命令組合成一個新命令來使用,尤其是存在大量重復操作的時候,用來做批處理非常好。唯一讓人感到不適的是,由于Lisp語言本身的語法要使用大量的圓括弧,當嵌套層次較深時,往往會在括弧的配對上發生問題。
第二大類:ADS(AutoCAD Development System)、ARX(AutoCAD Runtime eXtension)和ObjectARX (AutoCAD Runtime Extension)
ADS是從AutoCADR11開始引入的基于C語言開發應用程序的系統。ADS不是C語言的一個子集,也不是基于C而編制的專用語言(如Microstation的MDL),但它包括了C的全部功能。它具有C的一切優點,又能操作CAD。它對開發人員C語言要求較高。C是編譯型語言,功能強大,因此ADS很輕易地克服了AutoLisp所固有的許多缺點而具有速度快,安全性高的特點。ADS不包含于ACAD內部,而是作為一組AutoLisp外部函數由AutoLisp解釋器裝入、解釋并請求ACAD運行。其特點如下:
1.ADS程序是將應用程序編譯成可執行的文件,通過AutoLisp和ACAD進行通訊。
2.ADS程序更“絕緣”,ADS程序是一系列獨立的過程,程序崩潰并不一定導致AutoCAD系統崩潰(盡管并不總是如此)。
3.ADS程序是不可重復加載的。
4.ADS程序具有保密性好,運行速度快的特點,因而很適合于編寫計算量大或需要與主機環境交互的應用程序。
5.ADS只能使用傳統的C語言進行編程,采用傳統結構化的編程體系。
早期國內常見的應用軟件多是用ADS進行開發的,但ADS程序必須經過AutoLisp解釋加載,因此ADS的各方面性能受到限制。同時,隨著網絡技術的迅速發展,面向過程的ADS已有些力不從心了,所以,在AutoCADR13開始推出的一個全新的面向對象的開發工具ARX。ARX是在ADS基礎上發展的面向對象的環境,使用C++語言。最終ARX進化為ObjectARX。
ObjectARX是一種嶄新的開發AutoCAD應用程序的工具,提供了以C++為基礎的面向對象的開發環境及應用程序接口,能真正快速訪問ACAD圖形、數據庫,同時能使用戶方便快捷地開發出高效簡潔的ACAD應用程序。ObjectARX開發的應用程序速度更快、集成度更高、穩定性更強,同時向下兼容ADS。它的特點是很明顯的:
1.ObjectARX與ADS程序和AutoLisp程序都不相同。從本質上講,是一種特定的C++編程環境,它包括一組動態鏈接庫(DLL),這些庫與ACAD在同一地址空間運行并能直接利用ACAD核心數據結構和代碼。在ObjectARX中,每個命令都有獨立的入口。ObjectARX程序還可以創建新的類,這些類可以為其他程序所共享,從而充分利用面向對象的編程的優點。
2.對于需要經常和ACAD通訊的應用程序來說,ObjectARX程序比ADS程序運行速度更快,這里的運行速度主要指是訪問ACAD數據庫的速度。
3.相比之下,ObjectARX程序是比宏更基本的程序。主程序(ACAD)可調用每個由ObjectARX程序注冊的命令。
4.ObjectARX程序具有ADS程序和AutoLisp程序所不具備的訪問和控制ACAD的能力。ObjectARX程序可以監控和處理ACAD各種事件,可以定義ACAD命令,包括可以透明執行的命令。論文大全。這些命令可以像ACAD自身的命令一樣被AutoLisp和ADS所調用。
基于以上優點就充分說明了ObjectARX的彪悍。天上不會掉餡餅,這個方式的代價就是難度提高了。對于ObjectARX編程,Autodesk公司建議使用Visual C++4.2及以上版本的開發環境,這一點就要求開發者具有較高的起點,對語言的學習程度要求較高,對廣大用戶來說相當不易掌握。(在CAD2006以前,只能使用C++語言和VC編譯器來生成ObjectARX程序,但目前已經可以使用VB.net C# C++等語言配合VisualStudio.net編譯器來生成ObjectARX程序了。)C++語言本身就很復雜(VB.net和C#也不方便到哪里去),再配上復雜度不相上下的ObjectARX庫,如果要寫出切實可用的程序,還要深入了解ACAD本身的結構。ObjectARX最致命的缺點,由于已經和ACAD融為一體,和AutoCAD共享進程空間,ObjectARX程序崩潰通常會導致ACAD系統的崩潰。
第三大類:ActiveX和VBA(VisualBasic for Application)
ActiveX是Microsoft提出的一組使用COM(ComponentObject Model,部件對象模型)使得軟件部件在網絡環境中進行交互的技術集。AcitveX與具體的編程語言無關,可以用任何一種支持他的語言來編寫,但大家習慣選擇簡單易用的VB語言。
Autodesk公司從R14開始內置了VBA開發工具,同時提供了適于VBA(VB)開發的ActiveX Automation對象模型,對于熟悉VB語言又不想學習Lisp奇怪語法的開發者來說,這是不錯的選擇。VBA(VB)的主要特點如下:
1.VBA最早是內嵌在Office97中的一種編程語言,它易學易用,功能強大。所以Autodesk公司從R14之后把它也嵌入了AutoCAD中。
2.VBA和AutoCAD 2000中強大的ActiveX自動化對象模型的結合,代表了一種新型的定制AutoCAD的模式構架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應用程序,使之相互之間發生互易活動。
3.VBA(VB)數據類型豐富、界面友好。
4.VBA是內嵌在AutoCAD中的一種編程語言,對平臺有依賴性,但VB對此有改善。
5.利用VBA(VB)開發AutoCAD,以要求開發者熟悉VB語言為基礎。
就當前AutoCAD的主要二次開發工具:VisualLisp、VBA和ObjectARX而言, VisualLisp與VBA較為簡單,特別是VBA,使用方便且開發速度較快,但其功能相比ObjectARX有所不足,尤其是對面向對象的功能支持不好。而ObjectARX基于VC平臺,在C++的支持下,其功能非常強大,可以很好地運用各種面向對象技術,但其缺點是發開速度比較慢,同時對開發人員的能力要求較高。
基于以上原因,微軟新推出的ACAD二次開發平臺——.NET API,它具有眾多優點。在新推出的AutoCAD 2006中,Autodesk為其開發增加了.NET API。論文大全。.NET與ObjectARX一樣,基于VC平臺,擁有與C++相匹配的強大功能,同時,具備VB方便易用的特點,似乎是VB.net/C#和ObjectARX Managed wrapper classes的組合,實為較理想的ACAD二次開發工具。從目前的趨勢來看,AutoDesk有全面轉到.net平臺的趨勢,有可能完全取代ObjectARX和VB,具體情況仍在觀望中。
總之,通過以上分析可以看出,AutoLisp仍然是ACAD的基本開發手段,它適于一般開發者用于較為簡單交互性程序的開發。因為除了語言、功能、編寫和調試的難度之外,還有CAD版本匹配的問題。AutoLisp程序的適合度最好,即使是為AutoCAD R12開發的程序,在CAD2007中仍然能夠使用。ADS將逐步被更為完善的ObjectARX所取代,而ObjectARX與AutoLisp正相反,為CAD2002編寫的程序就已經不能在2004下運行了。為老版本ACAD編寫的ObjectARX程序的源代碼雖然可以不需要修改或較少的修改,但必須鏈結新版本的ObjectARX庫進行重新編譯,才能被新版本所運行。而且,不同版本的ObjectARX庫還指定了不同版本的編譯器。譬如,CAD2000/2002版應使用VC6,CAD2004/2005就需要使用VC.net 2002,而CAD2007則需要VC.net 2005。而作為ACAD用戶二次開發的另一支生力軍VBA則介于二者之間。Autodesk新推出的 .NET API二次開發平臺除了涉及到版本兼容性的問題外,同時,遺憾的是目前的.NETAPI版本還不支持卸載,若要卸載只能關閉ACAD。
Autodesk提供的眾多二次開發手段往往會把新手搞糊涂,開發中到底使用什么語言,應根據本身所熟悉的ACAD的版本,以及所熟悉的開發環境,另外,企業規模、資金,也是考慮的關鍵。總之,眾多二次開發工具讓各類開發者都能找到適合于自己的開發工具。
項目編號:該論文由科技廳指導性軟課題資助
近年來,計算機領域在全球呈現出快速發展的態勢,尤其是軟件業,其發展速度已經遠遠超越其他的科技領域,在某種程度上已經開始引領著全球在經濟、貿易、產業、人力等方面一系列的變革。所以,就目前的情況看,計算機相關技術的掌握及操作能力的高低是企業挑選人才的一個很重要的衡量標準,當前我國高校在計算機教學方面應該緊緊跟住當前的形勢,不斷優化計算機軟件教學內容,提高計算機教學質量。
《Visual Basic程序設計》課程是計算機類各專業的一門核心基礎課,目的在于培養計算機軟件程序員、信息系統設計師、網站設計、數據庫設計師、網絡管理等專業方向學生基本的程序設計能力。VB語言難以理解、比較枯燥,學生在沒有相應的知識背景下,對課程缺乏興趣,甚至有恐懼心理。這就要求教師在教學中分析、摸索出一些行之有效的教學方法,才有可能激發學生對程序設計的興趣,培養學生的程序設計能力。
高等院校計算機科學與技術專業開設3-5門程序設計類課程可以有效地提高學生的崗位適應能力,因為學生通過學習經典架構的程序設計語言及現在流行的面向對象設計語言,可以掌握在不同開發環境中進行軟件開發的技能,還可以在遇到新的相同架構的程序設計語言時觸類旁通,快速地入手。
一、當前程序設計類課程教學的現狀與問題
目前我國IT行業發展迅速,機遇與挑戰并存,企業需要大批的軟件程序設計類人才,但是很多計算機專業的學生在就業時往往出現技術能力不足、項目開發經驗欠缺等問題,嚴重影響了應屆生的就業選擇。究其原因,主要是這些同學在校學習時只是大量學習基礎知識,并沒有達到精通的程度,而且缺乏實戰經驗,很難適應高效快速的工作環境。那么又是什么原因造成這種現象的呢?究其原因主要有如下幾個方面:
1.教學目標不明確
目前我國高校計算機專業人才培養機制普遍采用“3+1”的方式,學生在校學習3年基礎知識,程序設計類課程一般會在第一年的下半學期開始,每學期開設1門,學時在70-90左右。3年下來學生至少掌握4-5門程序設計語言,但是由于這些課程的教育方法都是大體上雷同的,一般是教師課上講語法,演示代碼編寫,課下組織實驗課或者簡單的課程設計。學生雖然能掌握簡單的程序語言編程模式但是脫離課堂之外的內容通常一無所知,這就往往造成“高分低能”的現象,學生學習程序設計類課程的目的在于掌握編程能力,可以在日后的工作中把程序設計語言作為工具一樣進行項目開發,而不是把程序設計語言作為一門原理課程學習它的原理。而且程序設計語言種類繁多,各有特點,教師應當根據學生的特點有針對性地選擇適合學生的內容進行授課,多為學生畢業后的擇業考慮。
2.教學模式和內容相對落后
目前高校計算機專業程序設計類課程的教學模式多數都是傳統的教學模式,一般都是“課上代碼分析+課后練習”形式。課上講的內容多年來沒有什么變化,學生聽得不是很明白,課下僅僅進行簡單的習題練習和課程設計顯然無法讓學生完全掌握程序設計語言的精髓,至于自主學習和實踐性探索的精神更是無法體現,綜合運用能力難以提高。這就造成了在校能通過課程考試,但是離開學校就難以應對工作崗位要求。
二、VB課程的教學現狀分析
程序設計課程是一門理論性和實踐性都很強的課程。在傳統的教學模式中,《Visual Basic程序設計》課程采用理論教學和實踐教學相結合的方式,課時比例大致安排為1:1。理論教學過程中,教師大多數是按教材的章節前后編排順序,循序漸進進行VB程序設計思想和語言規則講解。即使采用了多媒體教學手段,也是按照教材上的章節內容安排做成PPT課件,把書本上的案例和習題進行演示分析。在講述理論的同時,也盡可能引導學生思考,通過例題、案例的分析,培養學生自己分析問題的能力。但是,這樣的課堂教學往往是很抽象、枯燥的。
實踐教學是課堂教學不可缺少的環節,實踐教學質量的好壞直接影響到課程的整體效果和質量。因此,在教學過程中一般會安排學生上機實操,進行實際的編程訓練,然后運行調試,改錯。目前實踐教學一般是在教師的指導下,由學生完成章節性的習題,布置的實訓項目一般是教材上的例題或者是課后練習題。如此實踐教學只能稱之為驗證性實驗,缺乏創造性。
在傳統的教學模式下,教師始終處于主導地位,由教師向學生介紹程序設計的思想,介紹語言規則和使用方法,學生處于被動學習狀態,始終跟著老師的思路,沒有學習主動性。在教學過程中,筆者也發現,學生學習理論知識好像并不十分困難,聽老師講解例題、習題也能夠明白。但真正讓學生動手操作解決實際問題時,卻無從下手。因此,教師受傳統教學模式的影響,在教學中重理論、輕實踐,課堂講授只注重教材中基本語法和語句的講解,不注重學生實際編程和程序設計能力的培養,授課形式以教師講學生聽為主,沒有學生自主思考、設計、實現的過程,學生被動接受教師所授內容,產生枯燥厭學的情緒,從而導致學生學習積極性不高,動手能力差,課程結束后還不能用所學知識解決實際問題。
三、改革VB課程教學的方法探討
1.教學方法要有多樣性
一、設計的主要內容及技術指標和技術路線
一)主要內容
基于Solidworks軟件使用VB高級語言程序,對常用件齒輪進行參數化設計,實現給定參數的圓錐齒輪的自動化生成系統。
二)技術指標
1、設計參數要符合實際生產要求;
2、生成圖形要符合國家標準規定;
3、技術路線
對基于Solidworks圓錐齒輪參數化設計的研究,準備從以下幾個方面著手:
(1)系統界面模塊
該模塊的作用是采集直齒圓錐齒輪實體造型所需的具體參數。
(2)三維CAD軟件接口模塊
該模塊提供在OLE Automation層上所有與三維CAD軟件SolidWorks通訊的函數。CAD軟件的API函數以類的形式封裝起來,在直齒圓錐齒輪造型時,通過這些函數驅動CAD軟件生成直齒圓錐實體。
(3)結構計算模塊
根據界面模塊的用戶輸入的參數,計算直齒圓錐齒輪的結構參數。
(4)齒形計算模塊
該模塊是整個系統的核心,可以完成直齒圓錐齒輪齒形計算。通過計算得到特定截面的齒廓參數,為齒形生成模塊準備所需的數據。
(5)結構實體生成模塊
該模塊應用三維CAD軟件Solidworks的基本特征,如拉伸(Extrude)、旋轉(Revolve)和圓周陣列(Circular Pattern)等操作,按照結構類型計算模塊輸出的參數,生成圓錐齒輪的結構實體部分。該操作的結果類似生成直齒圓錐齒輪的毛坯。
(6)齒形生成模塊
該模塊應用三維CAD軟件Solidworks的基本特征,如放樣切割(Template Knifing)、圓周陣列(Circular Pattern) 、拉伸(Extrude)和旋轉(Revolve)等操作,按照結構類型計算模塊輸出的參數,生成直齒圓錐齒輪的結構實體部分。然后利用圓周陣列可畫出全部齒形。
2 圓錐齒輪實體造型系統
參數化三維實體造型設計是以變量幾何和生成歷程樹為基礎,以尺寸驅動為特征的一種三維建模方法。其基本過程是:首先利用草圖功能勾畫零件基本形狀,然后根據設計要求標注必要的尺寸,最后修改尺寸值,驅動模型變化以生成需要的零件模型。參數化三維實體建模的目的是,通過修改尺寸而快速生成新的三維實體模型。
圓錐齒輪的輪齒有直齒和曲齒兩種類型。直齒圓錐齒輪易于制造,適用于低速、輕載傳動的場合,而曲齒圓錐齒輪傳動平穩,承載能力強,常用于高速、重載的場合,但其設計和制造較為復雜。本論文只討論直齒圓錐齒輪。
(3)齒形計算模塊
漸開線齒廓的數學模型。我們在直角坐標系下,用漸開線的直角坐標方程式,計算漸開線輪廓上各點坐標值,然后在用樣條曲線繪出齒輪的一個齒廓。
(4)結構實體生成模塊
該模塊應用Solidworks的拉伸、旋轉和圓周陣列等操作命令,按照結構類型計算模塊輸出的參數,生成直齒圓錐齒輪的結構實體部分。該操作的結果類似生成直齒圓錐齒輪的毛坯。
1)齒輪各基本尺寸計算
如圖4所示,以點1為坐標原點,軸線為一坐標軸建立直角坐標系,依次求出2、3、4、5、6、7的坐標,由1—2—3—4—5—1的連線構成直齒圓錐齒輪的二維結構,再用旋轉輪廓線的方法既可生成圓錐齒輪的實體。
2)圓錐齒輪的實體建模
再用旋轉輪廓線的方法生成圓錐齒輪的實體
3)結構實體生成模塊
2.2 系統運行窗體的創建和應用
1) 窗體的建立
2)程序的連接
用VB編程進行的二次開發,要將VB和SolidWorks連接來,編寫VB代碼前,創建SolidWorks和VB對象,啟動運行SolidWorks。這樣就可以在VB的環境下利用SolidWorks對象及其下級對象的屬性和方法,完成用VB語言在環境中草圖和三維模型圖的繪制。下面給出VB語言在SolidWorks環境中繪制圓錐齒輪三維圖的部分子程序代碼:
2.3 程序的調試及運行
1)運行程序過程
在SolidWorks中,單擊[工具]/[宏]/[運行],選擇*.swp出現程序運行界面。通過在VB窗口中填寫圓錐齒輪參數后,單擊‘生成’按鈕,發現錯誤代碼91(對象變量或with塊變量未設置)。
經過調試發現系統默認的part語句類型出現錯誤,原因是程序中的part為完全定義造成運行錯誤,經過重新定義Part As object ‘對象型變量’,重新逐句調試,更改變量類型,最終解決了問題。
2)運行結果
3 結束語
(1)系統完成了圓錐齒輪實體的變量化自動生成。
(2)建立了VB界面窗口連接Solidworks應用程序,進入Solidworks設計環境;從設計窗口中直接輸入參數,可直接運行參數化造型設計程序,得到所需的三維圓錐齒輪實體。
參考文獻
[1]王隆太,戴過洪.機械CAD /CAM技術[M].北京:機械工業出版社,2005.
[2]王文彬,.用VB實現SolidWorks對零件的參數化設計[J].機械報,2003,30(6)