APP下载

CDIO构思环节在软件工程课程教学中的应用

2015-12-03

怀化学院学报 2015年5期
关键词:点子课外环节

(怀化学院 计算机工程系,湖南 怀化 418008)

软件工程(Software Engineering)课程是大学本科软件工程专业的核心课程,在软件工程专业课程教学中占有重要地位.该课程教学不仅在于将学生培养成为具备较好工程技术能力和深厚基础知识的工程师,而且能为其它专业课程的学习打好基础,对培养学生的工程实践能力、团队协作能力及创新能力具有重要作用,其教学效果直接影响软件工程专业的人才培养质量.

国内很多高校都开设了软件工程专业,为社会培养软件人才.但是从整体上看,软件工程专业毕业生的结构性就业矛盾依然很凸出:有很多软件工程专业的毕业生就业困难,而软件企业却找不到所需人才.高校培养的毕业生质量与企业对人才的需求不符是矛盾的直接原因.但是软件工程专业的本科生是软件企业未来的“主力军”,因此,如何让学生在本科阶段打下坚实的软件工程理论基础并具有一定的工程实践能力,是软件工程课程教学必须认真思考的问题.

将CDIO (Conceive,Design,Implement,Operate)理念引入软件工程课程教学,是一种全新的工程化教学模式.它以软件生命周期为载体,集构思(C)、设计(D)、实现(I)和应用(O)于一体,让学生主动地、各阶段紧密联系地实践与学习,贯穿从构思到设计、从设计到实现、从实现到应用的全过程,力求解决传统教学中重视理论和技术、轻视实现与应用,或者过于强调实践环节、忽视理论、轻视应用等问题.软件工程作为一门研究如何按工程化的原则和方法组织软件开发的学科,理应借鉴CDIO 原理,丰富软件工程教学的内涵与外延[1],培养学生利用工程化的原则和方法去发现问题、分析问题和解决问题的能力[2-4].CDIO 教学模式应用于我国的一些高校,已经取得了初步的成果[5-6].本文主要针对CDIO的首个环节——构思在软件工程教学过程的运用进行了探索与实践.

1 软件工程课程的特殊性

软件工程课程所包含的原理、原则与方法都是实际项目中其它专业课程具体应用的经验总结,掌握了这些原理、原则与方法对软件项目的研发具有重要指导作用.这完全符合“理论来源于实践,反过来又指导实践”的基本哲学原则.在软件工程课程教学过程中,学生普遍反映该课程内容过于抽象,难以理解和消化,课程学完了,脑子里只残留了一些模糊的概念,无法运用它指导软件项目的开发,做实际项目时总感觉头绪不清、无从着手.这种现象其实不难理解,因为软件工程是在解决软件危机中产生,软件危机是大型软件系统的建设(即开发、运行与维护)过程中所面临的各种影响软件产品质量及项目成败的矛盾问题,而软件工程课程重点关注的是抽象、建模、变更控制、过程管理、质量保证、成本与进度控制等.学生如果没有在大型系统开发过程中体验过该课程的关键领域知识,则难以理解这些内容.另外,如果授课教师也没有大型系统开发经历,同样难以向学生讲清楚这些内容.软件工程课程的特殊性表现如下:

(1)课程较为抽象.软件工程的理论是对实际项目开发经验的提炼和总结,导致很多理论过于抽象.学生没有实际的软件开发经验,更缺少大型项目的经历,因而难以理解.

(2)知识更新频繁.软件工程学科至今还只有40多年历史,产学界在不断提出最新理论和最佳实践,知识更新快.要有效地结合课程大纲主线和前沿知识与技术,并运用领域经验进行授课,对主讲教师提出了较高要求.

(3)内容广、信息量大、知识体系复杂.软件工程发展至今,提出了许多过程、方法和工具,它的传统理论与现代业界主流方法以及学术界提出的最新工程理论相互交织,涉及范围广、内容比较庞杂.在有限的课时内,能选择主流的、适用的、适合本科生的内容来组织教学,也是专业教师面临的一个很大挑战.

因此,如果教师缺乏相关领域知识,授课案例陈旧、缺少真实性、创新性不足,则难以激发学生的学习兴趣、达到理想的教学效果,从而导致用人单位对高校培养的软件人才不满意.所以,探索软件工程课程教学模式、教学方法、教学内容的改革已然刻不容缓.

2 教学过程中构思环节的设计

2.1 访谈调研,查明原因

现在学生普遍存在的困惑是:学校开设的某些课程到底有什么用,或者学它用来干什么?针对学生上述疑惑,笔者分别对我校2010~2012级计算机科学与技术专业、软件工程专业的3届学生进行了专题访谈调查.整理、汇总了学生反馈的部分问题,如表1所示.

表1 软件工程课程教学情况学生访谈部分问题反馈表

通过对表1中问题的认真分析,发现症结在于学生“没想过要用所学技术去做些什么”,不能够学以致用.既没有动脑去思考过,又没有动手去实践过,当然难以理解学习这门课程的重要作用.因此,必须首先解决“想做什么”的问题,即想办法引导学生去思考自己感兴趣的东西,明确“做”的目标,即在头脑中构思出要完成的项目.如果很好地解决了CDIO 教学模式的构思环节,其后续的设计、实现、应用各环节的实施自然就能水到渠成,CDIO 工程化教育模式就可以很好地贯彻到软件工程的教学过程中以激发学生学习兴趣、提高课程教学质量.

2.2 针对问题,设计方案

软件工程课程的内容广,而且相对抽象,该课程教学的课时安排只有48~52课时,内容多课时少的矛盾非常凸出.所以,为了缓解这一矛盾,我们将CDIO构思环节安排在课外完成,主要采用以下两种形式:

(1)在课程开始阶段,以课外作业的形式要求学生独立思考,每人完成8~10个点子.

(2)以3~5人自由组合成小团队,通过课外集体交流、讨论共同完成25~40个点子.

所有点子主要来源于学生所熟悉的、利用计算机软件能够为人们提供便捷服务的各个领域,如人们日常的生产、生活、学习、工作、娱乐、健康等方面.要求学生将自己思考的点子形成文档在规定的时间内提交,根据点子质量的高低进行评分,计入平时作业成绩.全部点子最后汇总形成点子库,供所有学生共享.

接下来,再让兴趣相同或相近的学生自由组队,2~3人一组,从点子库中去整合与发掘创意,孵化出各组的自主创新项目,为后续的设计、实现及应用环节的顺利实施提供基础,以解决“学生不知道为什么要学习这门课程”的问题.

2.3 设立目标,保障效果

针对学生创新思维与能力素质的培养,教学过程中构思环节设计的目标如下:

(1)有效地调动学生的思维,想自己喜欢的事情,从而调动起学生的学习兴趣和热情,克服教师布置的题目学生不能完全理解或者没有兴趣的问题.

(2)以2~3人组队完成项目需求分析的全过程,有效锻炼学生的团队意识以及团队协作的能力.

(3)在项目需求分析过程中,提高学生主动探索、寻找新的知识和技术解决遇到的实际问题的能力.

(4)通过项目实施过程中所需各种技术的运用,带动学生对其它专业课程的学习.

(5)通过“做中学”锻炼能力,弥补学生项目经验的不足,在实践中加深对软件工程课程内容的理解和掌握,为今后的发展奠定坚实的基础.

(6)在实践中培养学生的综合能力与素质,提升未来就业的核心竞争力.

(7)通过课外反哺课内,解决课时安排严重不足的问题.

(8)通过引导和指导学生课外完成项目,促进教师工程能力的提高,改善教学质量.

3 构思环节的实施效果

按照构思环节的上述设计方案与目标,结合软件工程课程教学计划,在最近2 轮的教学过程中贯彻实施,取得了初步效果.在汇总的点子库中共收集196名学生1640个点子,通过对点子的归类统计形成如图1所示的思维导图,涉及医疗、电子、语音、图像、软件、物联网等众多领域的主题,每个主题又细分为子主题,对各级主题涉及的学生人数进行统计,统计结果如表2所示.从图1与表2中可以看出:

(1)学生课外构思出的100 多个相关子主题,表明已有效调动起了学生的主动思维,为引导他们实现自己的目标奠定了基础.另外,对于这些主题涉及的领域内容,教师在有限课时内难以完成讲授,甚至还不完全具备所有这些主题的领域知识.

(2)各个领域被关注的主题数与学生人数反映出软件工程方向的学生跟踪当前主流技术的现状,符合学生实际情况.比如,“软件”领域三个主题中,编译技术确实难度很大,只有2个子主题被2人关注;移动APP是当前热门技术,有21名学生关注;Web 应用受到32人关注,是因为互联网应用的广泛使用,同时它们也是移动APP的数据源.另外,关注“物联网”、“语音”领域的学生人数明显多于关注“电子”、“图像”领域的人数,这也符合软件专业学生能力层次的实际情况.

图1 由点子形成的思维导图

表2 主题-学生统计表

(3)软件工程课程教学中CDIO构思环节的实施产生了明显效果,学生能主动思考各领域中可能面临的实际问题,选择自己感兴趣的内容去实践,充分调动起了学生学习的积极性.

此外,CDIO的后续环节产生的效果也很明显.通过共享点子库,由2~3个兴趣相同或相近的学生自由组成团队,整合多个小点子形成小组创意,孵化出团队自主创新项目40余项,参与的学生100余人.其中被立项的项目有Google 大学生创新项目1项,湖南省大学生创新性项目1项,怀化学院大学生创新性项目10项,计算机系大学生创新性项目6项.从部分已完成项目情况来看,学生作品参加各种课外科技竞赛活动获省级以上奖项20余项,其中国家级2、3 等奖3项,省级1、2、3 等奖17项,获奖学生50余人.

实践表明,CDIO构思环节的实施在软件工程课程教学中收到了预期效果,学生对软件工程课程内容的掌握与运用效果较理想,软件开发与组织能力显著提高.

4 结束语

通过2年多的实践探索,对软件工程课程的教学改革积累了一些经验和体会,尤其在CDIO 工程化教学模式、教学方法与运用的探索方面,提出了融通课内与课外教学、强化了课外实践,通过“做中学”培养创新能力的立体化方法.在软件工程课程教学过程中引入CDIO 方法具有重要意义,通过构思环节引导学生主动思考,明确学习目标,提升学生在软件工程方面的学习兴趣和积极性,为培养学生实践创新能力、提升学生未来就业竞争力打下了较好的基础.

[1]李彤,赵娜.软件工程国家精品课程建设的思考与实践[J].计算机教育,2010 (24):29-32.

[2]查建中.面向经济全球化的工程教育改革战略[J].高等教育研究,2008 (1):21-27.

[3]王丽芳.对软件工程教学改革的探究[J].计算机教育,2009 (10):26-27.

[4]Crawley E F,Malmqvist J,Ostlund S,et al.Rethinking Engineering Education:The CDIO Approach[M].New York,USA:Springer,2007:8-22,29.

[5]查建中.论“做中学”战略下的CDIO 模式[J].高等工程教育研究,2008 (3):1-9.

[6]和薇.CDIO 模式在数据结构课程中的运用[J].计算机教育,2009 (20):122-123.

猜你喜欢

点子课外环节
小满课外班
必要的环节要写清
在农民需求迫切的环节上『深耕』
好点子不足以支撑好买卖
点子摇滚怪杰 Dan Deacon 12月启动中国巡演
现代学徒制管理模式及其顶岗实习环节
课外实践丰富多彩
论评标环节的优化与改进
让人惊叹的极客好点子