全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用情境教学法构建中职生软件工程设计思维张屹峰(东莞理工学校,广东 东莞 523000)摘 要:以情境教学法为指导,通过两个教学案例,阐述了如何在中职计算机程序设计课程的教学中构建学生软件工程设计思维,以初步培养中职生软件开发的基本素质,提高职业素养。关键词:情境教学法;软件工程;设计思维中图分类号:G43 文献标示码:A 文章编号:Constructing Software Engineering Design Thinking of the Secondary Vocational Students with Situational TeachingZHANG Yi-feng(DongGuang Science and Technology school,GuangDong,DongGuang,523106,China)Abstract: In teaching situation as a guide, through the two teaching cases,the article described how to construct software engineering design thinking in the course of the computer programming teaching in order to train initially the basic quality of software development and improve the professional quality for the secondary vocational students.Key words: Situational Teaching;Software Engineering;Design Thinking0、前提所谓软件工程设计思维也就是用软件工程的实践理论方法指导软件开发和维护的过程,从而提高软件开发的进度,降低软件开发和维护的成本,提高软件的整体质量。之所以立此为题,主要基于三方面因素:1)中职学生的逻辑思维能力普遍较弱。中职学生大多数是因为初中成绩不理想考入中职学校的。在初中阶段,他们没有很好的培养科学严密的逻辑思维能力。在程序设计课程的学习中,对软件的整体结构设计难以驾驭。2)中职计算机专业不能只满足于写代码。千万不能简单的认为“软件设计=写代码”,那就大错特错了。在我国的软件工业环境还比较落后的状况下,软件设计的分工还不是那么的明细,而单纯的写写代码的工种几乎还不可能普遍在软件设计公司出现。即便有,作为编写代码的人员来说也必须具备一定的软件工程设计思维,这样才能够更好的与其他设计成员合作,减少软件设计过程中出现的问题。3)中职计算机专业程序设计课程现状。首先,在中职学校,对程序设计等逻辑思维能力要求较高的课程重视不够。太多偏重诸如Office、Flash、Photoshop等强调动手能力的课程。当然,这些课程不是不开,但是我们也应该看到,对于这些课程,即便不是计算机专业的学生,通过自学,也能很好的掌握。作为计算机专业的学生,尤其是软件专业的学生来说,其专业特色就不能很好的体现出来,对于今后就业也会陡增压力。其次,有关编程语言的教学方法还比较呆板,目标定得太低,普遍把语法现象学习作为教学的重点,满足于结果的实现却不注重编码的过程和质量,不注重甚至根本就不考虑学生软件工程的设计思维的培养。学生只会写代码却不会做软件。最后,软件工程课程理论性强,如果空讲理论,学生无法真切体验,不与实践相结合,教学效果必然不理想。由此可见,在一定程度上科学合理的构建起中职生软件工程设计思维是非常必要也是重要的。然而,如前所述,要想达到这个目标却是不容易的。基于中职生的特点,一方面要有意识的加强培养,另一方面要不断尝试更加合适的教学方法。根据本人的教学经验,觉得采用情境教学法所取得的效果比较好,在此简单加以阐述,希望能起到一点抛砖引玉的作用。1、情境教学法所谓情境教学法是指在教学过程中,教师有目的地引入或创设具有一定情绪色彩的、以形象为主体的生动具体的场景,以引起学生一定的态度体验,从而帮助学生理解教材,并使学生的心理机能能得到发展的教学方法。情境教学法的核心在于激发学生的情感参考自网站/view/1268543.htm(百度百科)情境教学法。鉴于此,我们在程序设计的教学中,要不断的创设软件设计与管理的虚拟情境,让学生体验到科学合理的程序设计过程给软件开发与管理带来的好处,使其形成良好的编码风格,培养科学的设计模式,从而逐步构建学生软件工程的设计思维。在程序设计的教学中,我们可以把学生当成是软件公司的员工,教师则可以是客户,也可以是项目经理。客户会对软件提出可变的需求;项目经理则要求提高软件开发效率和质量,节约开发成本。通过这样的情境创设,将教学课堂转变为虚拟的公司环境,在这样教学环境中,我们关注的焦点将不再是单纯的完成编码。实践证明,这对快速提高学生的软件工程设计思维是大有裨益的。以下通过本人在VB程序设计课程教学中的两个案例来简要说明实施的过程。2、应用案例案例1 偷懒的代价创设情境:公司接到一个新项目,其中有一个要求编写录入员工信息的界面模块。项目经理(教师)现给出部分核心代码,要求做二次开发。当中有些技术(如简单控件编程)要求程序员自己研究并尽量提高开发速度。实施对象:”初级程序员”(即刚学完VB基本语法还没学习控件的学生,能力较弱)实施目的:深刻体验程序注释的重要性实施过程:上机的学生分两组,都给出部分源代码。不同的是,A组的源代码没有任何注释,B组的源代码有详细的注释。两组同学同时研读源代码作为参考,根据要求编写模块,进行二次开发。实验结果是A组同学完成情况明显没有B组同学的好。A组同学开始抱怨不公平,B组同学则感觉沾了大便宜。教师:我刚刚给A组发放核心代码的时候,由于偷懒没有加注释,因为我觉得注释不用执行,要不要无所谓,还省了录入的时间。A组学生:没有注释,我们看的好费劲,有些地方看不懂,费了许多时间。B组学生:有了注释,代码一看就明白,效率提高了不少,还学了不少东西呢。教师:看来这就是偷懒要付出的代价啊!如果我们在编写程序的时候,对一些关键性的代码加上注释,不仅让我们的开发成员能迅速读懂,提高开发效率;又可以在二次开发时为我们提供便利。不写注释看起来好象是省了时间,但是,从长远看,却恰恰给我们的开发带来了许多不便啊。实际上,在软件开发中,一般要求注释至少占编码总量的30%-50%,甚至更高。实施小结:不写注释是很多程序设计者常犯的毛病,因为他们往往兴奋于快速的开发出想要的程序。我们的学生更是如此,据观察,几乎没有一个人注意到写注释的(甚至一些教师也是如此)。由于在学校,接触项目开发的机会很少,学生自然没有这种体验。通过给学生设置障碍,体验挫折,使其从一开始就意识到写注释的重要性,从而形成良好编程风格,提高软件设计的职业素养。案例2 学会协作图1 计算器界面创设情境:客户要编写一个计算器,要求能实现加减乘除运算(如图1所示)。为了提高开发效率,项目经理(教师)决定成立开发小组,每组分2人共同完成任务。软件要能适应客户的不同需求,方便做二次开发,具有健壮性。实施对象:”中级程序员”(已经学习了函数、方法及模块概念的学生,有一定的编程基础)实施目的:深刻体验软件的协作开发,培养合作意识;体验软件的健壮性。实施过程:教师:程序员每两人一组,相互分工,A负责界面设计,B负责业务逻辑编程。在开发中,几乎所有小组都面临一个问题,那就是根本就不能真正做到两个人同时工作。通常都是A开始设计界面,B就等着,直到界面设计好了,才开始编写业务逻辑。观察发现,之所以出现这样的情况,就是因为学生根本还没有建立起协作开发软件的概念,不知道怎样才能协作开发。来看看他们的开发过程:第一步:“程序员A”设计界面,完成后交给“程序员B”第二步:“程序员B”开始逐个按钮编写业务逻辑代码:【在通用部分声明变量】:Dim Op1, Op2, OpFlag , aop1、op2存放两个操作数,opflag存放操作符号,a存放计算结果【对“+”按钮编写代码】:Private Sub AddButton_Click()Op1 = Val(Form1.Text1.Text) 取得文本框中的数存入op1中OpFlag = + 取得该按钮的操作符号End Sub(其他符号按钮代码相似,略)【对“=”按钮编写代码】:Private Sub ResultsButton_Click()Op2 = Val(Form1.Text1.Text) 取得文本框中的数暂存入op2中Select Case OpFlag Case “+” 如果opflag中为“+” a=Op1+Op2 那么a的值为两操作数之和(其他部分同样根据opflag中存放的不同操作符号来计算结果,存入a中,详细略) End SelectForm1.Text1.text=a 将a的值显示在文本框中End Sub此设计过程为串行,如图2所示:A:设计界面B:对界面中按钮逐个编写业务逻辑调试运行图2 串行设计过程教师:你们的开发过程是失败的!学生:为什么?我们不是做完了吗?功能都实现了啊!教师:你们虽然完成了任务,却是个不成功的开发过程,因为你们将实现过程放在了界面控件中,实现过程依赖界面而存在,所以两个人无法同时开工。在实际工作中这样的开发过程注定是要被淘汰的。学生:那怎样才能两个人同时开工呢?教师:现在各小组共同商定要用到的变量名称、类型、限制条件以及要定义的过程名称并记录下来,两人都要遵循这些命名规则。这叫做写“数据字典”。学生:“数据字典”是什么啊?教师:现在不必追究概念,以后学软件工程这门课的时候就会学到。比如我定义的得到第一个操作数的过程名称为GetOp1;实现计算结果的过程名称为Operator。现在程序员A开始设计界面,并做如下工作:【对“+”按钮编写代码】:Private Sub AddButton_Click()GetOp1 调用GetOp1,得到第一个操作数op1Opflag = + 得到操作符号End Sub(其他符号按钮代码略)【对“=”按钮编写代码】:Private Sub ResultsButton_Click()Operator 调用Operator,得到第二个操作数op2并根据opflag中的符号计算结果End Sub看看在这些事件代码中有具体的实现过程吗?学生:没有!但是GetOp1、Operator过程还没有实现啊?教师:这就是程序员B的任务啊。在程序员A做以上工作的同时,程序员B就可以设计实现以上两个过程的模块给程序员A使用。看看程序员B编写的这个模块的内容:【在模块的通用部分声明公用变量】:Public Op1, Op2, OpFlag,a【实现GetOp1和Operator两个过程】。(编码原理同第3页所述,在此省略)看,其中变量名OpFlag以及过程名GetOp1、Operator与程序员A使用的一致,否则后面就无法组合到一起了,这就是要你们事先商量约定写数据字典的目的。学生:原来如此!教师:B将这个模块保存为一个文件, A拷贝这个模块并组合进自己的工程中就可以了!看看这样两个人是不是就可以各做各的,同时开工了呢?此设计过程为并行,如图3所示:A、B写数据字典B:编写待调用的过程图3 并行设计过程A:设计界面,调用过程组合调试运行学生:太好了!这样我们的效率至少可以提高一倍以上呢!教师:好处还不止这些呢!下面客户又有了新的要求了,比如要添加乘方、开方运算,要修改程序,方便吗?学生:方便!只要在界面添加相应的按钮,在按钮中调用GetOp1过程,以提供相应运算符号给变量OpFlag;在模块的Operator过程中添加一个符号判断及相应运算过程就可以了!教师:那么如果以后再开发功能相似的软件,但换了个界面,B开发的模块还能二次利用吗?为什么呢?学生:能!因为软件界面和实现过程是分开的,只要组合进这个模块就可以了。教师:你们看,这样的设计出来的软件多“健壮”,多“环保”啊!实施小结:此情境训练中,以提高软件设计效率和软件健壮性为目标,通过比较两种不同的设计过程使得学生深刻体会到,软件开发并不是一个人埋头苦干写代码,而要学会与别人合作,培养合作精神。而良好的合作意识和人际关系在现实工作环境中也是被用人单位尤为看重的。另外,可以看到,在此案例中涉及到一些学生还没有学习的软件工程的知识,比如“数据字典”、“软件健壮性”等概念。在实际操作中我们融入了这些概念,使学生有了真切的体会,是不是比后继课程中枯燥的讲授软件工程知识让学生更容易接受呢?3、结束语通过前面的两个案例可以得到这样的启示:在讲授程序设计语言课程的过程中,作为教师,千万不能只停留在语法和编码流程本身,以完成作业结果为目标,那样是很难培养出真正适应软件开发环境的专业人才的,充其量也只能是培养编程爱好者。而在学校这样一个缺少软件开发项目,缺乏软件开发环境的场所,作为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东珠海高新技术产业开发区党政办公室(区机关事务管理局)招聘合同制职员2人参考题库及参考答案详解1套
- 2025广西来宾合山市文化广电和旅游局招聘1人参考题库及答案详解(全优)
- 2025广东深圳市福田区教育科学研究院市内选调教研员11人参考题库含答案详解(培优a卷)
- 2025年湖南怀化市人社局所属事业单位招聘工作人员参考题库附答案详解(预热题)
- 2025广东中山市古镇镇人民政府所属事业单位第二期招聘事业单位人员10人参考题库附答案详解(精练)
- 2025年娱乐行业虚拟现实娱乐技术研究报告及未来发展趋势预测
- Unit 6 How do you feel Part B (教学设计)-2024-2025学年人教PEP版英语六年级上册
- 第十课 精彩片断 视频处理教学设计-2023-2024学年初中信息技术(信息科技)八年级上册华中科大版
- 2025年文化行业文化创意产业发展策略研究报告及未来发展趋势预测
- 2025广东中山市人民政府南区街道办事处所属事业单位第二期招聘事业单位人员4人参考题库附答案详解(精练)
- 数据安全介绍培训课件
- 《多元统计分析》(第6版) 课件 第3章 聚类分析
- 心理学视角下的人际冲突及沟通技巧指导分析和解决预案
- 高素质农民素养培训课件
- 开腹广泛全子宫切除课件
- 公司租海外仓库合同范本
- 攀枝花法院2025年公开招聘聘用制书记员(100人)笔试模拟试题及答案解析
- 长春工程学院《计算机网络》2024-2025学年第一学期期末试卷
- 医院甲乳外科专科介绍
- 医院院企合作模式探索与实践
- 医院合作实施方案
评论
0/150
提交评论