实践教学软件工程(共11篇)
实践教学软件工程 篇1
随着全球化趋势的不断加强, 越来越多的现代化企业对软件工程专业的人才呈现出愈发急需的状态, 也因此展现出现存的软件工程专业人才并不能受用于现代化企业, 同时也并不适应社会的需求, 相当一部分高校在进行软件工程专业人才的培养时, 并没有准确的人才定位支撑就业。这使得培育出既拥有扎实的软件工程专业理论基础, 又具备软件实践动手能力、创新能力以及与团队进行协作创造能力的人才成为现代软件工程人才培养的难点, 高校如何才能培养出适应于社会需要, 适用于现代化企业的合格人才成为最为迫切的问题亟待解决。近几年, 我国软件行业逐渐迎来了供应与需求同期旺盛的第二春, 根据相关调查数据显示, 北京市每年所需的软件工程师正在以50000人的数量增长, 职场中每月软件工程师的需求量达到3000余个。但供需两旺的同时, 高校所培育出的软件工程专业的高才生并不能胜任现代化企业的职位, 高校所培养出的人才的专业性并不能适应于企业对软件工程人才的高标准, 高才生的质量并不高。
1 软件工程专业实践教学体系需要完善的制度进行保证
校级和院级两大级别机构想要进一步发展实践课程体系的创建工作, 务必需要一系列的制度保障举措作为继续发展实践教育体系的基本保证。
1.1 制定实验教学监控体系
实践教育所指必定是要求教师在实验室进行课程教学时通过合理有效的方式, 实现学生学习效率在最大程度上的提升, 而实验室自身所具备的特殊性质使得在实验室中的课程教学与普通教学有所区别, 并需要制定与传统教学所不相同的制度进行基本学习工作的保障。高校实验室中所配备的一系列实验室规章制度有利于规范学生的具体行为, 以此来保证在实验室进行实践教学时比会发生重大意外事故。
1.2 规范实践环节的成绩考核
完整的教学工作不仅包括教, 还包括学, 而推动学生提升学习学习效率还需要考核进行学习的评判。以河北省高校的实践环节的成绩考核为例, 该校教务处将实验教学成绩规定在10学分以及以上学分, 学生的期末成绩中至少要有10学分的实验成绩。除此之外还对实验考核的具体实施方案进行了规定, 对课程设计的要求将会在下文中予以展示, 同时还对学生的实习工作、毕业设计等实践教育环节的考核设置相应的答辩以及学生作品展示环节, 将平实表现成绩、实验教学作品成绩、毕业论文答辩成绩以及实验报告成绩纳入到学生毕业时最终成绩中。
1.3 规范实践环节的指导工作
在日常的实践教学工作中, 校内教师与校外教师将会相互联合, 为学生提供不同方面的教学工作, 因此需要对课程设计以及实习等实践教学工作中教师的投入进行工作的规范。对于校内教师则需要严格按照学校所下达的相关文件进行实践工作的安排, 而对于校外教师工作的规范工作则需要对相应的指导教师进行检查。通过在校内引进校外实习基地的方式, 使得学生在实践学习的过程中提高实践能力、创新能力, 以此来使得实践内容更加富有多样性。以上工作的实现, 亦可以加强学生的创新能力、团队协作能力以及相应的工作素质。
2 软件工程专业实践教学体系的建设
2.1 课程实验建设
软件工程专业的实验课程包括验证性实验课程、设计性实验课程以及综合性实验课程, 学校设立实验课程的目的在于通过学生的动手操作, 帮助其对传统课上教师所讲解的内容进行加深化理解, 以此来弥补课堂教学书面化所导致的缺口, 使得学生更好的对书本内容进行掌握。
验证性实验课程, 简明扼要的说是指通过学生在实验室进行代码编写、计算机软件调试, 实现对软件工程原理的理解。设计性课程以及综合性课程则是通过学生运用理论知识对简单的问题进行解决, 提高学生全方位分析问题、多手段解决问题的实践能力。设计性实验以及综合性实验相比于验证性实验更能对学生的实践能力进行大幅度提升, 因此在现有的实践教学体系的基础上增加设计性实验以及综合性实验的课程, 对验证性实验课程进行完善优化, 更能够提升学生的技能运用综合能力。
2.2 课程设计建设
实践教学体系中的课程设计建设指的是学生在解决一个相对复杂的实际问题时, 合理的运用一门或除去专业之外的另外几门课程的方式, 开展课程设计建设的主要目的在于对学生的独立解决问题的能力以及对问题进行分析设计的能力进行强化培养。在创新创业教育形式的高速发展过程中, 更多的高校所开闸的课程设计建设更多的引入了校企结合的方式, 通过邀请企业中具备实践工作的教师进行实战案例的讲解, 实现学生的身临体会, 为抽象化的课程设计建设带去生动。除此之外, 学校通过聘请软件企业工程师的方式, 通过专业人士对学生实践课程的指导, 提升学生适应工作的实践动手能力。
3 实验教学体系中实验室的建设
想要在高校中开展实践教学, 首先要做好教学硬件即实验室的建设工作, 基础实验室建设的好坏直接关系到实践教学体系在实际执行过程中的成效。高校的实验室硬件设备采集人员在进行设备的引进是要持有设备要先进更要实用的原则, 同时还要结合该高校中专业课教师的教学水平以及高校毕业生历年所掌握知识的平均水平进行设备的引进。以河北省某高校为例, 该高校的软件工程专业总共拥有2间硬件实验室, 2间通信与网络实验室以及3间软件类实验。除此之外, 随着计算机行业云计算的不断发展, 该学校顺应时代发展潮流同期引进云计算平台, 以供给学生在第一时间掌握国际最新的计算机科技, 提高该高校毕业生专业知识掌握能力。不同类型实验室的分类建设能够是学生在专业领域学习的不同阶段都能进行上手操作, 缓解由于专业知识过于枯燥导致的学习兴趣的降低, 同时通过实验室实践加深对专业知识的理解和掌握。
4 实践教学体系实践过程中软件工程专业技能训练
软件工程专业学生专业技能的训练需要持续四年的时间, 通过实践操作以提升学生的动手能力以及专业素养。一般高校会将软件工程的专业技能训练分为两个级别, 其中一个级别的训练内容是对课程设计的训练, 即该训练主要以专业课成为训练基托, 以课程进度来制定训练大纲。另外一个级别的训练内容是课程的综合设计训练, 主要训练内容为学生对软件项目开发的能力。两级别的训练主要内容如下所示。
4.1 课程设计训练
“课程设计”作为拥有多重含义的词语, 往往被专业所受用的含义为“为掌握某一课程内容所进行的设计”。软件专业的课程实验作为提升在校生动手操作能力的根本课程, 由简单到复杂一般分为如下三种性质的实验, 验证性实验、综合性实验以及课程设计实验, 因此课程设计实验是软件工程专业课程实验的较高阶段。高校在软件工程专业开展相应的课程实验时也会选择有简单到复杂的实验课程进行开展, 《Java程序设计》课程设计的目的在于, 通过引导学生以Java语言为基础语言, 培养其对Java语言应用的熟练应用能力, 同时加深学生对Java语言独特特征的掌握能力, 在课程的设计训练过程中, 学生需要结合多种综合能力进行程序的编写, 在编写过程中锻炼学生分析程序的能力以及编写实验报告的能力。
除此之外, 相关专业的教育工作者在进行课题的开展前要注意, 在编写实验课程的大纲时, 要注意严格扣题, 以为课题完成时的专业教师的审核通过打下基础。在课程实验方案通过专业人员的审定之后, 才能进一步展开后续的综合实践工作的展开, 因此课程实验方案的编写需要相关专业教师结合软件产业发展趋势, 以及本校该专业学生所学习课程的进度以及掌握水平进行编写, 也为有效提升学生的综合实践能力打下基础。
4.2 综合设计训练
目前我国高校计算机软件工程专业所开展的面向学生的综合设计训练包括以如下四项为基础的课程项目, 以上所开展的课程的相同之处在于, 项目本身的难度以及数目与整体的实践项目相比并非十分巨大, 但学生在进行综合设计训练时需要结合所学过的多门课程的知识以及所涉及到的实践技能。展开综合设计训练的目的在于通过锻炼学生综合所学的几门课程的知识, 对于一个较小的项目进行设计和开发的能力, 培养学生形成勤奋进取的学习态度, 同时在实际工作过程中发现学生在进行几门学科知识的综合应用时, 相比于单一的对一门学科进行应用, 拥有更为积极的解决问题的动力, 由于小项目的设计与开发需要牵涉到几门课程的知识与技能, 学生对其他课程的学习兴趣相比于之前更加浓厚。
相关教育工作者在高校中的软件工程专业开展综合设计训练时要注意将其与毕业设计的内容进行区分, 综合设计训练的目的在于通过让学生进行专业知识的实践应用以体验软件项目开发的流程, 并对软件开发流程进行一定程度上的掌握, 而毕业设计的虽然也需要学生通过运用综合课程的知识和技能, 但是相比于综合设计训练其课题一部分是由学生的实习企业所提出的, 因此毕业设计拥有更强的专业性。
4.3 软件工程专业技能训练安排
软件工程专业专业技能训练的主要目的在于通过专业课程的学习, 使学生能够通过国家所开展的专业技能评定考试, 以此来为学生毕业后的就业打下基础。除了组织学生统一参加国家所开展的专业技能考试外, 高校还可以通过为参与全国软件资格 (水平) 考试并通过的学生予以学分奖励的方式鼓励学生参与软件工程学习中来, 全国软件资格 (水平) 考试是评定学生在软件工程专业学习过程中对专业知识的掌握程度, 以及将专业知识应用于实践操作的能力。高校可以结合国家相应的考试制度, 通过鼓励学生参与对应的考试获得技能分的方式, 提升学生的专业技能以及学习兴趣。
5 毕业设计是实践教学体系总结性的实践环节
毕业设计作为软件工程专业大学生在校学习的最后阶段, 高校所采用的一种对学生的专业课学习成果进行检验的普遍运用方式, 不仅是建设实践教学体系的最终环节, 还是最为重要的一个实践环节。软件工程专业学生的毕业设计内容不仅包含学生通过所学习的专业知识来对软件开发项目进行设计, 还包括学生通过所学习的内容对设计文档进行书写。学校一般会使用将实际工作中发生的案例剪切为题目使学生进行试解决, 或者将软件开发环境模拟为软件公司实际运作环境进行预设问题的解决。毕业设计的题目则由校企联合中的实习基地进行给出, 除此之外, 实习基地还要负责对学生设计作品材料的标准进行制定, 通过更为专业的标准和题目, 提高学生对实际问题进行合理性解决的能力。
创新教育作为当今我国主推的教学方式, 在软件工程教育的毕业设计阶段也要将其引进, 可以在学生的毕业论文评定表中设置一定量的创新学分, 以此来提高大学生的创新开发意识, 提高高校毕业生的就业率。通过对积极参与创新创业活动的学生予以学分鼓励的方式, 激励学生参与到软件工程专业所举办的创新活动中来, 在活动的进行中培养学生的创新精神, 为未来软件开发工作打下基础。
例如河北省某高校的设计方式, 高校毕业生的毕业设计需要分成两部分完成, 一部分为学生在毕业之前在软件公司进行实践实习工作时, 通过完成实习公司所布置的任务完成毕业设计的一部分, 并且按照在实习之前在校所制定的实习规章制度进行评分, 对于在实习企业不遵守该企业的规章制度而产生违规现象的学生予以学分上的处罚, 而对于在实习过程中表现提出的学生予以学分奖励, 在软件公司实习过程中所完成的毕业设计的题目也由实习公司通过与学生本人的操作能力以及软件企业在实际运营过程中遇到的困难进行提出。另一部分为学生在学校内完成的毕业论文设计, 该内容则是由导师提出, 由教务处进行通过的题目。而毕业设计想要在更大程度上达到提升学生动手实践能力的作用, 可以从以下几个方面进行改革:首先, 毕业设计从重视文本角度转向注重毕业论文的设计方面, 毕业设计的评审工作相比于对学生所递交的文本资料进行词语或者句法方面的完善, 在发展过程中要侧重于对学生实践动手能力的提升和检查。其次是, 学校的毕业设计评定小组要在毕业设计任务下发之前对毕业设计的规范进行制定和下达, 同时要参照先前资料进行相关文件的制定。
6 校企合作助力实践教学体系
除了上述内容在软件工程专业实践教学体系中需要包括外, 实现校企联合也能为实践教学体系的建设与实践提供推动作用, 同时还能提升学生的实习效果以及就业质量。校企合作的专业实习工作主要分为两种类型, 一种为为期3—4个月的专业实习, 一种为为期4—5个月的就业培训。第一种的专业实习的主要目的在意通过组织学生在软件企业进行就地实践, 激发学生将在校所学习的内容进行充分发挥, 得到将知识进行归纳总结以及合理应用的作用。学生在大学的前三年学习的主要是书本上的理论知识以及例如高等数学一类的工具式学科, 主要的实践方式也在于上机以及上课对教师的计算机操作方式进行观看, 真正完成一个软件项目的完成以及程序的开发的大把时间并不多, 学生对每一学科都有所涉猎, 但究其根本深入挖掘一种技术或者学科的机会和时间并不多。在进行专业实习过程中, 通常会以Jazz开发方向以及计算机网络方向, 学生通过以Jazz开发为主题的专业实习可以实现对软件开发工作的熟悉, 并为了今后的创业或就业打下基础。而计算机网络为主题的专业实习则可以实现对专业学生的网络规划、设计以及完成部署方面能力的提升。
第二种就业培训则测侧重于通过学生经历职场生活, 对其自身的职业操守以及专业技能素质进行培养。职场生活不同于单纯的大学生活, 就职人员在言谈举止、态度性格以及交际能力等综合素质方面与大学生有所不同, 高校毕业生在应聘时时常会发生由于学生的社会实践时间短, 难以融入新的工作集体中, 对严格分化的上下级观念有所欠缺, 等等诸如此类的职业道德素养低所导致的应聘不成或者就职时间短的问题。与专业实习不同的是, 就业培训往往不用死记硬背, 而相比于课堂教学该种就业培训受到学生自身性格影响更大, 不止于对学生的智商进行提升, 还在于提升学生与人交往所需的情商。通过将专业实习和就业培训进行结合, 高校毕业生的专业实践能力能够得到显著提升, 在毕业后进行自主性创业、就业工作结果更加明显, 为缓解毕业率低的情况做贡献。
通过校企联合, 最终的获利方在三者之间。其一为开设软件工程专业的高校, 自2002年我国教育部批准一部分高校开展软件工程专业以来, 由于软件的开发作为一支双刃剑, 有利之处在于可以帮助人们更为便捷的解决相关与生活上的难题, 而弊端则在于游戏软件的开发导致社会所出现的网瘾少年, 导致社会对计算机专业的学生有所不解乃至于低看, 高校通过与社会企业的联合的方式一方面提升了高校对外的知名度, 一方面可以通过学生的实践从而减小外界对本专业的偏见;其二为提供实践基地和岗位的软件公司, 随着劳动力成本的逐渐提升以及在软件公司中IT精英较多, 而进行较为低级的文件整理、误差对照工作的职场新人数量却相对较少, 因此, 学生通过加入软件公司的实际运营工作中, 可以为软件公司节省一部分的开支, 同时还可以借助学生进入企业进行实习的机会, 发掘具备软件开发或者软件外包任务的接揽工作的新人, 以在实习结束后将人才留住, 以提升公司的整体实力;其三则在于参与专业实习以及职场实习的学生, 学生通过于软件企业中进行实习, 一方面提升了对专业知识进行灵活运用的能力, 另一方面通过与软件企业中的具备职场经验的员工进行实践工作的借鉴学习, 提升以人际交往能力为主的职业道德素养, 为毕业之后的应聘以及就职后的实践工作打下基础。
7 结语
笔者通过将所学习的教育知识进行整合, 并通过长期思考的结果, 实现将教学过程中不同实践环节的有效结合, 希望以此来提升学生的专业技能以及职业素养。软件工程专业实践教学体制的建设与实践的成功不在一朝一夕, 而在于长期在工作中进行问题的积累, 并同时努力找寻解决问题的方式, 同时其本身的性质决定它是一个系统化的、需要长时期进行实践完善的体系, 因此, 相应的教育工作者在进一步对软件工程专业的市场以及企业的需求进行了解之后, 通过制定和完善切实有效的实践教学体系, 改善学生的就业问题, 需要相关专业的教育工作者结合实际工作中所面临的难题, 不断完善改进, 以此来提升我国软件工程人才的质量。
参考文献
[1]史佳融.2015年软件工程专业就业前景如何.[EB/OL].http://bbs.yjbys.com/597239.html.2016 (6) :11.
[2]唐卫东, 刘昌鑫.地方高校软件工程专业实践教学改革与创新研究——以井冈山大学为例[J].计算机教育, 2013 (20) :8791.
[3]百度百科.课程设计.[EB/OL].http://baike.baidu.com/view/1231618.htm.2016 (6) :11.
[4]刘丹凤.Java Web课程设计[EB/OL].http://wenku.baidu.com.2016 (6) :11.
实践教学软件工程 篇2
摘要:
文章结合软件工程课程的特点,阐述了兴趣引导、任务驱动教学法在课堂教学中的应用,指出了教学设计中要注意的问题,并举例分析其用法。
关键词:软件工程;教学方法;兴趣引导;任务驱动
在互联网+大智慧时代,计算机和移动智能终端的普及使得软件成为人们日常使用必不可少的工具。有了软件,人们的办公效率得到提高,生活质量也有了很大改善[1],人们幸福地生活在这个智慧的时代。随着国家经济的发展和对软件人才需求的增长,软件工程学科的作用和地位不断上升。,国务院学位委员会及教育部将软件工程设立为国家一级学科[2],这反映出社会发展的重大需求,指明了学科发展的方向。目前高校中近80%的院校设有软件及相关专业,国家对软件人才的需求旺盛[3]。教指委也认定软件工程是计算科学相关专业的核心课程之一,着重强调软件工程的重要作用[4]。软件工程是一门工程学科,主要讲述软件开发与维护的相关知识,涉及软件开发的各个方面:开发流程、原则、开发方法与常用工具、软件项目管理等,能够为高效地开发高质量的软件产品提供有效的技术支持[5]。它在培养学生的软件开发能力、提高项目管理水平方面起着重要的作用。软件工程课程涉及的原理、方法、概念多,涉及的知识面广且抽象,较难理解,实践环节操作困难。需要学习者既知晓理论知识,又能够在项目实践中灵活应用。在计算机相关专业的课程设置上起着重要的作用。因此,针对高职院校的软件工程教学现状,必须进行教学改革,不断探索更为有效的教学方法。下面是笔者结合自身的教学经验探索了“兴趣引导+任务驱动”的软件工程教学法,与同行探讨。
1软件工程课程教学现状
1.1教学方法陈旧
大多数高校的软件工程课程主要以理论讲授为主,在课堂上采用“灌输式”的教学方法。课堂教学枯燥无味,学生被动式地接受,教师是课堂的主导,学生为辅。情景式、互动式等教学方法较很少采用,课堂氛围沉闷,缺乏灵活性,课后缺乏实践训练。不能充分地调动学生学习的主动性,无法激发学生的学习热情,大多数学生学完后只记住了一些基本概念,很难灵活应用于项目开发实践中。有的学生甚至认为有了这些理论知识就能指导软件开发,开发出完美的软件产品。单一的课堂教学枯燥无味,加上理论抽象,教学效果大打折扣。
1.2教学内容与其他课程融合欠佳
软件工程的选修课程有数据结构、数据库原理及应用和程序设计语言等,这些课程学完之后,学生很难把这些课程的知识点融合在一起应用于软件开发过程中。学生难以融会贯通,理解起来困难,在项目实践中更是难以灵活应用。
1.3忽视实践环节
软件工程是一门理论性和实践性比较强的综合性课程,很多院校只注重理论课的教学,开设了很少的实验课程,甚至有的学校只开设纯理论课,没有实践教学环节。学生在实验过程中只是学习了一些软件工具的用法,而没有按软件开发流程完成一个完整项目的开发,不能真正领悟到软件工程在项目开发中的重要作用[6]。
1.4师生对软件工程课程重视度不够
软件工程不同于一般的应用软件,学完后会有立竿见影的效果,比如学习了photoshop就能够进行简单的`图像处理。在完成一个软件项目的开发过程中,有些学生虽然能做出来,但是做出的软件产品却差强人意,软件质量缺乏保障,缺乏完整的文档资料,很难进行软件维护。许多学生认为软件就是程序,没学软件工程也能写代码,不重视软件工程,认为学不学没有太大的关系。随着信息化时代的来临,越来越多的应用都离不开软件,同时对软件的质量要求也越来越高,所以教师更要重视软件工程的教学,在教学中要进一步结合现代教育技术,开展信息化教学创新研究。
2教学方法设计
大多数高职学生基础薄弱,他们对理论知识的归纳、总结能力欠佳。在教学中,要尽量深入浅出,以简单、形象、生动的语言,把知识点阐述清楚,同时要注重培养学生的逻辑分析能力和动手能力,力争让每一位同学都能有所收获,有所提高。教学过程中“教”与“学”高效结合,需要注重教师和学生在课堂中主导角色的合理优化[7]。为了让学生更主动地参与到学习中来,兴趣引导是一种有效的方法,可以激发学生的学习热情。因此,在教学实践中采用“兴趣引导+项目任务驱动”的方法,激发了学生的兴趣,增强了教学效果。在信息化教学背景下,借助多媒体等现代教育手段,创造轻松、生动、形象的课堂环境,在寓教于乐中,把学生领进知识的海洋,学习相关的知识点,提高学生的逻辑分析能力、自学能力和动手能力,让学生在实践中能够学以致用。
3教学活动设计
在设计课堂教学时,要注意以下3个方面:
(1)转变学习方式。让学生主体主动参与到课堂中来,让学生成为课堂教学的主体,借助现代化教育手段,让学生通过多种方式(如移动终端等)参与到学习中来。
(2)场景与知识点相融合。设置与知识点融合的场景,让学生深入其中,再抛出知识点相关的学习任务,让学生在场景中顺其自然地进入学习状态。
(3)唤醒学生的自主学习意识。及时对学生的努力和成绩加以肯定,让学生体会成功的喜悦,激励学生主动学习。
4教学流程示例
结合当代高职学生的现状,以《软件需求分析》为例,本文进行如下的课程教学流程设计。
4.1兴趣引导,引出知识点,导入新课
课前的知识点回顾是很重要的,在复习上次课学习的知识点的同时,与学生互动,抛出问题,比如,什么是软件的生命周期,常用的开发模型有哪些?项目开发进行到哪个阶段了,接下来需要做什么?再通过一个“妈妈与孩子”的故事引出知识点,导入新课。故事是这样的:一个夜晚,有一位妈妈领着她的孩子走在回家的路上,孩子突然说:“妈妈,我想要吃鸡腿”,妈妈犯愁了,这么晚了,怎么办呢?附近店铺已经关门了,可又不能饿着孩子。突然,妈妈想起了包里还有一些下午买的披萨,就拿出来给孩子吃,孩子高兴地接过披萨开心的吃起来。讲完这个故事,注重与学生互动,及时提问学生,鸡腿=披萨?显然学生是乐意回答的,而且很高兴地回应老师的提问。显然是鸡腿不等于披萨,然后再追问,孩子的潜在需求是什么?学生的兴趣被激发出来,会接着分析,孩子的潜在需求是饿了,想要吃好吃的。由此引出知识点:需求的定义,导入新课。在讲解知识点的同时注重与学生的交互,实时了解学生的课堂学习状态、对知识点的理解程度,有针对性地进行讲解。
4.2以任务驱动结合项目案例讲授新课
提出问题,什么是需求分析,需求分析的任务,需求分析的过程。让学生带着问题看书,找出问题的答案,旨在培养学生自主学习能力。教师巡视教室,及时解答学生的提问,发现问题,专题辅导,启发学生,随时接受学生的咨询,巡回检查,个别指导,让学生成为课堂的主体。再以“传授技能,尝试练习”的教学法举例。精选出一两个有代表性的项目实例,引导学生用掌握的理论知识解决实际问题,案例讲完后,结合习题训练,通过与学生的交互情况,了解学生对这部分知识点的掌握情况。在授课过程中,借助PPT进行讲解,为了让PPT美观有吸引力,借助现代教育技术,增加一些动画、人物、技术的起源,插入一些流行影视图片等作为背景,增加趣味性,吸引学生的眼球。
4.3归纳总结
通过学生课堂习题训练的情况及师生互动情况,总结本次课的教学重点、难点,指出学生在解题过程中存在的问题,提醒学生在进行需求分析时容易出现的问题,结合具体项目案例讲解分析方法、工具及需求分析规格说明文档的格式,并总结方法和容易出现的问题。
5结语
软件工程是计算科学相关专业的核心课程,在计算机相关专业的课程设置上起着重要的作用。本文针对高校的软件工程教学现状,阐述了“兴趣引导+任务驱动”的教学方法在课堂教学中的应用。在以后的教学中还要进一步结合现代教育技术,开展信息化教学创新研究。
[参考文献]
[1]刘红梅.计算机软件工程管理与应用探究[J].无线互联科技,(2):97-98.
[2]樊富有,孟林,李忠.新形势下软件工程人才培养的思考[J].计算机教育,(13):82-86.
[3]易军,周伟,张元涛.软件工程专业办学现状及发展特色分析[J].计算机教育,(8):102-104.
[4]蒋宗礼.推进规范办学,培养合格本科毕业生[J].计算机教育,(7):7-10.
[5]曾强聪.软件工程方法与实训[M].北京:高等教育出版社,.
[6]赵淑芳,陈立潮.基于项目导向的启发式软件工程教学模式研究[J].大学教育,2015(11):186-187.
实践教学软件工程 篇3
关键词:双语教学;实践;问卷调查;软件工程
一、引言
双语教学是指将母语以外的另外一种语言直接应用于语言学科以外的其他学科的教学,使第二语言的学习与学科知识的获取同步进行。2002年在教育部高等教育评估中心的《本科教学评估方案》中首次出现了双语教学,由此,这种全新的教学模式得到迅速推广。近年来,全国大部分高校都在本科生中进行了双语教学的尝试,目前正处在不断地摸索和积累经验的过程中。2010至今,笔者担任了我院《软件工程》双语课程教学任务,从双语教学模式、教学方法和手段等方面作了一系列探索,并在课程结束时作的一个抽样调查,并对教学进行总结。
二、双语教学的实践
1.课程的选择。在我院软件工程的本科教学中,我们选择了《软件工程》这门专业课开展了双语教学的实践与探索。原因有二:第一,这门课程的专业术语较少,易于掌握;第二,有利于他们后续课程软件工程专业英语的学习。
2.教材的选择。教材选自《软件工程》课程的双语教学当中,我们选择了由Ian Sommervill著作的《Software Engineering》(第八版)(英文版)为教材,但是由于课时的限制(要求为20学时),对使用该本书时在内容上做了相对应的删节,讲授了Chapter1,Chapter4,Chapter6,Chapter7,Chapter11,Chapter14,Chapter16,Chapter17 Chapter23,Chapter25.同时参照清华大学出版社出版的张海藩写的《软件工程》的内容进行有所增加。
3.教学方法与手段。由于原版英文书当中涉及大量的框图及程序流程图等,因此授课形式采用多媒体方式,授课语言为中英双语,课件语言以英文为主。
三、双语教学的调查及分析
1.调查对象。调查对象为我院软件工程专业2010~2011学年期间选修《软件工程》双语课程的本科生。有软件工程083班学生共53人,软件工程0910班学生共48人,软件工程0908班学生共45人选修。
2.调查方法。采取不记名答卷方式,遵循自愿原则,在此学年课程结课以后,向选修这门课程的学生发放和回收调查表。共计发放调查表分数:146份,回收146份,回收率为100%。
3.调查项目及结果分析。调查问卷主要参考了教育部高教司的《教育部普通高等学校本科专业双语教学情况调查问卷(学生卷)》(教高函[2006]73号),并在此基础上由笔者进行了再加工与设计,共23题,主要调查学生英文水平、本次双语课程教学效果、教学模式、教材和考试等的看法及双语教学定位和双语学习措施等方面的内容。调查项目及结果见表1~表3,表中未作说明的均为单选项。
由上述表1和表2可知:(1)学生的英语水平参差不齐。41.7%的同学通过了国家四级英语考试,但也有30.82%的同学未通过四、六级英语考试。(2)大部分同学认为在本科教学中开设双语课程是有必要的。(3)认为双语教学的主要目標是提升专业知识和能力的占37.23%,认为主要目标是提升外语知识和能力的占34.04%。这说明同学们认为双语教学中提升专业知识和能力与提升外语知识和能力同等重要,且提升专业知识和能力略高一筹。
由表3(见下页)可知:(1)从学生角度看,认为双语教学在课堂上外语授课比例没有统一标准的为36.96%;课堂上外语授课比例30%左右的是32.6%。这两项数据表明学生期待在双语课上,既能提高自己的英语水平,又能学到专业知识。(2)关于教材,44.9%的同学选择国外原版教材,36.95%对于现在采用的英文版教材不愿意读,认为老师需要提供中文参考资料的达到76.08%,52.16%的同学认为选择“中、英文参考资料”的形式为好。这一系列数据给我们在教材选择及建设上提出了新的思路与要求。(3)关于考试,选择外文命题,中文答题30.4%;选择外文命题,自由作答的同学为28.26%。这说明学生对英文答题有着考虑与顾及,害怕用英文答题,但又想尝试用英文去答题,他们是希望上一个层级的。(4)学生认为在授课过程中,老师应该以专业知识为主,讲述时兼顾教材上的内容。(5)33.33%同学认为教学方法和手段是决定双语教学质量和效果的最主要因素。(6)另外还有部分学生认为:双语课程根本无法提高英语水平,且增加了学习负担,没有必要开设。有39.1%的同学认为双语课程会增加学习负担这些学生大多英语水平相对稍差一些,因此感觉有些吃力。另外还有36.96%认为稍有增加但能承受;开始不适应,慢慢适应的占52.17%。
4.双语教学的建议。因为计算机学科最新的思想和成果都是来自国外,所以在教学中应该实施双语教学的模式。这样会对学生以后的工作大有益处。在开展双语教学的过程中,应该适当控制班级规模,充分考虑实际情况。在教材的选择上,也应该比较慎重,尽量选择国外著名高校的原版教材,使学生能够接触比较地道的专业英语,但原版教材内容往往较多,价格较贵,高校的教学课时在不断地压缩,减少。在现有的条件下,应该以原版外文教材做辅助,采用中文教材或自编双语教材,用中文和外文交替讲述相关的定理和关键词。期末考试也尽量采用开卷,让学生尽量使用英文编写,且考试成绩应该占总成绩的比例要低,以免学生对考试产生过大的压力,尽量让学生在轻松的环境中学习。构建双语教学的师资队伍开设双语教学对教师也提出了很高的要求,语言能力、知识水平都应该达到一定的层次,双语教师一定要具有两种语言的熟练地沟通能力,掌握大量的理论和专业知识,能够将专业知识灵活地运用到双语教学的过程中,使教学任务能够顺利的进行。且学校在双语教师的培训过程中,也应注重培养本土的教师,定期培训,使教师的专业知识有所增长。
在现有形势下,双语教学对于软件工程专业非常重要,学校一定要加大力度使其有效的执行。但它依然处于探索阶段,需要在教学的过程中不断地总结经验教训,在不断地探索实践中使双语教学能够有效的进行。在软件工程专业中,语言也仅仅是一个载体,给学生提供学习英语的机会,教学还是控制在使学生掌握专业技能知识为主。
参考文献:
[1]马颍丽.双语教学的实践与问卷调查[J].Computer Education,2009(07-0107-04).
[2]孙优萍.独立学院经管类课程双语教学的实践与思考[J].职业技术教育,2009,(11).
基金项目:江西农业大学校级课题:案例驱动法在计算机图形图像处理教学中的研究与实践资助项目
实践教学软件工程 篇4
软件工程作为计算机和软件本科专业最综合最系统的一门课程,在促进学生巩固之前学过的专业知识、掌握软件开发过程及方法、理解软件工程实践等方面发挥了积极作用。但高校特别是三本院校在软件工程课程讲授时理论脱离实际,片面地强调理论学习而忽视实践能力的培养,理论部分过于抽象,在课程实验中,没有把握好课程在人才培养的桥梁和作用,缺乏贯穿纵向知识体系和学科的整体理解和思想,往往只是本课程章节或课程的综合理论验证,采用虚拟的实验案例,甚至将其设计成为章节内容验证练习,而不是围绕着软件工程整本书的整个知识体系进行实际开发项目。导致学生学完软件工程课程后还是不能理解软件生命周期、开发过程及相应方法,与社会对软件人才的需求存在差距,学生难以很快融入现代IT企业的运作[1]。如何培养起适合信息产业所需要的应用型、实践型人才,已经成为亟待解决的问题。因此要想将学生培养成为符合社会需要的软件工程人才,就应当改变目前的局面,全面考虑软件工程课程建设。
本课题研究主要针对目前软件工程课程理论脱离实际,同时很多教师过分强调软件工程理论知识的一面,忽视了软件工程必须有实践项目还具有经验性、参与性、发展性的特点,通过理论研究和教学实践对软件工程教学实践提供实践指导。加强软件工程实践教学的改革,通过理论与实践相结合的方法培养社会需要的应用型软件工程人才。解决三本院校软件工程课程教授中理论、实验与实际相脱离的问题。
2 针 对 社 会 需 求 , 制 定 明 确 合 理 的 教 学 计 划(Formulate a reasonable teaching plan based on the social needs)
教学计划是各教学环境的整体设计方案,合理的专业的教学计划能为教学顺利实施提供指导,也是教学过程质量的有力保障,是人才培养的纲领和实施蓝图[2],它规定了课程结构和知识结构,明确了人才培养目标,构建了专业要求的课程体系,限制了教学环节的进程及内容。具体在制定计划时应秉持以下几点:
(1)树立应用型人才培养理念
在培养软件工程人才过程中要和一二本院校区别开来,我们应当以实际动手为主,培养适合企业操作岗位的技能人才。软件工程专业应坚持“以市场为导向,以就业为目标,顺应IT业发展趋势,以校企合作为手段,突出技能培养,走应用型开放式道路。”的办学思路,通过吸收国内外的优质资源,通过校企合作,共建实训实习基地和技术开发应用等多种合作办学,提高办学活力及效率。在人才培养模式上突出以技术应用能力为核心的人才培养特点,课程设置以市场流行的软件开发技术为主线由浅入深,技术的学习采用项目驱动、案例驱动的方式[3],不断提高学生实践动手能力,培养应用型技术人才,适应企业对人才的需求。
(2)构建应用型培养系统工程
学生在学校对知识的储备与社会对人才的能力需求如何契合的更好是学校应该要慎重考虑的问题。目前,软件服务外包产业对应用型人才需求量较大,软件工程专业可以和武汉软件外包单位合作,全面实施3+1人才培养模式,即,三年基础、专业课程学习加一年实训。这种嵌入式教学模式将会极大地提升学生的实际应用能力,他们进入企业后适应能力更强,上手会更快。在教学过程中,软件工程专业可以构建工程化的实践教学体系,以软件项目研发到软件项目运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习软件工程,建立试验—实训—综合设计—职业实践的实践教学体系,通过引进、开发真实的项目案例,让学生实际参与项目开发全过程,切实提高学生解决实际问题的能力,培养他们的综合应用素质。
(3)引入企业,接轨市场需求
基于工程化培养理念建立一批校企联合实习实训基地,实现教学过程与生产过程的对接,为应用型技术人才培养提供有力的保障。将一些行业内的企业而不单纯是培训单位引入校园,合作搭建项目开发平台,形成以研发项目促进学生实习实训,以研发项目带动师生科研发展的人才培养新途径,联合培养双师型教师。
3 软件工程实践教学采用的主要方法(The main method of the software engineering practice teaching)
软件工程实践课,包括课程实验、课程设计、项目实训和毕业设计等实践环节。
3.1 实例教学
在教授理论知识时,传统方法过度的在讲授枯燥的理论知识,学生没有实际的工程项目的经验,根本无法理解软件工程课程里的内容,在软件工程课程理论课上教师要通过典型的软件项目实例来讲解理论知识,将实例贯穿于教学环节,模拟软件工程项目场景,启发学生分析问题、进行方案设计,在项目案例讲解过程中抽象上升为理论知识,理论知识又反过来指导项目案例。
3.2 实验教学
相对于计算机科学与技术专业,软件工程专业更强调实践性和工程性能力的培养,这都需要在实践环节中培养,因此实验与实践教学是软件工程专业教学的重要组成部分,其实施质量对专业教学质量具有举足轻重的影响。软件工程专业可以构建“课程实验、课程设计、毕业设计”三级实验体系[4],三级实验体系粒度从细到粗,从具体到综合。教师需要设置好实验环节的内容、形式,实验课和课程设计时采用商业软件的开发模式,以实际项目和企业正常运作时人员的分工配合来进行实验教学,理论指导实践,实践强化理论,将系列的实践课程提升到工程项目训练,实际软件工程项目贯穿同步理论课的知识,让学生从需求分析、总体设计、详细设计、编码、测试到项目交付和管理维护等完整的软件开发过程进行系统实践学习,这样学生在一个真实的场景中实践,亲身体验并进行反思,只有实际操刀了,学生才能理会并掌握完整的软件开发流程、软件开发技术及软件开发方法。实验时以小组形式开展工作,四五个学生为一组,每组由组员推荐或自荐一位组长,负责协调、分工,组员在小组长的协作领导下完成项目的开发过程。项目驱动实验的软件工程实践教学可以帮助学生建构良好的软件开发认知模式并培养一定的软件工程素养[5]。在学生毕业前,开设项目实训和毕业设计,旨在培养学生的综合实践能力,通过这样的手段学生能比较真切地理解软件工程理论知识并掌握软件开发过程。通过实验,掌握一个完整软件开发过程,及过程中的每一个阶段的任务、目标、方法、工具,并熟练使用一些CASE(计算机辅助软件工程)工具来提升软件开发效率,保证软件质量。通过集中性的课程设计、毕业设计训练,使学生逐步培养编程能力、算法分析设计能力、数据库设计能力,能够结合专业知识实现用户需求,形成产品意识而不是作业意识,培养团队交流协作能力、积累工程经验、提高工程素养。每一个阶段制定可衡量的、明确的目标,激发学生的学习兴趣、提高知识的灵活运用能力、创新思维能力、综合分析能力、系统设计能力等,为培养符合社会需求的人才奠定基础。最后通过毕业设计综合性锻炼,实现学生就业的平滑过渡。
在每一级实验过程中都采用“教师为主导、学生为主体”的原则,才有利于避免学生在学习上的依耐性、缺乏独立思考问题和解决问题的能力,因此要充分发挥学生的主体作用,运用教师的专业知识和项目经验言传身教地引领、启发学生学习、动手实践,不断引入新技术、新方法引起学生好奇心,激发学生探索学习欲望。教师需要动态地了解学生的接受能力,有针对性地因材施教、指导学生学习,让学生拥有自主学习、持续学习的能力,意识到自己学得会,也很有利于调动学生学习的主动性,只有这样,才能达到较好的实验课教学效果。在每一次实验后要及时地对本次实验加以分析和总结,通过本次实验遇到了什么问题?解决的方法是什么?实现了什么功能?还有哪些有待解决的问题?都要加以总结,并以报告的形式记录下来,有利于日后开展实验课程的教学。
3.3 社会实践教学
一个软件企业的正常运行需要多方面的人员协作与配合,如财务人员、开发人员、配置管理员、质量保证员、数据库管理员、网络维护工程师、系统架构师、软件测试人员、管理人员等,在学校里学生难以体会到一个软件开发过程中除编码测试人员之外的其他岗位的职责和特性,学生只有真正进入企业才能体会并有机会实践这些岗位。社会实践教学可以通过校企合作的形式,也可以鼓励学生自己去找实习单位,学生可以根据自己的兴趣和个人发展方向来自由选择角色,完成不同的任务,教师和公司导师给予引导。社会实践教学是一次综合性的实践活动,是学生走向社会的开始,通过社会实践教学活动,使学生能够逐步认识综合利用所学的专业知识,培养软件开发的技能,深刻体会企业软件开发与学习过程中编写软件的不同、软件工程各阶段角色任务管理和开发知识,提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实的基础。
学生进行社会实践教学活动时,严格按照企业的规定,执行、考勤、日志、总结等实际工作环节,广泛使用协同开发平台,使学生规范化、有序进行社会实践活动。
4 结论(Conclusion)
通过对几年软件工程课程教学的思考和总结,以及调研一些其他院校软件工程课程,提出了三本院校中软件工程实践教学存在的问题以及软件工程实践教学改革的必要性,从课程教学计划的制订、实例教学、实验教学、社会实践教学等几个方面给出了切实可行的建议,同时这些建议也可为其他课程提供有意义的借鉴。
摘要:结合国家对软件人才的需求,针对软件工程专业实践教学现状,分析了三本院校软件工程实践教学的问题,针对应用型人才培养的目标,该文从课程教学计划的制订、实例教学、实验教学、社会实践教学几个环节进行了研究,提出了相关的实践教学理论及改革措施。
实践教学软件工程 篇5
[摘 要]基于CMM核心理念,设计三个由简单到复杂的软件小项目,在软件工程实践教学中应用,分析应用过程中所收集到的数据。分析表明,逐步引入CMM核心理念的实践教学方法可以协助学生更好的理解和掌握软件工程的基本概念与基本原理,可以提升学生掌握相关的基本技能的效率,可以提升学生的软件组织开发能力。
[关键词]软件工程 课程改革 CMM 案例教学
[中图分类号] G642[文献标识码] A[文章编号] 2095-3437(2015)07-0132-02
在《软件工程课程改革和实践——基于CMM核心理念》[1]一文中,对CMM的核心理念进行了分析,提出了一个将CMM的关键过程域的活动融入软件工程的教学实践的循序渐进的案例教学方法,给三个级别的关键过程域分别设计了一个典型的软件实践项目。本文主要是描述这种教学方法在教学实践中的具体应用,分析学生在理解和掌握一些软件工程基本要点过程中的变化。分析表明,采用逐步引入CMM核心理念的实践教学方法,不但可以协助学生更好的理解和掌握软件工程的基本概念与基本原理,而且可以提升学生掌握相关的基本技能的效率,对提升学生的软件组织开发能力也有帮助,从而能够很好地达到软件工程实践课程所要求的教学目标。
一、循序渐进案例教学法简述
针对初始级过程域[2],安排了学生信息管理系统的设计;针对可重复级过程域[2],安排了学校图书管理系统的设计;针对定义级过程域[2],安排学校教学管理系统的设计。这些系统所需的领域知识对于一般学生来说都能基本满足,系统的实现所需的技能学生基本满足,但系统需求以及系统实现的难度逐步增加。每个阶段安排一个系统设计,每个系统设计由一个小组承担。这次实践参与团队为软件工程专业的一个班级,共52人,分为七个小组,每个小组6-8人,每一组设一个组长。
具体内容描述如下。
二、初始级实施情况
初始级选择的实践项目是“学生信息管理系统”。老师将“学生信息管理系统”的需求陈述发给各小组,要求他们在4个星期内完成该项目,并上交完成此项目的代码和文档,但不对文档做任何要求,完全依靠学生自己在此之前所学知识和实训经验来完成此项目。
在第1周到第4周的开发过程中,大部分小组成员在QQ群中抱怨项目太难,有一些学生问了一些问题,一般都是开发环境方面的,也有一些问题是有关需求的。教师有时候到现场指导,发现各个小组的成员在一起讨论问题的很少。第5周结束时,各个小组都提交了可运行的程序代码。
在对各个小组完成的程序进行评审时,发现以下问题:没有一个小组能够完全正确实现项目的要求,大部分小组只实现了简单的功能,程序运行过程中经常异常退出;在检视项目代码时,发现代码编写得千奇百怪,没有统一的风格,没有任何注释,阅读起来很困难;不少小组的代码只是由个别人完成的,其他成员参与程度低;学生反馈代码经常需要反复修改,总是稳定不下来;而有些小组只有代码,没有任何设计文档。
老师对这些问题进行分析和点评,指出软件开发是一个复杂过程,需要采用科学的工作方法,然后给大家讲解为什么需要软件工程,软件工程的基本概念和CMM的基本概念是什么。然后分析CMM中可重复级别的关键过程域的KPI;分析如何通过需求管理去分析和管理用户需求,如何开发出来满足用户需求的产品;分析如何通过软件项目计划去分配和调度人力资源;分析如何通过项目跟踪去监控整个项目的进度,当进度出现问题时如何跟老师和团队成员沟通调整;如何构建一个统一开发平台对团队成员的开发代码进行管理。最后重点强调项目开发不只是编写代码;重点强调需求分析文档、概要设计文档、项目计划、测试计划的重要性;重点强调团队合作的重要性。
三、可重复级实施情况
可重复级选择的实践项目是“图书管理系统”。老师将“家庭财务管理系统”的需求陈述发给各小组,要求他们在4个星期内完成该项目,并上交完成此项目的代码和文档,对文档的规范性和编程的规范性提出了严格要求。要求每小组配备一个需求管理员,负责管理和跟踪用户的需求;配备一个配置管理员,负责开发环境、代码和文档的管理;配备一个测试人员,负责系统测试。跟学生强调分工和协作的重要性。
在第1周到第4周的开发过程中,最初,大家主要是熟悉文档编写工具的使用,然后主要精力是花费在文档编写方面。在文档编写时,许多学生感觉非常艰难,提出了许多问题。在代码编写阶段,许多小组感觉文档指导作用不大,需求管理员和配置管理员经常搞不清自己要做什么,有部分学生插不上手。第5周结束时,各个小组都提交了可运行的程序代码和开发文档。
在对各个小组完成的程序进行评审时,系统的质量比第一期有所提升,但还存在以下问题:文档的质量较差,没有一个小组能够完整写完开发文档,大部分小组只是简单的书写了需求文档和概要文档,各个阶段的文档之间的关联性较差;软件功能不够完整,测试也不够充分,演示过程中出现了不少故障;代码质量还有较大提升空间,阅读起来还是不够清晰。
在对各个小组完成的程序进行评审时,发现以下问题:虽然都完成了开发任务,但是没有一个小组能够完整写完开发文档,大部分小组只是简单的书写了需求文档和概要文档,软件出故障时候不易维护的情况。开发过程遇到文档描述不清晰时常需要从需求分析做起,增加了开发风险。程序有BUG时候,找到问题所在需要耗费很多时间。
老师对这些问题进行分析和点评,指出选定开发模型之后,下一步工作就是要想办法盘活整个团队,然后按部就班做好开发模型中所规定的各种任务。盘活整个团队,需要对团队成员进行培训。想要完成各种任务,需要对各个环节的产出物进行评审。最后,老师分析CMM中可定义级别的关键过程域的KPI;分析如何根据项目的需要去制订培训大纲,从而用这个培训大纲去指导整个项目组的培训;分析阶段性产出物评审的重要性,提出可以在各个小组中选出那些较为优秀的学生作为一个评审团队;强调编程规范、文档规范、设计模式的重要性。
四、可定义级实施情况
可定义级选择的实践项目是“教学管理系统”。老师将“教学管理系统”的需求陈述发给各小组,要求各个小组按照可定义级的关键过程域的要求开展相应的活动,重点放在培训大纲、培训计划和同级评审方面。完成该项目时间为4个星期,并上交完成此项目的代码和文档。
在4个星期的开发过程中,开始时,许多学生抱怨培训和评审花费时间过多,也抱怨评审专家提的建议过于繁琐、文档规范要求过严。因为需求文档、测试计划和设计文档经过多次评审才过关,也花费比原来预想多的时间进行了培训和讲解,需求分析阶段和设计阶段花费时间是原来计划的三倍,设计完毕之后已经没有时间进行编程了。为了得到最终的系统,老师另外给出4周时间进行代码实现和系统测试。最后的这两个阶段各小组进展得比较顺利,心情也比较愉悦。第8周结束后,各个小组都提交了可运行的程序代码和基本完整的开发文档。
第9周对各个小组完成的系统进行了评审,各个小组实现的系统界面美观,功能完整,运行错误发现较少,有个别项目组做得非常好,只有两个项目组发现的错误较多。在评审后,老师给学生提出这样一个问题:为什么我们完成项目比计划时间要多1倍?大家反馈意见不一,但主要集中在这几个问题上面:经验不够;不知道如何计划各个阶段的时间;没有想到编写需求分析文档和设计文档需要这么多时间;没有想到要讨论清楚一个问题或者培训一个新技术需要这么多时间。
老师针对时间计划问题以及各个开发阶段时间问题进行了分析,指出CMM第4级可管理级所增加的活动就是制订针对项目质量和开发效率的目标,收集、测量相应指标;利用统计工具分析并采取改进措施,从而达到对软件过程和产品质量有定量的理解和控制。老师强调想要达到CMM4级目标,必须收集到足够的开发活动数据并进行合理的分析和利用,才能制订较为准确的开发计划,这个需要学生以后在工作岗位中努力。
五、结束语
本文所描述的循序渐进案例教学法使CMM的核心理念通过三个典型的小项目逐渐展开,有利于学生理解和掌握软件工程课程的基本要点,提升了学生的综合知识运用能力,提高了学生的沟通能力,也促进了学生参与项目开发的积极性,提升了他们从事软件开发职业的信心。下一步我们将考虑为那些优秀的高年级学生设计一个CMM可管理级别的实践项目,在该项目中将对开发效率和软件质量提出更高的要求。
[ 注 释 ]
[1] 文勇,蒋小文,刘春涨.软件工程课程改革和实践——基于CMM核心理念[J].大学教育,2014(11):99-100.
[2] 美国卡内基梅隆大学.能力成熟度模型(CMM):软件过程改进指南(英文版)[M].北京:人民邮电出版社,2002.
软件工程课程教学的研究与实践 篇6
软件工程是为了解决软件开发过程中出现的软件危机而诞生的,是一个集管理科学、心理学、经济学、人机工程学等多门学科为一体的综合性交叉学科。目前,《软件工程》是计算机科学与技术及相关专业教学计划中一门专业必修课,是指导计算机软件开发与维护的综合性和实践性均很强的课程。根据培养应用型信息技术人才的需要,本课程的任务是要求学生通过系统学习软件开发的过程、工具和方法,掌握软件开发的技术,从而具备从事计算机系统开发及维护的初步能力,为更深入地学习和今后从事软件工程实践打下良好的基础。因此,如何在高校中实施该课程的教学,使学生能适应IT行业需求的问题亟待解决。
2 存在的问题
2.1 现有教学内容陈旧,与最新发展相脱离
软件工程是一门发展极为迅速的新兴学科,技术发展日新月异,内容更新变化快,大量的新理论、新方法和新技术层出不穷,知识点更新速度超过现有教材的更新速度。如何使教学内容保持先进,紧跟学科发展,是该门课程教学另一个需要重视解决的问题。
2.2 内容抽象枯燥,使学生失去兴趣
对于基本上没有大型软件开发经历的学生而言,单纯地讲授一些理论化的经验训导使他们感到枯燥无味,很难真正理解其中的精髓,如何将这门课上得生动实际,调动学生主动学习探索的兴趣,真正从中有所获益并在未来的工作实践中有深刻感悟,成为软件工程教学中必须重点解决的一个问题。
2.3 传统的偏静态灌输式的教学方式无法满足课程教学要求
学生很难从单纯的讲授知识中学会软件工程,如果没有实际的开发案例、互动交流和动手实践,这门课程很有可能成为一种说教。如何改革课程的教学模式,使灌输式讲授变为案例式互动,可以调动学生的学习热情,激发学生更高层次的需求。
2.4 现有的课程实验设计与软件工程的实际要求存在较大差距
目前,有相当一部分高校中所谓的软件工程课程实验是在一个缺少软件工程支持的开发环境下进行的,缺少适合教学使用的规范和工具支持,甚至没有开设课程实验这一环节,学生根本得不到真正的实践训练。如何营造一个适合软件工程课程实验项目的软件工程环境,是软件工程实践教学取得良好效果的关键。
3 教学的建设
在分析软件工程课程教学中存在的一些主要问题的基础上,针对普通高等院校,特别是地方高等院校的实际情况,以高级应用型人才培养目标为依据,结合作者多年从事软件工程教学与科研的实践经验,在软件工程课程教学体系、教学内容、教学模式、教学资源、课程实践等方面进行了深入的研究和探索。
3.1 构建新的课程教学体系
在分析该课程特点的基础上,确定《软件工程》课程教学体系由课堂教学、课程实践教学及辅助教学活动三部分构成(如图1所示),各部分有机结合,相互联系、相互作用形成一个有机整体,提供一个可以有效地激励学生的学习动机、提高学生学习的积极性的多媒体教学环境。
3.2 及时更新教学内容,适应计算机技术的发展
教学内容的组织应根据专业的教学要求精选授课内容,注意传统与现代相结合,不断吸收有关最新计算机发展成果及时更新教学内容,不要拘泥于教材的限制,着重介绍面向对象方法、UML建模技术、基于构件的方法、软件项目管理与软件过程改进等知识。课程内容按照模块化组织方式,涵盖软件工程教育知识体系SEEK,符合IEEE-CS/ACM联合推出的CCSE2005的教学要求,保证教学内容的科学性和系统性。
3.3 改革教学方法和手段,探索并实践了新的教学模式
本课程组以教师为主导,学生为主体的现代教育思想为指导,综合运用启发式、案例教学等多种教学方法,建立“传授—案例—扩展—演练—考评”的五段式教学新模式。
“传授”中,采用情景教学、启发式教学、交互式教学等多种策略,以激发学生的学习兴趣、调动学生主动性和积极性,促进学生自觉地学习,让学生系统掌握整个知识体系;运用“案例”激起好奇心和引发应用和创新的动力,同时对于《软件工程》实践性极强的课程,软件开发的典型案例是帮助学生掌握软件工程方法,进行软件开发的最好范例;引导学生自主学习“扩展”知识面和建构自己的新知识,如在教学资源网站上的“业界动态”发布了行业相关信息和“相关资源”栏目给出了丰富的课程教学扩充资料;在项目“演练”中综合应用强化创造,以“项目驱动”的方式精心组织和设计了课程设计这一实践教学环节,培养学生的软件工程实践能力和素质;通过综合“考评”合理评定出学生的成绩。
3.4 构建立体化课程教学资源环境
若没有丰富的相关教学资源的支持,将不利于促进学生多面性思考,不能满足学生的个性化需求。建立课程教学资源网,开发课程网上教学平台,为学生提供电子教案、多媒体课件、案例分析、习题作业、实验指导、相关学习网站链接等丰富的网上教学资源,同时提供作业提交、教学论坛、在线自测系统和在线答疑等,扩充了课堂教学的区域,学生可以在任何时候、任何地点进行互动学习,及时解决学生学习中的疑难问题,打破教学时空限制,构建以学生为中心的自主学习环境。
3.5 建立了较完善的课程实践教学体系
“软件工程”的学科和课程特性就是“工程性”。因此,“软件工程”课程把实践教学放在重要位置。“软件工程”课程的实践效果如何,直接关系到本专业学生培养的质量和效果。
实践教学可以由“课内实验”和“课程设计”两个实践教学环节构成。其中课内实验是以教师为主学生为辅的实践活动,是对软件生存周期各个阶段所设计的CASE工具进行练习,把软件工程的概念和理论知识融入到实践当中,以掌握软件开发中各阶段的技术、方法和工具的基本使用方法,为课程设计的实施提供支持。
课程设计是以学生为主教师为辅的实践活动,是一项综合性的工程设计型实践,按照“案例导向、项目驱动”的设计思想,以项目开发带动软件工程的理论学习,又以软件工程的理论来指导软件开发的实践。课程设计主要内容是模拟软件企业的软件项目管理和开发过程,要求学生组成项目开发小组(分配不同的工作职位角色给学生,以适应不同学生间的个人爱好和特长),通过对一个完整项目开发的全过程实践,其目标是培养学生综合性的软件工程能力。在实施上采取与课程理论教学同步进行,分阶段实施,与课内实验相结合。
此实践教学模式,充分激发学生的成就感和自主学习的积极性,并在此基础上强化学生的实践意识、提高解决问题的能力,是培养学生进行探究性、协作性学习和团队精神的最好方式,同时也拉近了学校与企业之间的距离。
3.6 改革课程考核方式
《软件工程》课程考核的重点是学生掌握软件工程的理论进行软件开发的实际能力及创新思维能力。根据这一思想,改革考试方法,课程成绩由四部分组成:理论考核占40%、课内实验考核占10%、课程设计考核占30%、平时考核(作业、考勤)占20%。软件工程课程考试中的笔试中注重考查学生综合运用理论知识的能力和方法,即考核学生对软件工程思想和软件开发方法的实际掌握程度;课程设计的成绩考核是从整个项目小组和个人两个角度出发根据水平和工作量进行评分,其中小组成绩由小组各阶段成绩的平均值与完成的项目的最终验收情况(包括系统是否达到需求规格说明中的功能性、非功能性要求,文档是否全面、合理、规范等组成),其目的是为了让学生体会到软件开发中团队合作的重要性,个人成绩是由教师根据小组各个成员的答辩成绩来评定,答辩内容为小组成员在项目开发中所完成的任务,其中,评定项目责任人个人成绩时,还应考查其项目开发的组织管理能力。实践表明,采用此考核方法提高了学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,特别在基础技能、团队协作、人际交流、项目规划几个方面明显具备较强的能力。
4 结语
为适应IT行业的需求,急需改进软件工程的课程教学,应针对其工程实践性强、发展迅速的特点,不断更新教学内容,设计合理的教学模式,改进教学方法与手段,理论与实践相结合,在突出课程基本理论和要领知识的同时,更侧重于对学生的软件工程应用能力的培养,要求学生从真正工程师的角度来分析问题和解决问题,这样才使学生有可能成为未来优秀的软件工程师,以满足IT行业的需求。
摘要:为适应IT行业的人才需求,在对软件工程课程教学中存在的问题进行分析的基础上,从软件工程的课程教学体系、教学内容的更新、教学模式、课程教学资源建设、加强实践环节及课程考核等方面进行了教学改革的实践探索。
关键词:软件工程,课程教学,教学模式,教学改革
参考文献
[1]陈晓兵,张永军,等.面向学生主体和项目驱动的软件工程教学模式研究[J].计算机与信息技术,2007,12:105-106.
[2]王志和,等.软件工程课程教学改革的探究[J].电脑知识与技术,2006,8:211-212.
[3]彭鑫,赵文耘,钱乐秋.软件工程实验教学研究与实践[J].计算机教育,2007,10:15-17
实践教学软件工程 篇7
1《软件工程》课程实践教学的目的与要求
《软件工程》研究的是以工程化的理论、思想、方法和技术为指导开发较大规模软件系统的学科,通过实践教学,使学生掌握软件项目自分析、开发到维护的一般过程,掌握软件开发的传统方法和最新方法,能用软件工程的方法参与软件项目的分析、设计、实现和维护,为更深入地学习和今后从事软件工程的实践打下良好的基础。同时,还能让学生在工程能力、系统能力、实践创新能力、规范化工作能力、沟通能力、表达与文档写作能力等各个方面都得到锻炼培养。
2《软件工程》课程实践教学中存在的主要问题
1)教学观念方面:目前,很多高校《软件工程》课程实践教学仍采用以教师为中心、强调知识传授、把学生当作知识灌输对象的传统教学模式。即在实践教学中主要是设计一些验证型实践项目,把每次上机实践的内容、步骤,甚至是预期的实验结果都事先以指导书的形式分发给学生,便于学生按照指导书的要求和步骤进行实践练习。这种以继承为中心的教育,旨在传授已有知识和方法,强调知识的记忆、模仿和重复练习,极大的束缚和压抑了学生的创新精神和意识,使他们放弃对问题的理解和探究,失去对学习的主动性。
2)教学内容方面:《软件工程》课程实践教学内容安排上,以验证型实验项目为主,学生按照指导书中内容和要求完成每次的实验内容,由于内容抽象、琐碎、庞杂,涉及很多概念和技术,这些内容都是纯粹的理论知识,难于理解和接受,课程丰富的工程实践经验要求与学生缺乏工程体验之间的矛盾突出。另外,在实践教学中实验项目的组织和安排上不够连贯,没有连续性,同时缺乏实例教学,学生理解困难,使得教学效果很不理想。
3)教学手段和方法方面:目前,由于《软件工程》课程的实践教学以验证型实验项目为主,缺少对学生以综合型设计性实践项目的训练,不能以团队的方式共同完成一个较大的开发项目,缺乏团队协作,这也就使得学生对软件过程的体验不够深入,更谈不上深刻,无法达到预期的教学效果。
3《软件工程》实践教学改革的探索与实践
3.1 改变教学观念
要培养合格的开发型、创造型人才,教师首先必须树立现代化的教育观,把“以课程为中心”“以教师为主体”的传统教育观转变为“以能力为中心”“以学生为主体”的新的教育观。这就要求我们教师在设计实验项目和制定实验指导书过程中,多以综合型设计性实验项目为主,即使是在验证型实验项目中,也尽量给学生留有思考和创新的余地,实验步骤可以只是给出一些提示,实验结果也不是唯一的。比如在教学管理系统的需求分析实验中,可以给学生提示该实验要完成问题定义、可行性分析、数据流图设计、数据字典设计等步骤和内容,而在实验结果上,可以让学生通过查阅资料、访问、调查等方式获得用户需求,从而完成需求称述和问题定义,以此设计出的数据流图和数据字典也就不拘一格,但只要是合理的,都是正确的。所以,教师应该清醒地认识到,教育不应该仅仅是训练和灌输的工具,更重要的是发展认知的手段。教师在帮助学生认知的过程中,要引导学生积极参与,重视每个学生的主动性和创造性。实践教学中,通过让学生查阅资料、访问、调查来逐步引导学生掌握解决问题的方式方法,让学生直接参与探索,而不是按照指导书中的步骤和要求进行实验,充分发挥学生的主观能动性,开发学生的创新能力,使学生在项目实践中有成就感。
3.2 更新实践教学内容
《软件工程》课程实践教学目的是随课程进展布置可行性分析、需求分析、总体设计、详细设计、编码、测试等任务,训练学生的分析能力、开发能力、组织能力、表达能力,以及培养团队精神。在设计《软件工程》课程实践教学内容上,改变以前以验证型实验为主的方式,可以用一个较大的系统开发项目贯穿整个实践教学过程作为实践教学内容。具体操作上,我们还可以把这个系统开发项目分解为几个实验项目,但它们具有连续性和可操作性。比如在最新一版我校修订的《软件工程》教学大纲中,该课程的实验是开发一个学生成绩管理系统,分解为两个实验项目,第一个是学生成绩管理系统的需求分析,第二个是学生成绩管理系统的设计与实现。在实验过程中,培养学生以下几个方面的能力:1)系统能力。学生在项目开发实现过程中,能够系统而全面地完成由现实到抽象,再由抽象到设计,由设计到实现的转换,同时强调这种转换的系统性和全面性。2)工程能力。软件工程各环节实践中,对学生从需求分析、可行性分析、需求分析、总体设计、详细设计、编码、测试到维护进行全面训练,让学生实际体验各环节工作特点、理论、方法、技术和过程。3)规范化能力。软件工程要符合相关国际标准,必须具有一定规范性,如ISO-9000标准及软件质量认证,实践中,要求学生经过系统规范的训练,理解并自觉运用软件工程规范标准。4)实践创新能力。学生在项目开发实现过程中,注重培养学生创新性思维,并能够将创新性思维反映到其所进行的项目中加以实现。5)沟通、表达与文档写作能力。学生要善于与合作者及客户进行沟通,并能正确而恰当地表达自己的思想,同时能规范地完成相关的文档写作,能够利用业界普遍采用的相关工具来进行表达。6)领导能力。实践教学中,布置系统项目开发案例,将学生划分为若干组,分工合作,共同完成该开发项目,通过设立项目负责人和课题组长,并在不同的项目中轮流交换和交流,培养学生的领导能力和组织能力,为今后学习和工作中实施大型软件工程项目奠定基础。7)团队精神。团队协作精神在软件开发中占有十分重要的位置,良好的团队协作和沟通机制是项目成功的关键,通过构建开发团队组织架构,让一个团队共同完成一个较大实践项目,从而培养学生的团队精神和合作意识。
3.3 改革实践教学手段和方法
实践教学并不是把实验内容和实验要求布置给学生后,让学生到实验室完成实验内容,最后上交实验报告这么简单。在实践教学中,我们做了下面几方面探索和实践:1)应用案例教学。《软件工程》本身就是一门实践性很强的课程,系统开发案例在教学中的使用不仅能让学生直观体验软件工程模块化设计、人机界面设计等的设计效果,更重要的是它能拓宽和启发学生的设计思路,通过案例的剖析使学生掌握和应用软件工程的方法、技术和原理。2)让学生上台讲解。由于将项目分组,采用团队合作的方式进行实践设计,在每个小组项目开发完成之后,让每个项目组成员对自己的项目面对全班同学和老师进行报告,让同学们评论。报告时,每个组中的成员都要上台,都需要称述自己在项目中担任的角色,以及在项目中所负责设计的是哪些内容和模块,更重要的是,对一些技术性较强的模块设计和开发部分,可以详细讲解自己的设计思路、心得和创新之处,供同学们分析讨论并借鉴。通过这种方式,不仅锻炼了学生的上台讲解报告的能力,还可以通过这种讨论的方式来拓宽学生的设计思路,让他们找到自己在项目中设计的不足之处,以便以后加以改进。3)学生项目作品验收。学生完成实验后,并不是只是上交实验报告,教师给定实验成绩就完了,而是教师需一个一个的要对每个组的项目进行验收。验收过程中,小组的所有成员都需要到场,不仅要演示所设计的软件系统各功能模块,还包括设计过程中可行性报告、需求分析说明书、概要设计说明书、用户手册等文档的写作是否规范和完善。同时,还需要回答老师随时可能提出的问题,以便检验项目中的成员是否都参与了开发设计工作。通过项目验收,不仅能促进学生设计和开发的积极性,更重要的是能督促每个同学都能参与项目的整个过程中去,而不是由项目中的某几个成员完成。
《软件工程》课程的实践教学改革是一项长期而艰巨的任务,其实践效果如何,直接关系到本专业学生培养的质量和水平。实践教学中要始终牢记学生是主体而教师是主导的原则,通过改变教学观念、更新实践教学内容、改革实践教学手段和方法来充分调动学生学习的兴趣、学习的主动性和积极性,从而提高学生的动手能力以及分析和解决问题的能力,培养学生软件工程软件过程各环节的能力,只要我们能够重视并抓好实践教学中的各个环节,就能取得理想的教学效果。
摘要:该文在分析软件工程实践教学中存在的问题的基础上,结合软件工程课程特点和本校实践教学研究,就实践教学内容,实践教学手段和方法等方面进行了探讨。
关键词:《软件工程》,实践教学,软件过程
参考文献
[1]张海藩.软件工程导论[M].北京:清华大学出版社,2008.
实践教学软件工程 篇8
随着网络和计算机技术的飞速发展,各行各业信息化建设的主要内容已逐渐发展为软件设计与开发,而且,软件的规模和复杂性日益增加,这就使软件开发过程规范化变得越来越重要,并被越来越多的软件开发企业所关注。软件企业要求软件开发人才要懂得软件的规范化开发。软件开发企业对计算机相关专业毕业生的普遍认识是所学专业知识难以与IT发展需求同步,学生没有自己的优势,并且实践动手能力不强,这样就导致软件企业聘请不到合适的软件开发人才,而毕业生又难以找到合适的工作。
软件工程课程主要从基本原理、开发方法、开发工具等几个方面来讲述了软件开发的全过程,是高校计算机相关专业的重要专业课。但是在软件工程实际教学过程中,软件工程课程教学效果并不令人满意,教与学的付出和收获没有成正比,难以实现该课程的教学目的和达到预期教学效果。本人结合几年该课程教学经验,对软件工程课程的教学内容、教学方法、教学手段、考核方式等内容进行研究,结合教学实践提出了一些提高教学质量、培养学生工程实践能力,满足用人单位人才需求的方法。
1. 传统软件工程教学中存在的问题?
软件工程是一门理论性、实践性、工程性都很强的课程,传统教学方法在理论上和实践上都存在很大问题。一方面,很多高校软件工程课程的教学方式仍然以教师课堂讲授为主。因为很多教师不具备实际项目经验,或实际经验已经过时,因此往往仅强调理论教学而忽略实践操作,而对于不断涌现的新技术、新方法、新工具,理论教材的更新又非常迟缓。另一方面,因为学生没有实际项目开发经验,对理论知识不能很好理解,不知如何应用所学知识,甚至觉得这些理论知识很枯燥,进而失去了积极的学习兴趣。这就导致学习完这门课程后,学生在进行软件开发时会遇到很多问题,无法独立面对一个完整的软件项目开发,这样的毕业生是无法用人单位需求的。
2. 改进教学方法,培养学生的工程实践能力
2.1 与时俱进的教学内容
首先,应该抛弃以讲授传统软件工程方法作为教学重点的老式教育,不断调整教学内容,重点讲述面向对象软件开发方法,适量增加讲解UML、RUP、极限编程、SOA等当前流行技术以及其他新技术,教师要在保证学生掌握软件开发核心思想的同时,不断拓展学生的知识面,完善他们知识结构,增强学生的市场竞争能力。
在教材的选取上,因为国内的大多数教材在内容选择、案例选取和图的表示方法上会存在一定的问题。因此在实际的教学中,不能单独完全依赖于一本教材,而是应该综合多本教材,特别是参考一些国外优秀的软件工程教材,及时调整教学内容,取长补短,否则,教学内容将严重滞后于软件开发技术的发展。
2.2 灵活多样的教学方法
在教学过程中,要多种教学方法并用,避免单一的教学方法,提高学生学习积极性,增强教学效果。因为软件工程理论性、工程性和实践性强的课程特点,可以采用案例教学法、项目驱动教学法、启发式教学法等多种教学方法,充分发挥各种教学方法的特点和优势,进而能够更好地提高学生的工程实践能力。
1)采用案例教学法,树立软件工程理念,调动学生学习积极性
将案例教学法贯穿于软件工程理论教学的全过程,不仅在课堂上通过讲解案例来讲解软件工程的原理和方法,而且还让学生自己来参加案例的分析过程,教师在讲解时经常组织学生进行小组讨论,鼓励学生在案例讨论中提出问题,并指导学生阅读和查找相关资料,以培养学生的自主和主动学习能力。
在教学案例的选取上要贴近学生生活,选取的案例不仅容易理解又能涵盖教学内容,选取的案例应该是一致的和连续的。我们选取了学生熟悉的图书管理系统作为案例,通过该案例可以使学生掌握一个具体系统从需求分析、软件设计、开发到实现的全过程。在教学过程中,采用学生和教师互动式方法,这样使教师的讲授更加清晰,学生的理解更加深刻,调动了学生的学习积极性。
2)采用项目驱动式教学法,学生参与软件工程开发全过程,培养工程实践能力
在实践教学中,教师以一个典型项目为核心,将每个知识点分散融入其中,贯穿于实践教学的始终。项目被教师分解成一个个子项目,每个子项目作为一个案例进行详细的剖析。教师将每个子项目作为一个个任务下达给学生,学生根据任务要求完成相应的任务,实现一个个功能模块,然后将任务模块集成为一个完整的项目。以项目为主线,教师指导学生“驱动”?完成每个任务。“项目驱动”学习法,激发了学生的学习兴趣,培养了学生的团队协作能力,可有效的提高学生的工程实践能力。
3)采用启发式教学法,培养学生独立思考问题、解决问题能力
在课堂教学中,采用启发式教学方法,尽可能地避免满堂灌,给学生独立思考的机会。例如:在介绍软件开发模型时,讲师只介绍每种模型的基本原理,模型的优缺点让学生思考和引导学生来分析出模型的优缺点。然后再引导学生分析该模型适合哪种类型的软件项目开发,从而对各个模型进行比较学习。在整个过程中,学生一直参与思考和分析,能够加深学生对知识的理解和掌握,培养学生独立思考问题、解决问题能力。
3. 教学手段多样化
教学手段不拘泥于传统的方式,而是采用多样化方法。不仅使用黑板、多媒体、项目演示等传统教学手段,而且充分利用“软件工程网络课程”来扩展课堂教学,学生和教师的交流和答疑可以在网上进行,这就使教学方式由有限学时变为在读期间的全程教学。
4. 课程考核多样化
软件工程课程的实践性强,课程考核的重点不应该重理论而轻实践,而是应该加大实践考核的比重。教师对于在实践中表现良好的学生给予加分奖励和充分的肯定。这样,就可以充分调动学生在课程上的主动参与性和学习积极性,培养了他们独立思考问题、解决问题能力和创新意识。在理论考核中增加设计性和综合性题目以及可以让学生可以自由发挥的题目,考查学生利用所学知识解决实际问题的能力。
5. 结束语
计算机技术的迅速发展和广泛应用,使软件开发过程规范化变得越来越重要,并被越来越多的软件开发企业所关注。软件企业要求软件开发人才要懂得软件的规范化开发,普遍要求学生要有工程实践经验,这就使得对该课程的教学也提出了更高的要求。因此,在教学中,教师要不断适应新形式,改革教学内容和教学方法、把握学生特点,探索有效的教学方式,培养学生的工程实践能力,确保教学质量的提高。
摘要:软件工程课程是理论性、实践性和工程性都很强的一门专业课。以培养学生的工程实践能力为目标,对软件工程课程的教学内容、教学方法、教学手段、考核方式等内容进行研究,结合教学实践提出了一些提高教学质量、培养学生工程实践能力,满足用人单位人才需求的方法。
关键词:工程实践能力,软件工程,教学改革
参考文献
[1]张晓龙,面向应用型人才培养的软件工程课程改革与实践[J],计算机教育,2010.3,10-13
[2]林惠强,刘财兴,林丕源,“软件工程”课程启发式教学的研究与实践,实验室研究与探索,2008,5,112-114
[3]赵辉,李万龙,郑山红,张丽娟,项目导向案例驱动的软件工程教学模式,计算机教育,2012.5,89-91
实践教学软件工程 篇9
关键词:软件工程,教学方法,案例教学,实践教学,主动式学习
《软件工程》课程是计算机专业和软件专业重要的基础课程之一, 软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护。软件工程同时也是一门实践性很强的课程, 要求学生掌握软件工程的基本理论和方法, 并将这些知识运用到软件开发的分析、设计、编码和测试等活动中, 同时培养团队合作能力和实践能力, 具备一定的分析与解决实际问题的能力和创新能力[1,2]。而软件工程的理论书籍是几代工程师在软件开发过程中经验和智慧的结晶, 需要读者具有一定的实践经验, 才能真正领会其中的精髓, 但是学生往往不具备这样的经验。因此使学生对软件工程的理论从感性上的认识变成理性的应用, 是教学中需要重点解决的问题。
1 现状分析
1.1 教学计划和教学时间的限制
软件工程涉及到计算机、经济学、管理学、工程学、市场学等多个领域的知识, 由于涉及内容太多、太宽, 使学生感到这门课中包含的知识非常丰富, 而且其本身还处于不断发展中, 这是本课程的突出特点[3]。而目前大部分的教学计划限制了课时安排, 由于对这种综合性强的课程因学时所限, 授课内容大量缩减, 学生不能有效地深入学习软件工程技术的知识体系。课堂讲授上教师往往只有简单的例子, 没有时间用项目背景去引导, 这样使学生在学习中因为知识的零散和抽象感到疑惑和迷茫。
1.2 学生自身素质的限制
在软件工程课程教学过程中, 我们发现由于学生此前只进行过程序设计的基础学习, 实际具有的项目开发经验极少, 学习抽象的理论时没有切身体会, 因此在对软件工程理论知识学习时感觉太抽象和枯燥, 没有真正的领会掌握, 当然不可能将理论付诸于实践之中, 在学习初始时, 相当一部分同学轻视理论知识的学习, 往往以为软件工程就是按照老师提供的模板或案例样本编写出一系列的文档应付了事。
1.3 教师本身素质的限制
当前学校的老师几乎都是全职教学型, 又是研究生毕业直接从事教学工作。极少实际参与大型项目, 没有实际主持开发商业软件项目的实践和机会, 因此也不具备大型软件的开发经验, 因此在《软件工程》课程的教学过程中, 也是针对理论讲理论, 不能将理论知识和实践有机结合起来, 特别是一些原理的细微精妙之处, 不能讲深讲透, 对软件工程课程的整体把握上有力不从心的感觉。而且学校只鼓励青年教师去高校进修、攻读学位, 不愿派遣教师参加软件工程方面的培训。
1.4 学校和社会环境的限制
在学校里, 学生主要是通过教师课堂讲授为主、实验室验证辅助来完成学习知识任务的, 教师没有太多的计划和学时对学生进行综合性的培训, 更不可能抽出整段时间进行实际培训, 而且教学计划里软件工程的先导课如《程序设计》、《数据库原理》等各门课程的侧重点不同, 往往只注重本门课程的教学重难点, 使课程间不能顺利衔接, 这也是影响学生顺利进行软件工程课程学习的一个重要原因。而社会上的软件企业由于业务竞争和发展需要, 不愿过多接收学生的短期实习, 且对实习学生整体素质要求较高。
2 教学改进策略
2.1 教学体系优化
软件工程知识体系非常庞大, 包含10个知识域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法及软件质量保证[2]。目前我们学校的软件工程48个课时左右, 而理论讲授只有一半时间, 有限时间不能讲完整个知识体系, 所以我在教学过程中不是面面俱到, 而是重点讲授核心基础内容。以软件需求分析、软件总体和详细设计及UML建模为重点, 将软件管理、软件工程过程、软件质量保证等内容延续到下一个学期。
对于与软件工程衔接比较紧密的先导课程《C#程序设计》、《Java程序设计》等, 均强调让任课教师在课程结束时一定要有一个完整的大作业, 使学生扫清在本课程中程序实现时的基础障碍。
2.2 教学方式优化
如果教学方式以教师课堂授课为主, 限于照本宣科地抽象介绍一些基本原理, 教学内容一般是重理论而轻实践, 软件工程的理论知识是几十年软件开发人员的实践总结, 学生会由于自身实践的缺乏而对其认识不够深刻, 常常是课堂上听理论糊里糊涂, 实践中又不知如何运用。不能将软件工程的思想真正领悟。因此在教学过程中特别注意避免流于空洞的理论灌输, 在课堂上注意结合各种案例推进教学, 每个重要知识点都使用大量实际案例进行说明, 让学生不仅掌握理论知识, 也能了解它在实际中的使用方法和注意事项, 强调理论与实践并重的教学理念, 将课程安排分为课堂理论教学和课堂实践两大部分。前者使学生掌握软件工程的基本概念、原理和方法;后者着重培养学生综合运用这些知识开发实际项目的能力, 才能取得较好的教学效果。
2.3 实践教学优化
软件工程课程教学中重要的组成部分是实践教学, 我让学生以项目小组 (一个小组设一个项目经理, 4-5名组员) 的方式开发具有一定规模的系统, 而且是小组集体选择开发项目, 共同分析和解决在需求、设计及实现系统过程中出现的各种问题, 使学生认识到在实际软件项目开发过程中不仅需要程序设计知识, 还需具备沟通、协调和妥协等人文知识。
实践教学的软件开发我们将其划分成实验准备、分析和设计、编程测试和软件维护等几个不同阶段部分, 各自有不同具体要求:
1) 实验准备:在第一次实验课上, 学生自愿组建开发团队, 根据简单的软件问题描述, 选择准备开发的系统, 制定项目的开发计划, 规划所开发系统的整体功能要求。
2) 分析和设计:项目小组集体讨论, 初步分析要开发的系统, 结合教师的提示内容和自己搜集的相关领域知识, 完成软件需求说明书的编写。并根据软件需求规格说明, 设计系统的总体结构和详细模块划分, 然后再进行详细设计和模块开发。
3) 编程测试:小组的每个成员都有分配的模块, 要独立编写所有程序代码, 并同时进行测试和调试。
在课程实验设计上, 非常注重项目小组各成员的兴趣爱好特征的不同, 加强小组内部的沟通和配合, 也同时强调的小组组长的权威和管理能力。每位成员都各负其责, 分管一块内容, 使学生在一个规范的和可控的过程中完成实验项目的开发, 在需求分析、系统设计、模块开发、集成测试等关键阶段实行阶段评审机制。在课堂实践中, 让每个小组的文档负责人对自己的文档进行宣讲, 由全体学生进行评审, 严格控制项目开发进度, 保证按时交付最终产品。
实践证明, 这种教学方式使学生的学习积极性得到极大提高。由于任务分解到人, 而且实行的学生自主管理, 每个人都发挥了主观能动性, 积极思考, 互相热烈讨论, 珍惜每一次的上机时间。而且课堂上的文档宣讲和公开评审, 不仅是对小组工作的检验, 也能够提高同学们的口头表达能力和思辨能力, 也是同学们相互学习的一次极好机会。同学们也真正理解了以前学习的编程语言和数据结构和数据库的实际使用方法和应用范围, 反过来进一步促使他们更加自觉的学习相关知识, 学生的综合能力得到切实提高。
2.4 强调学生的主体地位
在项目开发过程中由于是学生开发团队自己选择项目, 自主管理, 自我监督, 充分体现了以学生为主体的教学理念。整个课程教学中, 教师对选择的示例要精讲, 讲透, 在教学前期, 时间精力会投入较多;进入开发过程中后就不要参与过多, 只在关键节点上起到画龙点睛作用即可。比如前期的需求分析, 教师可以充当客户的角色帮助提供系统需求, 在课堂评审时以主持人的身份正确引导等;
要充分认识到激发学生的兴趣是教学关键, 所以选择的案例既有通用的, 也有专业的, 大部分是学生能接触到的或者实际使用的系统, 利于学生接受和学习。另外, 我们非常重视让学生们参加到老师的科研项目中去, 系里教师们承担的省部级和院级项目里, 都要求有学生的参与, 做实际的在研项目对他们的学习有极大促进作用。
2.5 对教师的要求更高
要将《软件工程》课程教好、教活, 这种教学方法对老师提出了更高的要求, 教师前期的准备工作要非常充分, 从教学案例的选择、学生项目的选择和定期评审要占用大量的精力和时间。由于前述原因, 一般老师实践经验不足, 没有在企业工作过的经历, 所以教师在课余时间也要不断学习, 熟悉软件开发案例和相关的理论知识。
2.6 充分利用社会资源, 多方共同培养学生
如果有比较好的企业、学校的合作机制, 将企业中的一些实际业务作为项目让学生完成, 让教师作为技术和管理人员, 也可请企业的工程师们给学生进行项目教学, 这样就能让学生真正领会实际商业软件开发的步骤, 同时企业也可降低一部分开发成本, 达到企业和学校的共赢目标, 这方面, 我们与福建蓉基等企业达成初步合作意向。
3 结束语
软件工程的教学要能使理论教学与实践教学很好地结合, 能让学生从编程到软件, 从理论认识上深刻掌握前人总结的智慧结晶, 并将其主动、灵活的运用到自己的软件开发实践中去, 使学生最大限度地发挥自己的主观能动力, 从被动的要我学习转变为我要学习。采用这种综合的学习模式, 能使学生认识到当前的软件开发已经从要求个人能力向整体团体转化, 必须将自己融入到一个开发团队中去, 只有在一个和谐的团队里, 个人的软件开发能力才能得到真正全面提高, 才能让自己在实际工作中迅速施展才华, 得到企业和他人的认可。总之, 我们只有坚持以学生为主体, 紧紧抓好理论和实践并重的教学主线, 不断推进课程体系建设, 进一步探讨教学方法, 总结教学经验, 才能培养出符合当前信息社会需求的实用软件工程人才。
参考文献
[1]教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业核心课程教学实施方案[M].北京:高等教育出版社, 2009.
[2]蔡勇, 李菁芳.以“项目教学法”促进“软件工程”教学[J].计算机教育, 2007 (8) :13-15.
实践教学软件工程 篇10
[摘 要]为培养软件工程实用人才,提高软件工程课程授课效果,可以将传统理论讲授方式和情景Seminar教学方式相结合的形式用于软件工程课程教学中。其中,情景Seminar教学方式是结合软件工程课程特点提出的,包括分组研讨、主题报告、答辩评审三个内容。情景Seminar教学方法的应用,能有效地提高学生的阅读能力、表达能力,培养学生的独立思考、探索问题和解决问题的能力,增强学生的团队协作意识。
[关键词]软件工程;Seminar教学法;情景教学
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2016)02-0039-02
一、引言
软件工程是计算机专业的一门必修课,也是一门内容涉及面广的综合性课程,课程理论性强、内容抽象、晦涩难懂,学生学习兴趣不高,难以掌握。课程内容主要包括软件产品开发的理论、方法、过程、工具及一些实践积累的原则、经验等,不仅涉及计算机科学的相关知识,还融合数学、管理科学、社会学等多学科的知识,具有内容丰富、关系复杂、理论性和实践性强的特点。[1]
传统教学模式根据赫尔巴特的五段教学法,将教学过程划分为五个环节:组织教学、复习提问、讲授知识、巩固知识、布置作业。如采用传统讲授的教学方式,学生只能被动学习,很难体会到软件工程的工程化理念。同时,软件开发过程中,在进度、质量和成本的制约下,软件开发活动需要团队协作完成。传统的教学方式不能让学生体会到团队沟通协调的重要性,难以培养学生的团队意识。本文将传统教学方法与Seminar教学法相结合,根据软件工程课程特点,提出了情景Seminar教学法,它能有效地调动学生的学习积极性,提高学生的自主学习能力,培养学生的创新能力和团队协作精神。
二、Seminar教学法
Seminar 可译作讨论会、研讨会,是在欧美大学课堂中流行的一种教学或学术交流方式。Seminar研讨式教学方法起源于德国洪堡大学,其让学生认领学习研讨任务,课前查阅相关文献资料,总结、提炼撰写报告,充分调动学生的积极性,激励学生主动参与,与教师共同就研究问题进行多角度、多方位、多层次的讨论,从而加强对该问题的深入认识,提高学生深入学习、自主学习的能力。Seminar研讨式教学的核心是充分挖掘课程参与者的学习探索潜能,最大限度地进行多角度、多层次的认识互动,从而深化对某一主题的认识,实现学术交流的最佳效果,真正达到“学有所获、教学相长,日学日进”的教育目的。[2] - [4] Seminar教学法倡导在生长中获得个性品质和创新能力的发展,倡导在探究过程中理解知识和获取经验,以期获得课程教学的真正价值。[5]
三、Seminar教学法在软件工程教学中的应用
将软件工程课程中的教学方法总体分为两个部分:一是传统的教师讲授部分,一是Seminar研讨式教学。前者针对软件工程课程的授课内容,包含软件工程基础知识、需求分析、概要设计、详细设计、编码、测试和运维等理论知识。采用教师讲授、学生听课学习的方式,通过传统教学模式将软件工程的基本理论知识传授给学生。Seminar研讨式教学模式则可以充分调动学生的学习主动性,将任务下发给学生们,让学生自己选择认领任务,课外通过上网、借阅查看各种任务相关阅读文献,探索问题解决方案,分析汇总形成课题报告,课堂上通过报告的讲解,开展与教师、学生间的深入讨论,从而内化传统课堂的授课知识,使学生真正地理解、掌握知识的内涵,学会知识的灵活运用。
(一)情景Seminar教学法
■
图1 软件工程课程中情景Seminar教学法的组织形式
软件工程课程中情景Seminar教学法的组织形式如图1所示,根据课程需求将授课内容分为五个模块(软件工程基础知识模块、需求分析模块、软件概要设计模块、软件详细设计模块、编码和测试模块),每个模块都由传统授课方式+情景Seminar研讨方式组成,其中传统授课方式教授该模块理论知识,知识主要是单向流动的,由教师讲授,学生接受知识;情景Seminar研讨方式实现知识的双向流动,学生与学生之间交流,学生与教师之间交流,学生与教师之间是平等的研讨地位,更能激发学生研讨的热情,深化对知识的理解和领悟。情景Seminar研讨方式包含三个环节:基于模块理论知识以及本模块需完成的阶段报告进行分组研讨,模块报告负责人撰写并讲解报告,答辩评审报告。图1中每个模块都是独立应用传统教学法+情景Seminar教学法的个体,五个模块之间同时又具有前后依赖,相互衔接的关系。
(二)软件工程教学中情景Seminar教学法的应用
在课程的首次授课中,讲授软件工程课程的地位及意义,同时让学生明确本课程将要采取的完整的授课形式:传统讲授形式+情景Seminar研讨式。情景Seminar教学法在软件工程教学中的实施步骤如下。
1.确定分组
根据软件工程课程的具体教学内容,将学生分组,每组学生由5人组成(1名组长,4名组员)。每组学生在软件工程课程整个课程的学习中,可以从教师给出的课题库中选取课题题目,也可以根据兴趣爱好自定课题题目,由于每组课题要模拟软件在生命周期中的各阶段(省略编码阶段,测试阶段只进行基于需求的测试),故课题可称为模拟项目。
2.课题认领,任务分工
每组组内学生都有选择课题的权利,最终的课题需通过组内学生商议、讨论,达成一致意见,共同确定课题题目。组长有协同分工、平衡组员工作的责任。课题经小组成员一致认领后,组长要将课题的子任务分配给组员。每个模拟项目有5个子任务,分别需撰写项目策划方案、需求分析报告、软件概要设计报告、软件详细设计报告和软件测试计划。组长必须认领课题的项目策划方案,剩余的四个报告可由组员根据自己的专长、兴趣分别认领,报告的最终分配由组长协调完成。上交选定课题题目及各阶段报告撰写人名单,如无特殊情况,整个课程实施过程中,分配给各组员的任务不得改变。
3.穿插授课
虽然课程中采用两种教学模式,但这两种教学模式不是孤立进行的。根据软件工程具体的课程标准和教学实施计划,传统讲授形式和情景Seminar研讨方式是结合进行的,是相互影响、互为依赖的关系。软件工程知识按内容划分成几个模块,每个模块都以传统讲授形式和情景Seminar研讨方式独立进行。通过传递讲授形式将理论知识系统的传授给学生,学生通过自主学习,课下查阅资料,将知识逐渐内化吸收,通过课堂的情景Seminar研讨方式使学生与学生之间、学生与教师之间能更公平、轻松地沟通交流,深化了对知识的理解。
4.小组研讨
小组成员选择课题题目时,需要组员共同讨论、研究确定最终模拟项目的内容。并且,在组长的协调下,组员认领选定模拟项目下的任务报告。小组内每个组员的任务报告,都需要小组分工合作,查阅资料,研讨、质疑、确定方案,这个过程锻炼了学生协同合作的能力,在研讨中主动探索问题、解决问题的能力。
5.撰写报告
组内成员根据自己认领的任务,经过组内研讨确定最终方案,独立撰写个人的任务报告。这个过程锻炼了学生阅读文献能力、文字组织能力和写作能力,同时也为其以后毕业设计论文的撰写奠定了基础。
6.走上讲台
为了增强学生表达能力,应该鼓励学生走上讲台,大胆、清晰地表述自己的方案设计,每个组的组员都有机会把自己负责的任务报告通过讲授的形式,让其他学生与教师对自己的报告有一定的了解。
7.答辩环节
答辩环节是评审报告的关键环节,学生登台讲解自己的报告时,其他组成员和教师为评审组成员,可针对学生的报告,提出自己的质疑,不合理、不正确、有歧义的地方都应该被指出。答辩环节不仅是对主讲报告的学生表达能力的锻炼,对报告内容的审查,更能激发其他组员学习的兴趣,使其主动找出主讲学生的报告中的问题,深入对问题的理解及相关知识的内化。
四、结束语
情景Seminar教学法是一种结合软件工程课程特色的Seminar教学法,将Seminar教学法有效地融入软件工程课程的不同模块中,与传统讲授方式相结合,同时又不限于研讨,增加了软件工程的阶段情景特色,锻炼了学生的自主学习能力和创新能力,增强了学生的团队合作意识。真正做到师生的互动交流,通过良好的双向沟通以最终达到教学相长的目的,取得了较好的教学效果,值得进一步推广应用。
[ 参 考 文 献 ]
[1] 孟繁锋.结合模拟项目组的软件工程教学[J].计算机教育,2014(22):54-56
[2] 佟玉军等.软件工程专业教学改革研究[J].计算机工程与科学,2011(33):49-54.
[3] 陈荣群等.教育信息化环境下Seminar教学方法得应用研究[J].中国电化教育,2014(325):114-118.
[4] 周美林等.近三年我国Seminar教学研究文献综述[J].教育与教学研究,2013(11):12-15.
[5] 张跃忠.论Seminar教学范式的现代价值[J].教育与现代化,2006(2):24-29.
实践教学软件工程 篇11
案例教学法 (case methods) 是在学生掌握了有关基本知识的基础上, 在教师的精心策划和指导下, 根据教学目的和教学内容的要求, 运用典型案例将学生带入特定事件的环境中, 通过学生的独立思考或集体协作, 进一步提高其识别、分析和解决具体问题的能力, 同时培养正确的管理理念、工作作风、沟通能力和协作精神的教学方法。本文结合高校课堂教学模式的现状, 依据案例教学的相关理论和实际教学的需要, 设计了一个用于《软件工程》教学的案例和案例教学过程, 并对实践效果进行分析。
《软件工程》是一门典型的计算机理论课, 具有很强的理论性, 常规教学法很容易让学生产生茫然感、无力感和厌倦感。笔者实践的班级是大二的一个混合选修班, 该课程是作为专业选修课而开, 共54个课时。在前30个课时的教学中, 笔者是传统的教学方法中“很有学问”的人, 扮演着传授知识者的角色, 按部就班的根据教材逐章讲解, 刚开始凭借个人的讲台经验和课堂掌控力, 还能调动学生的积极性, 学生勉强能消化所授知识, 可随着新鲜感的消失, 难度的加深, 理论的堆积, 实践的脱离, 学生日益丧失了学习兴趣, 课堂气氛变得十分沉闷, 普遍反映学不懂。于是, 笔者通过资料查询与研究, 决定在后24个课时的教学中转变角色, 改为扮演设计者和激励者的角色, 鼓励学生积极参与讨论和研究, 即将传统教学方法改成案例教学法, 其首要的关键在于设计一个贯穿24个课时始终的案例。
二、案例设计
基本上, 案例教学法是一种以案例为基础的教学法 (casebased teaching) , 案例本质上是提出一种教育的两难情境, 没有特定的解决之道。如果视案例为事件, 那么一个事件要成为案例, 并进而成为课程开发的载体, 其充要条件有三个:其一, 真实性为运用基础, 案例取自于现实, 为学生认识社会、体验社会提供背景, 虚假的例子不仅背离现实, 导致形式主义, 也难以提供操作细节;其二, 案例要以问题为导向, 是蕴含疑难情境的表述;其三, 案例要以典型为依托, 是破解类似情境的映射。
笔者依照上述的三个充要条件设计的案例是“用软件工程方法学指导学生信息管理系统的开发”。该案例以现实中一个真实项目为基础;以项目开发技术书为导向, 项目开发计划书仿照真实事件编写, 是对待开发项目的整体描述和要求, 内容主要包括项目背景、工作内容、产品、任务分解、进度、关键问题、人员组织及分工、交付期限等;该项目的原型是一个现代的与学生切身相关的小型软件工程项目, 包含当今最流行的面向对象编程和数据库技术, 具有典型代表性。
不过, 该案例涉及的计算机实际工程项目的复杂程度不小, 在设计应用于《软件工程》的教学案例时, 必须考虑实验、运行条件是否具备;复杂程度是否适于教学;教学知识点与工程实际的对应与如何逐步演化。所以有必要依据上述方面的顾虑进行整体的修改。
三、案例教学过程设计
案例教学的宗旨在于, 通过编选的具有真实的、完整的、典型的、启发的教学事件和故事, 让学生参与案例的调查、阅读、思考、分析、讨论和交流, 引导学生独立、主动地学习, 进而掌握分析、解决问题的方法和能力, 实现自身的可持续发展。依照该宗旨, 案例教学的课堂设计要完全体现以学生为主体的教学思想, 因此该案例教学的过程设计如下:
首先, 将全班学生平均分成4个彼此独立的开发组, 每组再细分成5个小组:A.需求分析小组、B.面向对象分析小组、C.面向对象设计小组、D.编码小组和E.测试小组, 笔者根据学生前期的学习状况和性格来指定每个学生在项目中的角色, 教师是总的项目负责人。
第二步, 由项目负责人制定详细的项目开发计划, 以专业的文档格式打印成档案分发到每位组员手中, 以示正规。项目负责人对项目计划加以解说, 并明确每位组员的工作任务。即要求每个开发组在项目开发期间生成一组完整的文档, 包括软件需求规格说明、系统实现方案、测试计划, 其中软件需求规格说明又细分为可行性需求分析、数据模型、对象模型、动态模型和功能模型。
这里一定要注意掌控文档的上交时间, 如果放到期末一起上交, 难免出现学生浑水摸鱼的情况, 若在整个项目期间阶段性上交部分文档, 又会出现学生中途歇气, 事不关己的情况, 而且这也不符合软件工程面向对象的设计原则, 文档本就应该随着各阶段的循环不断完善的。所以, 笔者要求学生先在规定的阶段任务时间内上交阶段文档, 期末上交最终完善的完整文档。
第三步, 教师充当用户及领域专家, 与开发组的成员进行交流。交流过程由开发人员主导, 教师暗中辅之;交流方式可以是提问回答、填表格等任意形式;交流目的是为了完成需求分析。
第四步, 按喷泉模型循环指导该软件的开发和各阶段相应文档的生成。指导软件的开发时密切联系教材, 力求做到有根有据, 理论联系实际;指导文档的生成时, 先给出样板格式, 并适当举例, 甚至让学生浏览一遍完整的样板, 让他们做到心中有数。
第五步, 将他们的成果纳入期末成绩考核中来, 并且仿照软件开发公司, 评定“年度最佳学员”, 以分数做奖励。
四、实践分析
下面从以下三个方面对上述实践进行分析:
一是教师的案例布置。在案例教学前, 教师首先要布置案例, 介绍案例的主要背景和内容 (或发给案例材料) , 提示准备和讨论的内容及要求。这是整个案例教学的开头, 所谓“好的开始是成功的一半”, 教师应该注意案例模仿的真实性, 并给予学生充分的尊重和身份置换感, 例如上述案例就将学生身份置换成开发人员, 教师置换成项目经理, 这样趣味性的突然增长, 学生的兴趣也就提了起来。
二是师生的课堂讨论。这是案例教学的主要环节, 师生间的讨沦有两种情况, 一种是教师将自己融入到学生中, 与学生共同探讨, 地位平等;一种是师生间的讨教式讨论, 可采用推荐代表发言或学生自由发言相结合的方法让学生主动发言。同学间的讨论则是分组讨论。由于时间紧、发言多, 教师必须强调突出重点和质量, 把握节奏。
三是教师的讲评。每次课结束前十分钟, 教师对本次的课堂讨论或是课堂案例分析进行点评总结, 学生往往会很认真的倾听, 主动做笔记, 联系到教材时, 表现出理解或是茅塞顿开。所以教师针对每次课堂案例讨论分析的点评总结十分重要, 这不仅可以使讨论中暴露出的问题得到及时修正和引导, 而且可以使学生加深对基础原理的理解, 明确正确的分析方法和思路。在点评总结时要强调针对性, 针对某个学生的某种行径点评。
五、总结
案例教学实质上属于研究性学习, 能变被动为主动, 使学生处于积极参与状态。案例教学的实践过程显示, 学生能在解决问题的过程中培养并提高学习兴趣, 进而更有效地学到知识。学生通过案例教学获得的知识是内化了的知识, 是自己理解了的能驾驭的知识, 尽管这部分知识不够系统全面, 但足够学生用于处理解决类似学习情境中的现实问题, 并且能引导学生从基本或是部分知识出发, 主动地探索整个学科的知识。
摘要:针对当前高校课堂教学模式中存在的以教师为中心、忽视学生主体地位和能力培养等问题, 在分析案例教学法基础上, 本文结合高校课堂教学模式的现状, 依据案例教学的相关理论和实际教学的需要, 设计了一个用于《软件工程》教学的案例和案例教学过程, 并对实践效果进行分析。
关键词:案例教学法,案例,软件工程
参考文献
[1]袁晔:案例教学法在计算机教学中的应用[J].中国职业技术教育, 2007 (22) :38-42.
[2]冯冈平:案例教学的角色问题[J].高等工程教育研究, 2001 (1) :95-96
[3]唐远新 孙晓华 高峻等:计算机专业课案例教学中的几个问题探讨[J].信息技术, 2009 (8) :40-42
[4]李斌:案例教学过程的设计与评价[J].教育与职业, 2007 (3) :119-121
【实践教学软件工程】推荐阅读:
工程实践教学08-24
软件专业实践教学11-18
实践教学工程管理06-25
实践教学工业工程12-14
实践教学控制工程论文09-23
实践教学土木工程论文06-09
医学工程生物学实践教学改革与实践的论文09-25
工程测量多媒体教学课件的教学实践12-16
酶工程教学实践与探讨教育论文07-21
电子信息工程教学的实践研究论文09-05