应用型软件工程教学团队建设方案


打开文本图片集

摘要:从应用性教学定位出发,总结以往软件工程教学的经验,提出一套操作性强、行之有效的软件工程教学团队建设方案,从师资建设、教学安排、特色实训环节等方面阐述团队建设的实践经验,提出教学团队指导项目小组接受完整软件工程训练的一系列方法和措施,并对今后的改革方向做进一步思考。

关键词:软件工程;教学团队;教学改革

软件产业是最具前景的产业,目前,我国软件产业发展迅速,人才需求旺盛[1]。随着经济全球化的发展和国际竞争的日趋激烈,全球软件和信息服务产业等服务外包产业结构调整正在兴起[2],如何抓住机遇尽快地融入到国际竞争的大舞台,营造和谐的软件产业发展环境,培养应用型的创新性软件人才,是高校培养软件人才的重中之重。

厦门理工学院是一所新兴的本科院校,我们的办学特色清晰地定位在“开放式、应用型、地方性、国际化”之上。计算机科学与技术系相关本科专业建立时间短,教学班子经验不够丰富,如何让教学契合学校的办学定位,尽快办出特色,形成可操作性强、行之有效的教学方法,是一线教师必须思考的问题。

国内软件工程教育者从教学内容[3]、人才培养体系[4]、课程体系[5]、实践培养体系[6]、创新人才培养[7]等方面进行了大量研究实践。本文讨论作者教学过程中遇到的问题,提出教学团队指导项目小组接受完整的软件工程训练的一系列方法和措施,从师资建设、教学安排、特色实训环节等方面阐述团队建设的实践经验。

1教学中的问题

在多年软件工程类课程教学过程中,我们对课程设置、教学方法进行调研、改革和实践。通过总结经验、与兄弟院校交流和考察企业,我们发现以往的教学往往忽视软件工程的“工程”性,导致学生对软件工程没有具体的感受,更谈不上深入理解软件工程相关的原理、方法及其在具体实践中的运用。对此,我们在以下方面进行反思。

1.1课程内容得不到很好的整合

软件工程专业课程知识结构可分为基础课、软件开发技术、软件工程等部分,课程之间内容联系强,知识点相互交叉。由于该专业课程理论性和实践性都很强,因此,不联系实际学生就很难理解其精华,任课教师压力很大。如果教师对整个课程体系不了解,没有实践经验,对相关概念、原理不熟悉,教学时详略不当,前后课程不能衔接,就极易造成各自强调自身课程的重要性,实验内容简单重复的现象。虽然某些课程设计的独立实践环节是以学生组团形式完成一个项目,但是,很少有项目能够结合数门相关课程,因此,也就没有完善的项目。

1.2重编程轻设计

软件工程专业要重视计算机科学与技术基本理论技术的教学及目前常用的、流行的技术、平台和开发工具的介绍,同时又要注重分析、设计、项目管理等一系列与培养、提高工程能力、团队精神紧密结合的课程。以往的教学往往重视前者而忽视的后者,这种教学方法使人在面对目前众多开发方法、平台、技术时会感到无所适从,不知道具体该开设哪些课程才算全面恰当。以前我们就有过Java平台和.Net平台之争,相当长的一段时间里,这两种技术并重,它造成课时紧张,给教师和学生带来不少的压力。

软件工程专业应当培养学生的程序设计能力,使之能够胜任在团队中承担程序开发工作。但过分强调程序设计的重要性,将大量的课时投入到编程语言和工具的学习上,并不能将学生培养成优秀的软件工程专业毕业生。软件工程专业的重点应该放在软件工程的原理和方法上,使受教育者接受项目的需求分析、设计、编码、测试、部署以及项目管理等整个过程的训练,并成为提供解决方案团队中的优秀成员。

1.3教学缺乏“团队性”

虽然软件工程强调团队合作,但以往的教与学并没实现这一要求。事实上,完成软件项目需要运用项目分析、设计技术和框架、语言的实现以及测试、部署和维护等过程,涉及整个课程体系,这个特点决定任课教师知识结构必须全面,需要高度合作,需要全局观念,绝不能只把重点放在自己的课程上,而不考虑课程之间协作和内容整合。

以上问题不是孤立的,而是相互影响的,课程孤立本身是教学缺乏团队性的表现,长此以往会加剧课程内容之间的割裂。项目设计与编程实现不能协调也是课程教学内容孤立缺乏团队性的体现。制定课程设计,但没时间实现,实现了,却没时间测试。总之,如果不能破除这三个现象,问题就会更加突出,就无法达到培养优秀软件工程人才的目标的。

2建立软件工程教学团队的三个步骤

2.1建立软件工程课程体系

软件教学团队应当确立在合理的课程体系之上。为了准确定位、达成共识,软件工程教研室历时半年,集中精力进行了软件工程培养计划的修订工作。通过访问兄弟院校、走访企业、研究国内外成功经验等多种形式,我们逐步清晰了办学的定位与特色,形成了自己的培养计划,主要专业课程体系如图1所示。

课程体系主要是优化软件工程系列课程和实验实践环节,同时,在认识高度统一的基础上削减专业课的课时。这次修订最大的改革是在第六学期和第七学期设置两个大型的独立实践教学环节,将软件工程、面向对象设计、软件测试、软件项目管理和软件体系结构等课程内容综合在实践环节,体现“做中学”的理念,训练学生软件开发、设计的综合能力,熟悉主流的开发技术、方法和工具,接受完整的项目实训,积累一定的开发经验。

通过对课程体系的长时间探讨,我们明确了课程的性质和在课程体系中所处的位置,教学团队对该体系有总体的认识和一致的看法,并能从全局考虑问题。

2.2确定课程教学大纲

有了教学团队认同的课程体系,我们就需要制定教学大纲,这事关团队教学成败。我们的做法是,根据个人的教学经验,各自提交熟悉课程的教学大纲,并在教研室会议上讨论,讨论是建立在相关课程大纲一起考察、修改的基础上,目的是做到大纲上统一整合,理清课程承接关系。例如,在讨论“面向对象程序设计”课程的时候,我们将这门课与“数据结构”和“数据库原理与应用”一起讨论,结果发现应当用C++中的模板概念来加强数据结构概念和运用,而“面向对象程序设计”课程设计可以让学生自主学习调用相关类库来访问数据库。由此,这三门课的联系得到加强,教师教学时也更加清楚课程的重点。再如,将“软件工程概论”、“面向对象的分析与设计”和“软件项目管理”一起讨论时,我们会发现这三门课的内容既有区别又有交叉,课程大纲应当各有侧重。另外,这三门课应当建立统一的实践环节,综合性运用这三门课的知识,避免单独设计三门课的实践,造成内容重复。

2.3明确合作教学环节

教学大纲的讨论和确立使教学团队在每一门课的教学内容上都达成共识,理解自己的课程在整个课程体系中的作用。事实上,还有很多富有实效的合作教学机制,例如大型独立实践环节(比如持续一个月)需要教学团队多个教师参与指导,每人指导的内容有分工、有合作。例如,在项目实践Ⅰ中,我们安排3个教师分别承担不同的任务,一个教师指导项目管理,一个教师指导项目分析和设计,另外一个教师指导开发与测试。另外,针对教师不同的教学重点,在一门课中可以由两个教师或多个教师合作教学。例如“软件体系结构”课程,实践经验丰富的教师主讲设计模式,另一个教师主讲体系结构概念。目前合作教学环节如表1所示。

3团队教学的保障措施

团队教学要出效果、出成绩并不是一朝一夕的事情,也不是一个人的事情,需要整个教学团队的协调合作,要创造各种条件和保障措施,让这个过程持续发展,常做常新,其具体措施如下。

3.1组建精干教学团队

软件工程专业课程实践性强,任课教师必须对整个课程体系有全面的把握,方能把握好教学的内容和重点,因此,我们有必要培养教学团队,进行系统教学,提高教学效果和效率。在实际中,结合培养定位,我们的师资讲究学历搭配和学缘搭配,重视引进有企业工作经历和项目开发经验的教师。目前,博士学位的教师约占36%,企业引进的教师约占30%,另外还有专门从事项目开发与管理的实验师资。所有成员每年都有机会在专业课程、企业产品、IT英语等方面接受培训,同时,我们也聘请从事软件开发培训的企业师资进行某些课程的教学和交流。

3.2争取课题的支持

实施教学改革,不能闭门造车,不能停留在口头,而需要我们查阅资料,访问兄弟院校,与企业交流,参加学术会议,这样才能开阔视野、了解现状,把握发展方向。教改项目、各级部门的重点课题、精品课程等项目都是教改的动力源泉。我们通过“软件工程”精品课程和校级“教学团队”,即一系列的校、市、省级课题的建设,取得了一系列的成果,教学团队的能力得到整体提升,积累了丰富的教学资料,建立了专业教学网站,开发了一系列教学软件。

3.3做好教研活动的规划和实施

有了共同的目标,教研活动就容易落到实处。建立课题体系,确定教学大纲和明确合作教学环节等过程需要反复讨论和论证,每一个主题内容都非常复杂,需要长期研究,必须纳入教研活动中,对于不成熟的教学团队,这一点尤其重要。教研活动的规划以周为单位,讨论形式可以灵活多样,但内容必须明确。许多创新的思维都是在各种观点碰撞之时产生的,具体教学过程必须取得共识才能顺利开展。

3.4注重教学案例的整理完善

要达到团队教学的目的,需要比较完善的教学案例,该案例能反映多门课程的教学内容,这样才能使教师围绕相同的话题讨论和实施教学。目前我们正在完善《毕业设计管理系统》和《等级考试报名系统》这两个教学案例,具有分析、设计与测试等文档,并且系统正在试用阶段。这两个案例是两年来任课教师指导学生共同探讨的结果,是团队教学的成果,该案例可用于“C#程序设计”、“软件工程”、“面向对象的分析与设计”、“数据库原理与应用”、“ASP.NET程序设计”等课程的教学过程中,是团队教学的基础。

4结语

团队教学是软件工程专业课程体系的内在要求,本专业课程内容更新快、实践性强,为了提高任课教师对专业的整体认识,优化教学内容,我们就课程体系的确立、教学计划的确定和合作教学环节的创立方面做了大量的工作,申请了一系列的课题,筹建专业教学网站,丰富了教学案例,学生的学习内容具有较强的连贯性,学习兴趣提高了,效果明显提高,任课教师的付出得到认可。接下来的工作就是进一步完善教学案例,研究《项目实践Ⅰ》和《项目实践Ⅱ》的具体实施计划。

参考文献:

[1] 陈登坤. 中国软件产业自主创新及人才需求趋势[J]. 中国教育信息化,2010(1):89-90.

[2] 高虹. 大连软件和信息服务外包的迅速发展之优势分析[J]. 现代经济信息,2009(19):139-140.

[3] 李超,谢坤武,向军. 软件工程课程教学内容及方法探索[J]. 计算机时代,2010(7):56-58.

[4] 文俊浩,胡海波,杨丹,等. 软件工程专业人才培养体系研究与实践[J]. 高等工程教育研究,2006(4):63-68.

[5] 文志诚,曹春丽. 以社会需求为导向的软件工程专业课程体系改革的研究[J]. 计算机教育,2010(4):59-62.

[6] 马燕,张根耀,王文发. 软件工程实验教学模式改革与实践研究[J]. 教育与职业,2006(36):149-150.

[7] 毕叶,黄堃,郭倩林,等. 适应社会竞争需求培养创新应用人才:软件工程专业学生创新实践能力培养探索[J]. 中国高教研究,2007(6):93-93.

Application-type Construction Project of Software Engineering Teaching Team

WENG Wei, ZHU Shunzhi, XIAO Lei, XIE Yanqi

(Computer Science Department, Xiamen University of Technology, Xiamen 361024, China)

Abstract: Based on applied teaching practices, this summarizes the software engineering teaching experience of the author"s unit. It proposes a set of effective and practical approaches to the establishment of software engineering teaching teams. It describes the practical experience of the team in building of teaching resources, curriculum creation, and special training programs etc. It points out the series of methods and measures adopted by the teaching project team that reaped significant results. It further provides directions of future reform for further contemplation and discussion.

Key words: software engineering; teaching team; education reform

(编辑:郭小明)

推荐访问:软件工程 团队建设 方案 教学