软件工程专业课程的教学方法创新与实践
作者:任荣,白静,贾艳波
来源:《教育教学论坛》 2014年第46期
任荣,白静,贾艳波
(北方民族大学计算机科学与工程学院,宁夏银川750021)
摘要:以提高学生实践技能和就业能力为目标,对软件工程专业课程理论教学方法、实践教学形式、学生课业评价模式等进行了改革与创新,教学质量和就业竞争力有了很大的改善和提高。
关键词:“案例式”课堂教学;“项目驱动”实践教学;“多元化”课业评价
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)46-0142-03
一、引言
随着我国信息化技术的逐步普及,以及其应用领域的不断扩展,软件工程专业的人才需求量也在不断攀升。作为软件工程系主任,本人从近几年的IT企业招聘情况中能切实体会到,现在“合格”的软件工程
师缺口日趋增大。所谓“合格”,就是企业希望招聘的毕业生具备较强的实践技能、较高的职业素质和零适应期的就业能力。
在传统的软件工程教学模式中,比较重视专业理论教学,实践教学的比重相对较轻,欠缺与企业的密切合作与沟通,从而导致学生毕业后很难把所学的专业知识尽快应用于企业实践中,造成了企业很难招聘到“合格”的人才,而学生又需经过较长的适应期才能为企业创造价值。
在这样的背景下,我院的软件工程专业从培养模式到课程建设进行了不断地改革与创新,目的就是使学生毕业后马上能就业,而且还要提高就业质量。通过“厚基础”的专业理论教学,使学生能系统地掌握计算机软件基本理论、基本知识和基本技能;通过“项目驱动”方式的工程设计和软件开发技术等方面的专业训练,使学生掌握软件分析设计的实用方法和主流开发技术;通过与IT企业的密切合作,使学生尽早适应企业环境和文化,培养学生较强的就业能力和规范的软件工程师职业素养。
软件工程专业的改革是涉及多方面的系统化工程,大到培养目标、培养模式、培养方案的改革,小到课程建设、课程教学方法的创新。本人在其他论文中已经对该专业培养模式、校企合作等方面的改革与实践进行了阐述,本文主要从一名软件工程专业一线教师的角度,发表一些本人及课程组其他老师在专业课程教学创新改革过程中总结的经验。实践证明,通过专业课程教学方法的创新,学生的实践技能和就业能力有了较大的提高。
二、软件工程专业课程教学方法改革
(一)“案例式”课堂教学改革
软件工程专业课程大都兼具理论性和实践性,很多软件工程理论来源于实践经验,又要应用于工程实践。因此如果只是教条的讲述理论,而欠缺与实际案例的关联,势必会使学生有“海市蜃楼”的感觉。在传统的偏重理论的教学中,老师也能讲明白,学生也能听懂,知识应该怎么用呢?学生不知道!显然这样的教学方式效率很低。例如,在《系统分析与设计》课程中要讲述UML建模,我们要给学生讲清每种模型的作用是什么、如何创建,这是很容易的,但是学生就会问,我们已经有结构化的建模方法,为什么还要使用面向对象的UML建模方法?UML有九种模型,什么阶段应该画哪种图?如何通过这些模型清楚地描述用户需求,逐步建立可以指导编程的设计模型?要回答这些问题,仅靠课本上概念的阐述是不够的,因此我们将案例式教学方式引入课堂。在案例式教学模式中,教师将各种项目实例贯穿至理论教学环节,通过实例引出一个问题或概念,启发学生思考,逐步上升为理论,用该理论去分析和解决案例中的问题,从而提高学生的学习兴趣,促进学生对所学理论知识的理解和应用,进一步提高学生分析问题和解决问题的能力。如我们在《系统分析与设计》课中,从需求分析建立UML用例模型开始,就以“网上商店系统”为实例讲解,该实例一直贯穿整个系统分析设计过程的每个环节,包括建立时序图、活动图、分析类图、设计类图等,在同学期开设的《JSP程序设计》、《.NET技术》课程中,老师再根据已经建立好的UML模型编码实现该实例系统,这样就可以让学生对整个系统开发过程有一个完整和切实的
认识,体会到学以致用。
(二)“读、改、仿、建”模式的程序开发类课程教学改革
程序开发类课程是软件工程专业课的重要组成部分,学生对这类课程的掌握程度,直接影响到学生的实践技能和就业能力。在和学生的沟通中了解到,很多学生都存在这样的情况———上课能听懂,但是只要一拿到题目,就不知道从哪儿下手写程序。针对这样的问题,课程组教师总结了“读、改、仿、建”循序渐进的教学模式,解决了学生学习编程课“入门难,出门忘”的困惑,使学生的编程能力逐步得到提高。
在学生学习编程语言之初,对程序结构、语句格式都不是很熟悉,这时候对他们的要求不能太高,否则会加深学生的畏难情绪。我们可以要求学生认真地“读”懂课本、课件上的每一个例题,引导学生做一些给代码填注释、读程序写结果的题目。当学生熟悉了语言环境后,老师可以在原例题的基础上增减或修改一些功能,让学生在原程序上修“改”调试,虽然难度不大,但是当学生调试通过后,还是小有成就感的,这样就增加了他们学习编程的信心。由此可以“趁势而上”,让他们尝试着写点自己的程序,但是完全让他们独立写程序,还是欲速则不达。老师在实验或作业中设置一些稍有难度的较新颖的题目,但这些题目的选取还是要围绕着学生熟悉的知识点和程序框架,让学生能比较容易地到“仿”的对象,即参考一些原来熟悉的程序,也能写出自己的程序,不会让学生感到无从下手,从而挫败他们刚建立起信
心。当学生多“仿”写几个程序之后,不知不觉中他们已经对编程入门了,因此在课程的中后期,就可以布置一些规模较大、创新性的题目,告诉学生可以参考课本或课本以外的任何资料,创“建”自己的系统,放手让学生自己去做,有问题随时和老师沟通,中间过程设置好检查点,让学生公开讲解答辩,展示自己的阶段性成果,这样既可以督促学生积极主动地完成工作,增强学生的信心,还能避免偷懒、抄袭等现象。经历这样一个由“易”到“难”,由“依赖”到“独立”的过程,学生的编程能力自然而然就得到了提高。什么编程课比较好
该教学方法对任课教师提出了更高的要求,老师要随时应对学生提出的各种问题,但是看到学生展现的项目成果,我们感到自己的付出是值得的。而且通过这种方式,老师从学生那儿也能学到很多,教学相长,相互促进。
(三)“项目驱动”实践教学改革
在改革后的软件工程专业培养模式中,加强了实践教学环节,不仅增加了实验课时,而且还将原来多门“各自为政”的课程设计整合为一个多课程综合的《专业实训》。
不论是课内实验,还是《专业实训》,都引入“项目驱动”实践教学方法。如在《数据库系统原理》实验课中,学生从第一个实验“建立E-R模型”开始,就基于一个模拟的软件项目建模,后面的每一个实验,包括数据库的建立、SQL编程、安全性控制等,全部根据第一个实验中的项目进行。把课程中的七个实
验完成了,最后形成一套《数据库设计说明书》,学生对整个数据库建模的过程就有了完整和清晰的认识。
在专业实训中,采用分层次的多课程综合项目开发训练,教师根据学生的不同水平,有针对性的设置难易程度不同的软件项目题目供学生选择,在项目开发训练中,使学生能把多门课程的知识结合起来,如在第五学期的《专业实训1》中,将《软件工程项目管理》、《系统分析与设计》、《数据库系统原理》、《.NET技术》多门课程的知识点融合起来,如在第六学期的《专业实训2》中,将《平台软件技术J2EE》、《网络数据库应用ORACLE》、《软件测试技术》等多门课程结合起来。学生2-4人组成一个项目团队,模拟实际软件项目开发过程,从软件分析建模、技术文档写作、软件项目管理、软件编程开发、软件项目测试等各实践环节进行整体的把握和理解,融会贯通,对一个软件项目的实际开发过程有一个完整的体验。
“项目驱动”实践教学中,指导教师搭建项目环境,提出要求和预期达到目标,要求学生准备相关资料,综合运用相关技术和知识,分组讨论,协作配合,完成项目开发。项目执行过程中,安排多次项目评审活动,有老师和学生代表组成评审组,项目组成员进行讲解和答辩,评审组成员提出问题和改进建议,最后安排一次结项答辩,每一个项目组展示自己的项目成果。经历一个这样完整的模拟项目训练,使学生更真实地融入到软件工程的设计开发环境中,有利于增加学生的实际应用经验,提高了学生学习的主动性和成就感,使学生感受到学有所用,学有所获。
(四)“多元化”课业评价模式改革
课业评价(考核)是教学过程中的一个重要环节,可以检验学生的学习效果。常规的考核都是安排在教学过程的最后一个环节,闭卷笔试,而且所占成绩比例较高。这样考核方式的弊端在于,因为过程监控不到位,所以到考试结束才发现有些知识学生掌握的不好,但是补救已经来不及了,也会出现有些学生平时不学习,到期末考试的时候,把老师画的复习题背一背也能考得不错,而有些同学实践能力很强,可就是因为没有死记硬背一些概念,导致考试成绩不理想,从而打击学生的学习积极性。因此如何有效的组织与实施考核,直接影响到学生的学习效果和教师的教学效率。
我们在多门软件工程专业课程中进行了学生课业评价改革,提出并构建学生课业多元综合评价体系,克服了传统一张考卷定乾坤的考核方式存在的评价范围狭小,评价主体、评价方式、评价功能单一等问题。采用专业知识考核与实践能力测试相结合,过程考核和结果考核相结合的评价方式。结合课程特,选用笔试、机试、项目考核、以证、能力测试等多种考评方式。降低期末笔试所占比例,提高过程性考核的比例,通过实验、作业、期中考试等加强学习效果的过程性监控。老师在上第一节课的时候,就向学生宣布多元化的考核方式和过程监控点,使学生学习之初就建立学习目标,激励学生把握好学习过程中的每一个环节。课业评价的对象包括学生的知识掌握情况,实践操作能力、学习态度和团队协作能力等方面,注意对职业能力的考核和综合素质的评价,除了教师评分以外,还引入项目小组评分、实习企业评分等机制。
在课业评价改革过程中,老师们探索了各种教学评价方法,以下是有代表性的评价模型之一:
(1)对给定组A的一次评分,设老师评定成绩为A0,其他第i 组同学评定成绩为Ai(i=1…n),共有N组,该组该次评分A=(A0+A1+…+An>/n;
(2)对给定组A中第j个学生的一次评分,设老师评定成绩为Aj0,其他第i 组同学评定成绩为Aji,共有N组,则该组第j为同学该次评分Aj=(Aj0+Aj1+…+Ajn>/n;
(3)第i组的第j个学生最终评定成绩为Aij=A*40%+Aj*60%,即,其成绩由该组成绩和个人成绩共同决定。
多元化的考核方式极大的激励了学生平时的学习积极性,把学习主动权交给了学生,极大的提高了教学效率,改善了教学质量。
三、实践效果、不足与改进措施
经过软件工程专业培养方案和课程教学方法的创新与实践,我院的软件工程专业的就业率和就业质量有了很大进步。在麦克斯数据有限公司为我校制作的“2013年社会需求与培养质量年度报告”中,软件工程专业成为我校就业竞争力指数最高的专业,就业率和就业质量都名列前茅,这样的成绩是对我们所有参与改革教师的肯定。然而,改革不是一蹴而就的,在当前执行的培养方案中还有一些不足需要改进,
软件工程专业的就业需求和形式也在不断变化,新的软件方法和技术也在不断涌现,现在学校正在组织制定2014版培养方案,我们还需扬长避短,使更好的改革思路在新版培养方案中得以体现。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论