时间: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)