时间:2023-03-02 15:02:37
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇软件工程专业论文范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
我国的计算机软件专业教育在国际化、标准化方面已经大大落后于先进的国家。首先是英语教育水平不高。在软件产业,英语毫无疑问是第一语言。爱尔兰、印度之所以成为软件出口大国,与这些国家拥有大批英语软件人才密切相关。我国软件专业的硕士乃至博士英语听、说、写的能力障碍成为国际化的一道坎。练好英语也成为我国软件人才流向外企或国外的主要目标之一。其次,我国许多高校教材平均每5 年才更新一次, 大大落后于国际软件业的发展。这也是大学生毕业后难以胜任软件企业要求的主要原因。
与之相比,印度APTECH 的教材每年更新一次。
二、国内外市场对软件人才的需求
我国和印度同为发展中国家, 但印度已成为除美国外的第二大软件出口国。尽管我国的软件市场一直保持快速增长,但软件总体发展水平仍处于初级阶段, 这使我国的软件产业将有进一步快速发展的空间,软件工程也会得到更多的重视和扶持。
国内市场每年对软件人才的需求高达80 万,而各高校计算机专业毕业生中的软件工程人才还很缺乏, 高素质的软件工程人才尤为短缺。毕业生主要在软件公司、企事业单位、高校、研究所、国防等部门从事软件设计、开发、应用与研究工作;另外也可攻读本学科或相关高新技术学科、交叉学科的硕士学位。推荐阅读:
因此,面对如此高的市场需求,我们开放教育要弥补普通高校的培养人才空缺, 为在职在岗的相关人才提供就业发展的学习机会。推荐阅读:谈机电一体化装置及控制系统的设计论文
三、依靠电大三网优势,发挥成人自身特点,创建自有教学模式笔者认为在教学模式上应该从以下几个方面入手:
1、教师队伍的知识更新专业教师队伍知识更新是至关重要的, 教师是学生学习的引导者,是教学环节的核心力量,因此要想把一个专业建设完善,首先要从教师的知识结构,知识层次入手。 软件工程的特点决定了其基本理论和方法一般需要较长的从业经历或经验, 所以中青年教师常常是这方面的专家; 而程序设计技术和软件开发工具往往是年轻人的专利,相关课程的教学最好由年轻教师担任。在每个年龄段还应该分出教师的层次。
2、教学方案的更新我们应该按照学科特点和学生自身特点,制定实践性强,可操作性强的教学大纲和教学方案。避免流于形式的纯理论教学,教学安排上应该围绕数据库知识、软件工程知识和程序设计知识设计。
近年来,软件行业进入第二春,供需两旺。据调查,以北京为例,软件工程师每年需求50000人左右。据IT英才网数据显示:北京IT职场每月需求达3380个。 [1]但是,软件行业市场的供需出现了错位,一方面,IT企业对软件工程专业的人才需求旺盛,另一方面,软件工程专业的毕业生就业质量却不高。究其原因,是我们培养的人才不能满足企业对软件工程人才要求。
软件工程专业是国家教育部在2002年新增的专业。该专业以计算机技术为主的专业,实践性很强,专业的实践教学体系是培养学生实践能力、计算机工程能力、创新能力的重要途径。我们应该充分了解市场和企业的需求,制订和实施切实可行的实践教学体系。[2]
曲靖师范学院软件工程专业从2008年开办至今,已经培养5届学生,一直以来,我们不断丰富和完善该专业的实践教学体系,形成了相对完备、效果好的实践教学体系。
2 实验室建设是硬件基础
实验室是开展实践教学的硬件保障,实验室建设的好坏,直接关乎实践教学体系执行的成败。一直以来,我们非常重视软件工程专业的实验室建设。实验建设能充分满足软件工程专业实践教学体系的硬件要求。实验设备采购的指导思想是实验设备要先进、实用,充分满足学生的学习和教师的实践教学需要。
该专业已经建成硬件实验室有2个,分别是“计算机组成原理实验室”、“计算机组装与维护实验室”;通信与网络实验室有2个,分别是“计算机通信实验室”、“计算机网络实验室”;软件类的实验室有3个,分别是“软件开发与测试实验室”、“数据库实验室”、“信息技术创新实验室”。同时,为适应当今云计算的研究需要,我们投资200多万建立了云计算平台。
以上实验室的更新及新建,能充分满足师生完成实践教学的需要。
3 软件工程专业技能训练是实践教学体系的抓手
在学生大学期间,为了在不同学期适时提高学生的综合实践能力,我们结合“软件工程专业人才培养方案”的要求,开展了贯穿大学4年的专业技能训练。我们把专业技能训练当作实践教学体系的抓手,专业技能训练根据训练大纲,着力提升学生应具备的专业素养和能力。
我院的专业技能训练主要包括两个级别,一级是课程设计训练,本训练以课程为依托,制定课程级别的训练大纲;二级是综合设计训练,主要训练学生的软件论文项目的开发能力,要求学生能灵活应用所掌握的知识和技能,完成一个综合性、设计性的软件项目。下面分别对这两级训练作详细介绍。
3.1 课程设计训练
“课程设计”是一个多义词词条。它可以指“为掌握某一课程内容所进行的设计”[3]。课程设计是课程实验的高级环节,课程实验是提升学生立体实践能力的根本,课程实验分为验证性实验、综合性实验和课程设计实验,我们在传统验证性实验的基础上开展课程设计实验,提升学生的课程综合实践能力。
以《Java程序设计》课程设计为例,课程设计的目的:利用Java语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。
软件工程专业的已经开出课程设计的课程有4门,分别是:OFFICE办公软件、计算机组装与维护、C语言程序设计、JAVA程序设计。我们针对这些课程,在编写实验大纲时,要求包含课程设计,设计方案要经过专业系的审核和教授委员的审定。最后,以审定通过的课程设计为依托,为后续综合实践能力的提升打下坚实的基础。
3.2 综合设计训练
综合设计训练的目的是锻炼学生综合所学知识,设计和开发一个小项目的能力。这些项目有“JAVA程序设计”、“商业数据库开发”、“J2EE企业应用”、“JAVA Web开发”等,这些小项目的训练要基于几门课的知识和技能,如“JAVA Web开发”就需要学生综合数据库、软件工程、JAVA程序设计语言等知识与技能。
综合设计训练要与毕业设计区别开来,此训练的主要目的是让学生体验和掌握项目开发流程,同时锻炼综合应用所学课程来完成一个具体的小项目。
3.3 软件工程专业技能训练安排
]
为鼓励学生多渠道获得技能分,我们规定,学生参加通过全国软件资格(水平)考试(中级),可以获得2学分,参加通过软件资格(水平)考试(高级),可以获得3学分。
4 毕业设计是实践教学体系总结性的实践环节
毕业设计是教学过程的最后阶段采用的一种总结性的实践教学环节。通过毕业设计,学生可以综合应用所学的各种理论知识和技能,进行全面、系统、严格的计算机技术及软件工程能力的练习。[4]毕业论文(设计)是实践教学体系的技能整合,我院对毕业论文(设计)作重大改革,着力打造学生综合实践能力。
参加毕业论文(设计)的学生分两部分,一部分在公司实习,同时要在公司完成毕业论文(设计)工作,余下的学生在曲靖师院完成毕业论文工作,为提高毕业论文(设计)的质量,经向教务处请示,允许我院结合专业实践性强的实际,改革本专业毕业论文(设计)工作。改革思路包括三点,一是我院学生的毕业论文(设计)以毕业设计为主,弱化对学生文本的要求,强化对实践动作能力的提升和检查,二是做好规范管理工作,制定相关文件,如:“信息工程学院毕业论文(设计)工作规定”、 “信息工程学院毕业设计开发文档的撰写与打印规范” 、“信息工程学院毕业设计开发文档”等。
5 校企合作助力实践教学体系
为提升学生的实习效果和就业质量。我们自2012年开始,与四川华迪信息技术有限公司开展毕业实习的合作,该公司是一家集软件外包、信息服务、学生专业技能培训为一体的公司,在以上业务深耕12年,在全国小有名气。我们的学生参加校企合作实习有两种类型,一是为期三个月的专业实习,二是为期四个月的就业培训。三个月的专业实习分为Java开发方向和计算机网络方向,Java开发实训的重点是提升学生的软件开发实践能力和水平,计算机网络方向的实训重点是提升学生的网络规划、设计、实施、部署的能力。
从2013年开始,软件工程专业的学生几乎都参加校了企业合作的实习,取得了良好效果,学生的专业实践能力提升了,就业质量明显提高,很多学生就在四川成都就业、创业。
6 结语
本文结合长期的思考和实践,不同的实践环节有机整合,大大提高了学生的职业能力和素质。软件工程专业的实践教学体系的构建和实践是一个系统的、长期的过程,还需要我们不断地探索,进一步提高人才培养质量。
参考文献:
一、引言
软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。
我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。
通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:
(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。
(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。
(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。
(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。
因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。
二、生源基础分析
gswe2009对给出了软件工程硕士的三种主要生源:
(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;
(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;
(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。
在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。
三、知识体系分析
2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。
四、课程设置分析
通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:
(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。
(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。
(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。
传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。
在职业实践的第二步实际职业实践中,学生自己从课堂走出去,到实习基地、用人单位或者是校企合作的相关公司企业进行真正的软件工程实践,学习良好的职业道德,正规的软件工程管理方式,同时在实践中学习和总结自己的研究生学习过程,进入第三阶段论文撰写,这就避免了以往硕士研究生写论文闭门造车的现象,为论文提供了更好的实践依据,提高了硕士论文的质量,这一步通过从实践中回到学习上来培养学生的总结、概括、撰写文档的能力。
数字媒体方向课程体系的建设以创新性复合型人才培养为基本指导思想,重视实践课程的开设,使学生所学习掌握的方法具有充分的实效性,真正做到学有所用,以适应未来的工作岗位,成为本行业和企业所欢迎的有用人才。课程体系分为软件工程专业核心课程模块、数字媒体方向核心课程模块、专业实训、毕业实习和毕业设计(论文)等模块。
1.1核心课程
软件工程专业数字媒体技术方以软件工程专业为主线构成专业基础和专业主干课程。其中,计算机与软件基础课程有:计算机导论、程序设计入门、面向对象程序设计、数据结构与算法、Java程序设计、计算机组成原理、数据库原理、计算机网络、操作系统、编译原理、信息安全技术、计算机体系结构以及J2EE与中间件技术;软件工程专业课程有:软件工程导论、软件测试技术、需求分析与UML设计、软件项目管理与过程控制;数字媒体技术专业课程有:数字媒体技术导论、计算机图形学、数字图像处理、网络流媒体技术、用户界面设计、视频音频制作与处理、数字影视特技应用、高级游戏特性与游戏引擎、人机交互技术、虚拟现实技术与应用、高级脚本与插件技术等。对于实践性较强的课程开始单独的实验课程和配套的课程设计。
1.2特色课程
计算机网络游戏由计算机技术、艺术设计学和计算机动画以及计算机图形图像技术高度交叉结合,目的是培养具有扎实的游戏编程功底和良好的逻辑思维习惯,具备较强的审美能力和一定的艺术素养,熟悉游戏产品开发流程,具有一定的策划能力,能在游戏公司、门户网站、手机运营企业、动画公司等单位从事游戏设计、游戏开发、游戏制作、游戏策划、游戏运营等方面工作的富于竞争力与创新精神的高级复合型人才。计算机游戏程序设计。课程目标:本课程主要学习普及游戏开发理念,培养游戏开发氛围,挑选有潜力的学生组成开发团队;传授游戏开发中的程序设计要素,特别是游戏引擎开发的基本知识。通过本课程的学习,学生能够掌握游戏开发的基本理念,熟悉游戏开发的基本技巧和流程,并具备从事游戏程序设计工作的基本技能。虚拟现实与数字娱乐。课程目标:本课程主要介绍虚拟现实的基本概念及其系统组成、相关的软件技术及虚拟现实的应用,并介绍了当前数字娱乐的现状,发展和一些关键技术。内容包括:虚拟现实的定义、特性和组成,虚拟世界的创建和管理,虚拟现实中的视觉计算,虚拟现实中的交互技术,虚拟现实中的声觉计算,增强现实,分布式虚拟现实,虚拟现实应用,与虚拟现实相关的数字娱乐技术。
2实践教学体系
培养符合时代需要的创新性人才,就要强化实验教学的开放性和多层次化。基于创新性原则和以生为本原则,结合培养目标和自身教学特点,数字媒体技术方向实践教学体系分为课程实验,专业实训、毕业实习和毕业设计三个方面,各实践环节之问相互协调、相互衔接、循序渐进。
2.1课程实验
依照实践能力培养循序渐进的原则,根据实现数字媒体技术专业基本能力培养的系列课程,并按照系列课程的复杂度和规模设计实践环节,开展了多层次课程实验教学,根据学生的需要和实践能力培养的渐进规则,将实验课安排大学四年的各个环节。多层次实验教学是指在实验大纲与目标的规范基础上,将实验项目设计成基础型、综合设计型、研究创新型不同层次的实验。同一学生从基础规范一综合设计一研究创新这样难度递增的实验项目中逐渐进行训练,实现系统培养学生综合实践能力。课程实验主要包括:手绘训练、视频特技与非线性编辑、多媒体网页设计、移动娱乐软件开发、网络娱乐软件开发、界面设计课程设计、虚拟现实开发课程设计等。
2.2专业实训
专业实训作为知识、能力、综合素质教育的结合点,成为数字媒体技术专业实践教学的重点之一。专业实训是对课堂教学具有延伸作用,是学生培训职业能力、熟悉职业环境、了解实际知识的重要渠道。通过专业实训,学生不仅可以把所学转化为所用,还能使学生在学习操作过程中通过不断调整自己的知识结构来慢慢适应相应职业岗位,锻炼职业的能力,为实习以及今后走向社会积累经验、打下基础。我校软件工程专业是校级专业综合改革试点专业,以争建微软IT学院、HP软件学院为契机,与知名IT企业开展深度合作,联合培养具有国际视野的软件开发、软件测试和服务外包人才。与中软国际、Tarena(达内)科技等十多家IT企业联合建立了实习实训基地、就业基地。
2.3毕业实习和毕业设计
毕业实习是学生将前期学习到的知识运用到生产实践中,真正了解、感受未来的工作,锻炼自己各方面的综合能力。真正实现与行业需求的专业实践能力对接。能胜任相应岗位的工作,从而积累工作经验,为就业做准备。为了增强学生和指导老师对毕业设计(论文)及毕业实习的重视,提高毕业设计(论文)的质量和提高学生在毕业设计(论文)及毕业实习实践环节获得的实践能力,也为缓解毕业设计时间(论文)不足,笔者将毕业实习与毕业设计(论文)有机结合,实行“毕业实习+毕业设计”相结合的模式,学生毕业设计的内容来自于毕业实习,并且毕业设计的内容要将毕业实习的内容进行一定的升华,除体现学生四年来所学知识综合之外,还要体现出学生的创新能力与科研能力,达到培养创新型、复合型人才的标准。
3结束语
关键词:工业化教育;软件工程教育;软件工程专业课程体系;逐步工业化教育模式
0、引言
为满足21世纪国家工业化发展需求,教育部启动了“卓越工程师培养计划”,旨在鼓励各大高校推进教育体制改革。针对国家新的发展战略,结合“国际化,工业化,高质量,高速度”办学理念,哈尔滨工业大学国家示范性软件学院(HIT-NPSS)提出了一套软件工程专业逐步工业化的教学改革模式。
在过去的10年中,HIT-NPSS对现有教学模式进行深入分析,结合IT企业实际需求和反馈,借鉴欧美国家的教育制度,逐步建立并完善了一套面向工业化的软件工程专业本科生培养模式。这种新的培养模式成功缩小了毕业生能力与企业期望之间的差距,成为哈尔滨工业大学教育体制改革的成功案例之一。
1、工业化课程体系模型
HIT-NPSS本科生课程体系的设置不仅注重学生课堂知识的获取,还以培养学生工业化技能(包括动手能力、交流和表达能力,以及自学能力等)为基本目标。对于软件工程专业的本科生,掌握专业基础知识固然重要,但在当今的工业化环境下,能否在实践中灵活运用这些知识才是衡量学生素质的首要标准。为此,HIT-NPSS本着为学生成长服务的宗旨,基于IT企业人才需求,充分吸纳优秀的IT企业文化,立足学院的国际化办学环境,提出了一套以学生为主体,教学与工业实践紧密结合的面向工业化的本科生课程体系模型,如图1所示。
该课程体系模型的核心包括3大知识领域:计算机技术、软件工程以及IT策略与管理;4大应用领域:网络通信与信息安全、服务科学与企业信息化、多媒体与信息处理以及嵌入式系统与软件。
2、逐步工业化的教学方法
HIT-NPSS的本科课程共分为4个学年、8个学期。学生前3个学年在校内学习理论课程和实践课程,第4学年到IT公司进行工业实习,不同学年的课程具有不同的针对性。
2.1 理论课程设置
第1学年以基础课程为主,包括基础理论类课程、专业基础知识类课程以及基本编程技术类课程。为了强化学生的动手能力,我们还增设了C++程序设计以及程序设计实践2门课程。特别是,HIT-NPSS本科生第1学年还开设了IT职业道德、交流技巧以及IT企业管理3门管理类课程,重点培养学生的团结协作能力等职业素养。基于以上课程设置,学生在完成第1学年的学习任务后,能够扎实掌握计算机基础知识,养成良好的编程习惯,提高交流和表达能力。
第2学年以计算机软件系统类课程为重点。通过数据结构与算法、操作系统、数据库系统以及计算机网络等课程帮助学生打下良好的计算机软件系统理论基础;通过软件工程课程帮助学生加深对软件开发生命周期的理解;通过面向对象技术与UML、Java编程技术以及软件开发实践等课程提高学生的软件开发能力和实践技能。此外,为了增强学生对现实IT工业领域的了解,该学年还开设市场营销学、合同法以及财务管理3门管理类课程,这也是HIT-NPSS课程体系的特别之处。
第3学年是学生在校内学习的最后一年,完成第3学年的课程学习后,所有学生将到IT企业进行为期一年的工业实习。第3学年的课程主要为了培养学生解决问题的能力和计算机技术应用能力。开设的课程包括编译原理、多核程序设计、面向服务的计算技术、用户界面设计、算法设计与分析以及软件测试与质量保证等。由于软件工程领域覆盖面较广,按照个性化的教育理念,HIT-NPSS软件工程本科专业下设网络通信与信息安全、服务科学与企业信息化、多媒体与信息处理以及嵌入式系统与软件4个专业方向,各方向按照培养学生相关专业技术和实践能力的目标分别设置不同的专业课程。在此基础上,本学年还开设了软件开发过程管理、项目管理、商务谈判及知识产权法4门课程,以培养学生的专业素养,为第4年的工业实习打下良好的基础。
2.2 逐步工业化实践环节
为逐步实现工业化教育目标,HIT-NPSS在每学年理论课程的基础上,分别设置了以下实践内容:
(1)大学生创新项目。大学生创新项目以“兴趣驱动、自主实验、重在过程”为原则,在第l学期课程结束后,要求学生以项目组形式自主完成软件研发课题。对于课题的选择,学院并没有统一规定,学生可以按照各自兴趣选题并分组。为了鼓励和支持学生的创新研究,学院将为各组安排一名指导教师,对软件开发的全过程进行监督和指导。学生利用课余时间完成创新项目,在第1学年结束前学院将对各组的创新项目进行评审,对前10名予以奖励。经过几年的实践,大学生创新项目已经成为HIT-NPSS一大文化特色。
(2)短期企业实训。企业实训是HIT-NPSS课程体系的一个重要组成部分。在第2学年的第2学期,学生将被分配到指定的企业基地进行为期4周的学习和训练。整个实训过程以实际项目开发为主导,中间穿插工具类、职业规划类等培训课程,学生在IT企业环境中参与企业项目开发,体验从需求分析、系统设计、编码实现、测试及交付使用的软件开发全过程。短期企业实训为学生提供了接触企业实际项目、发现自身兴趣和不足的良好机会。
(3)软件工程实践。软件工程实践在第3学年的第2学期进行,是逐步工业化教育的第3步,要求学生以分组的形式在2周时间内完成一个软件系统的开发。与短期企业实训相比,软件工程实践过程中学生要独立完成软件开发生命周期的各个阶段。通过软件工程实践,学生的编程能力、解决问题能力、一般平台应用能力、流行工具软件的使用能力以及项目管理能力将得到全面提升,这也为第4学年的工业实践打下良好基础。
2.3 企业实习
软件工程专业本科生第4学年将在IT企业实习中,完成具有一定技术难度和较大工作量的技术方案设计和软件开发等工作,并在此基础上完成(撰写)本科毕业论文。通过工业实习,学生的软件开发能力、工程实践能力以及自学能力都将得到大幅度提高,完成学生到企业员工的软件产业人才的逐步转变。
(1)双导师机制。HIT-NPSS要求所有的学生必须在IT企业进行至少一年的工业实习。为了保证课堂学习向工业实践的平稳过渡,学院不仅要帮助学生选择合适的实习基地,还要帮助学生确定指导教师。为此,HIT-NPSS提出了双导师机制,即学生在校内和校外(实习基地)各选择一名指导教师,校外导师主要负责指导学生软件项目开发,校内导师主要负责指导学生毕业论文撰写。HIT-NPSS要求软件工程专业本科生的毕业论文要基于其工业实习期间直接参与的软件工程项目,双导师机制不仅能够帮助学生填补不同领域的知识空白,还能够有效建立起大学和IT企业的沟通桥梁,保证学生工业实践和毕业论文的顺利进行。
(2)实习监管方法。在双导师机制的基础上,HIT-NPSS通过开题检查、中期检查以及结题验收对学生的整个实习过程进行监管。在工业实习的前3个月内,学生必须在校内导师和校外导师的共同指导下完成论文开题报告,即确定论文题目、主要内容以及关键技术等。在工业实习3个月后,学院将到实习基地对学生的选题情况进行检查,争取尽早发现存在的问题并对学生进行有效指导。中期检查将在选题后的3个月内进行,检查过程与开题检查相似,目的是检查学生的工作进展是否符合开题报告中的日程安排,帮助学生解决实习中的问题与困难。此外,中期检查也是学院与实习企业交流学生实习表现、调整未来实习派遣计划的重要手段。结题验收是学生工业实习结束前的最后一次检查,一般在实习基地进行,在学生展示自己的工作内容后,由企业顾问和校方专家共同评估其实习情况。
截至2013年,HIT-NPSS已有2937名学生在200家IT企业完成了工业实习。
2.4 校企合作模式
为充分发挥企业在工业化人才培养过程中的作用,HIT-NPSS采用多种模式加强校企合作。主要合作模式包括以下几种:
(1)校企合作高峰会。校企合作高峰会以不同的主题每年举办一次,是高校和企业高层以及产业高级人员共商共计的重要平台,有效促进了校企之间的沟通与合作,对全面实施卓越工程师培养计划起到了巨大推动作用。截至2013年,HIT-NPSS已成功举办了多届校企合作高峰会,累计邀请过220余家企业参会,并与中兴通讯股份有限公司、金山软件有限公司、浪潮集团等50多家知名企业保持着长期合作关系。
(2)校内工业实践基地。在广泛开展校外工业实习的同时,HIT-NPSS也与哈尔滨本地软件公司合作,在校内建立工业实习环境,提高学生的软件开发能力。学生可在校内工业实习基地进入企业的项目组,参与具体项目的开发。目前,哈工大首创科技股份有限公司、哈工大慧通新意信息技术有限公司、黑龙江省计算机网络与软件评测中心等公司已进驻校内实习基地。
(3)联合实验室。联合实验室是校企合作的另一种模式,主要用于教学和软件开发实践,由软件学院负责提供场地和设备,由企业提供开发平台和各种工具软件,并由企业定期为软件学院的师生开设专题讲座,进行相关指导。目前,HIT-NPSS已与浪潮通用软件公司、金山软件股份公司和英特尔亚太研发有限公司共同建立了联合实验室。联合实验室的建立,为软件学院建立科学的课程体系和工业化实践教学管理方法,实现工业化软件人才的培养创造了良好条件。
(4)学生俱乐部。学生俱乐部是由软件学院和软件公司共同支持的实践类学生社团组织。学生俱乐部依托实际项目、模拟企业真实经营环境,有效培养学生的IT实践经验和创新能力,同时加强校企技术交流。目前HIT-NPSS已组建起亦飞、零度、腾讯等7个学生俱乐部。其中,亦飞俱乐部由阿里巴巴集团支持在2003年创建;零度俱乐部由金山软件股份公司支持在2004年创建;腾讯俱乐部由腾讯科技有限公司支持于2005年创建。
(5)企业家论坛。HIT-NPSS于2003年发起了企业家论坛活动,主要形式是邀请国内外著名企业家到校进行讲座或演讲。论坛的宗旨是让学生了解行业动态、把握领先技术、了解企业发展历程,以实现活跃校园气氛、开拓学生视野、树立企业形象的最终目标,同时促进企业与哈工大软件学院的相互了解与广泛合作。到目前为止,HIT-NPSS已经邀请了30余名知名企业家作为演讲嘉宾。
(6)青年校友论坛。青年校友论坛是HIT-NPSS品牌活动企业家论坛的进一步延伸。青年校友论坛的演讲嘉宾主要是软件学院的毕业生,在企业工作2年以上。青年校友论坛是在校学生与学长们交流的平台,大家一同分享上学的心得、实习的体会、工作后的经历。青年校友论坛的创办宗旨是进一步落实学院的工业化教育模式,深化学院工业化办学理念。到目前为止,已邀请过10余名毕业生重返母校作为论坛嘉宾,青年校友论坛成为HIT-NPSS工业化教育模式中不可或缺的一部分。
3、学生就业情况
在工业实习期间,很多学生便已决定毕业后加盟实习公司或合作企业。工业实习机制不仅为学生创造了良好的就业环境,同时实现了高校和企业的双赢。一方面,高校能够与一流工业实践基地保持长期稳定的合作关系,以便为学生提供更好的实习机会;另一方面实习生可以成为实习公司的潜在员工,这不仅解决了企业的招聘难题,也大大缩短了企业新员工培训时间。经过9年的实践,哈工大软件学院已与一批知名企业建立了良好的长期合作关系,成为我国高校工业化实践的成功案例之一。
根据统计,外资企业、国内500强企业、科研院所以及IT企业是哈尔滨工业大学学生就业的主要去向,每年到这些单位就业的学生约占毕业学生的90%以上。外资企业主要包括IBM、微软、AUTODESK、NEC、东芝、三星、摩根士丹利以及Oracle等企业;国内500强企业主要包括中国移动、中国联通、航天科工集团、工商银行、华为、联想、神州数码等国内知名企业;科研院所主要包括各大部委和全军所属各研究单位、中科院、中国航天机电集团公司、中国电子科技集团公司所属的科研单位、全国各高校;国内知名IT企业主要包括百度、腾讯、金山、用友、盛大、阿里巴巴和搜狐等著名IT企业。超过50%的毕业生由其实习公司或合作企业录用。
关键词:讲一 练二 考三 素质教育 创新人才
1“讲一、练二、考三”的意义
知识经济时代呼唤教育培养创新人才,业已取得了广泛共识。基于这种共识,把素质教育放在首位,以素质教育为中心,更新教育观念,进行教学改革,才能适应新世纪社会发展的需要。因此,树立“以学生为主体、以教师为主导、以训练为主线、以思维为核心、以能力为目标、以育人为目的”的现代教育观,在教学内容、教学方法等方面强调改革、创新与发展,逐步从根本上改变“单纯传授知识”的传统教学方式,大力提倡“讲一、练二、考三”,使学生由依赖性学习转向自主性学习,尊重学生的选择与参与,从而能够更有效地发挥学生的学习主动性,使其掌握知识、提高能力、内化素质,确保他们的全面发展。
2“讲一、练二、考三”的适用范围
根据知识的复杂性,斯皮罗等人将知识划分为良构领域(well-structured domain)的知识和非良构领域(ill-structured domain)的知识。所谓良构领域的知识,是指有关某一主题的事实、概念、规则和原理,它们之间是以一定的层次结构组织在一起的。非良构领域的知识则是将良构领域的知识应用于具体问题情景时而产生的,即有关概念应用的知识。在所有领域中,只要将知识运用到具体情景中去,都有大量的非良构的特征。
从目前的教学现状来看,属于基本概念、定义和事实等的良构知识,比较适合于“教”,而属于开放性的、发散性的、较高层次的认知学习或情感类学习等的非良构知识,则比较适合于“学”。
笔者认为,当今“讲一、练二、考三”的实施,更适用于属于开放性的、发散性的、较高层次的认知学习或情感类学习等的非良构课程的教学。一旦积累了丰富的经验,在属于基本概念、定义和事实等的良构课程中尝试这一新型教学方法也应该是一个良好的开端。
3讲什么、练什么、考什么
3.1讲什么
根据“厚基础、宽口径、强能力、高素质”的人才培养模式,要正确处理好知识、能力和素质的关系,传统教学内容和现代教学内容的关系,继承与创新的关系,统一性和多样性的关系等。按照不同的学科特点,可以分层次(如可分为基本素质层次、专业知识层次、特色技能知识层次)讲授,从中体现教学内容的“精、深、新”。
精,就是强调对讲课内容要精选。对教学内容做全面梳理,把其中的核心内容,以及现实性较强、有发展前途的内容保留,大胆删除陈旧过时而又繁杂无用的内容,编写或采用在内容和体系上有较大革新并经过试用效果较好的教材。
深,是指不能止步、满足于描述的认知层面,而是强调在授课中透过具体的实例,挖掘其背后深刻的思想内涵,提升理论思维张力。使学生能从中得到启示,提高对现实问题的观察、思考和处理能力。
新,是指注重教学内容的动态发展,把现代科学、技术、人文社会科学发展的最新成果,及时准确地反映到课程和教学内容体系中来。要吸收前沿理论的最新进展和出现的新动向、新案例,保证教学内容的先进性,突出课程内容的时代特征,鼓励学科交叉,防止理论与实践的脱节。
3.2练什么
以训练为主线是一种可以大力推行的教学模式,可以使学生由不重视、不感兴趣、不投入的态度,转变为有了兴趣并且乐于全身心地投入其中,从而鼓励学生独立思考,激发学习的主动性,培养学生的科学精神和创新意识,让学生不仅亲身体验从练中学到的本学科知识,更可贵的是学会如何学习。
训练的内容一定要结合讲授内容精心选择练习题目,通过练习深化对知识的理解并逐步转化为能力。这种训练不是指单调枯燥的题海战术,要注重质量,强化应用,给学生提供空间,提出方向,甚至倡导学生走出校门,进行社会调查,拓展学生的视野和知识面。
这里还要注重基本能力的训练,撰写小文章、读书笔记和学术论文等都是一种综合性的训练,也是学生必备的一项基本能力。正是通过这种训练,学生学会了读书,能提出自己的观点,并围绕观点组织材料,同时,文字表达能力也得到了提高。
3.3考什么
考试的内容,应当从对知识的继承性、掌握程度等方面进行考核,但不应该成为主要的方面。这种知识考核明显偏向于善于模仿、记忆的学生,而对全面发展或富有创造性思维的学生,则往往是不公正的排斥。所以,还应该考理论知识的应用和实践动手能力、综合运用知识的能力和知识的迁移能力、应用所学理论分析问题及解决问题的能力。
应当积极推行考、教分离,把重视知识考核改为重视能力考核,要有很强思考性与启发性的试题,采取多种形式检查学生的学习水平和能力。例如写考察报告,做一项小实验,解决一个生活中的问题等内容。这一切培养了学生的学科综合素养和实践能力,从而促进学生个性与能力的全面发展。
4如何讲、如何练、如何考
4.1如何讲
讲授知识的目的不是终结知识,而是提供进一步学习知识的途径。
教师要研究学生的学习规律,通过启发、引导学生内在的学习需求,创造和谐、民主的教学环境。要用精练的语言讲到精要处,点拨到要害处。鼓励运用问题式、启发式、讨论式、研究式等生动活泼的教学方式。注意留给学生的是问号而不是句号。
4.2如何练
我们倡导讲与练的有机结合,即讲中有练、练中有讲,或者把讲授的内容转化成练习的形式,或者是通过讲授激发了练习的兴趣,提高了练习的效率。
关于提高练习的效率,重要的莫过于提出有思考价值、能提纲挈领的问题。要有目的、有计划地规范组织教学活动,通过课堂讨论、协作学习,扩大学生自主学习的空间,让学生学以致用。
让学生获得更多的知识是教学活动的主要目的,但学生如何才能获得知识,一靠教师传授,二靠学生自学,三靠向社会学习、在实践中学习。而通过自学获取的知识更为牢固。因此要立足于培养学生的学习能力,让学生具有独立获取知识的能力。
4.3如何考
考试要建立科学的评价指标。学生学习的好坏应体现在五个方面:一是知识面的宽窄;二是通过自己的学习获得了多少知识;三是学习的经历,包括实践的经历;四是自学的能力;五是创造思维和创造能力,是否有自己的独立见解。因此,在考试方法上,对不同学科、不同年级、不同的学生应有不同的方法。不能靠一张试卷、一次考试来决定学生学习成绩的优劣,应把学生平时学习的情况按权重列入学习成绩中去,把学生通过自学获取的知识、有个人创见的知识列入学习成绩之中。考试时不能仅考记忆性、认知性的知识,还要考综合性、分析性、理解性、创造性的知识。
具体实现起来,首先要设置选择性作业,注重过程性评价。对学生学习的过程性评价,是一种对学生学习过程以及学习情感、态度、能力的发展变化的评价。如积极参与课堂活动,敢于质疑,解题思路具有创新性,积极做“选择性作业”,能与同学协作学习、友好相处等点滴进步,均作为教师平时对学生过程性评价的依据。
然后要采取多元化的考试方式。每门课程根据其课程性质、教学内容、水平要求和教学对象不同,分别采取闭卷、开卷、笔试、口试、论文、读书报告、实验、设计、作品等考试形式(如语言类的课程可以采取笔试、口试相结合,工程类等操作性较强的课程可以采取理论、实际操作相结合),并采取百分制、等级制、合格评价制的综合考试考评制度。
5“讲一、练二、考三”的实证分析
5.1实证1
笔者为现代教育技术方向的硕士研究生开设了“教育技术学”课程,共18讲,每讲2学时。考虑到该门课程理论性较强、内容繁杂的特点,尝试了新的教学方法。
(1)精讲,即“讲一”。纯粹是教师讲授的课时很少,仅为两讲,着重介绍教育技术学的学科发展、理论基础、教学设计的含义、网络教育、信息技术与课程整合的应用、技术实现的现状及发展趋势、当前教育技术面临的问题等。
(2)教师提供学习资源。教师将整理好的学习资源以及相关网址提供给学生,并将教学内容分为五大主题:①学与教的过程;②教育技术学的学习理论;③教学设计;④信息技术与课程整合;⑤协作学习。其中将第三主题“教学设计”作为重点,又细化为学习者特征分析、教学目标分析与确定、学习环境与学习资源的设计、教学策略的选择与运用、学习者评价、教师评价、学习内容评价、网络教学支撑平台与学习支持服务系统的评价八个子主题。
(3)学生进行分组讨论,即“练二”。课前,以上主题两两为一小组,学生可以任选一个主题,选择相同主题的学生构成一个学习小组,轮流担任组长,分配任务,然后大家分头行动,查找资料,各自准备要讲的内容及PPT文稿。课上,学生自己讲,讲的过程中教师及其他学生随时可以提问,讲完后大家再讨论。如在讲学习理论时,讲解的同学能全面阐述行为主义、认知主义、人本主义、建构主义的主要观点、对教学的指导作用,并进行系统的综合比较,讨论时大家又着重围绕对外汉语教学,探讨每一种学习理论对教师的教以及学生的学有何指导作用。课后,每人将对所有人的讲课情况以及参与讨论的情况作一个评价,发给教师,一个月左右教师汇总一次,将其他同学对自己的评价综合后再发给每一位同学,学期结束时,每一位同学也能纵向看到自己的进步。
五大主题专门讲授的时间为12讲。为了便于同学之间充分展开讨论,第一二主题之后、第三主题中的设计过程与评价、第四五主题之后又专门设置了讨论课,共4讲,大家畅所欲言,提出问题,进行认真剖析,讨论过程中出现了许多亮点,有几个同学由此定出了自己的硕士论文题目,如“远程对外汉语教学的学习者特征分析及应对策略”、“网络对外汉语教师的评价研究”。
(4)综合考试,即“考三”。考试采取个人评价与学期论文各占50%的方法。学期论文题目是给出五个思考问题,由学生任选一个写出论文:①有一位对外汉语教师,对教育技术用于课堂教学十分感兴趣,但没有这方面的基础,苦于无从下手。你如何帮助他?给他什么具体的建议?②我校一名韩国留学生,因为身体原因无法正常在校内上课,提出回国在网上学汉语。在远程汉语学习方面你能够提供哪些方面的指导?③你有过网上学习英语或其他课程的经验吗?你认为怎样做才能坚持下来,而且有很好的学习效果?④请你评价网上北语(/)。⑤ 请你评价自己在本门课中的综合表现,包括学习观、学习方法、资料准备、组织能力、协作能力、讲解技巧、问题提出、学习结果等。
从学生交上来的论文可以看出,每一位学生都认为这种教学方式很新颖,而且很适合这门课程。每人选择自己更感兴趣的问题,结合所学知识,有的同学认为自己有了更多的空间和选择,收获也比较大;还有的同学认为在这门课上学到的内容恰好又可以用来指导我们的学习,使我们对教学活动有一个更系统、更深入的认识。而且大家一致认为由自己先查找资料,然后整理并讲给他人听,这样的学习效果(可以吸收95%)远比单纯听教师授课的效果(仅吸收20%)要好得多,自己的自学能力、组织能力、表达能力、协作能力都得到了提高。
5.2实证2
笔者为计算机科学与技术专业的高年级本科生开设了“软件工程”课程,共18讲,每讲3学时。
在2001年12月15日ACM/IEEE公布的CC2001(Computing Curricula 2001)与中国计算机科学与技术课程体系CCC2002中,软件工程被确定为14个知识领域之一。随着软件系统日趋大型化与复杂化,有研究表明,软件工程在未来将成为与计算机科学并列的学科。过去传统软件工程教材中某一章节的内容,如今均已有专门书籍加以阐释,且内容丰富并自成体系,如软件需求分析、配置管理、人机界面等,不仅如此,许多软件工程前沿课题诸如净室软件工程、再工程、形式化方法、CMM能力成熟度模型等,某种开发模式诸如面向对象的软件工程、小组软件工程、个体软件工程、快速软件开发、统一建模语言等等都非常迅速地以专门著述的形式出现。这一切均对该课程的教材体系、教学内容、教学方式及教学规律等提出了极大的挑战,尽管CC2001以及CCC2002对此有其相关的约定。
在这种情况下,从教师角度讲,若想以有限的教学学时完成全部的教学内容,并有效地提高学生的理论素养与实践能力,难度之大可想而知。不是学科教师没有这个能力,而是需要讲授的内容太多、太丰富,以至于教师欲图面面俱到,却在很多方面都只是蜻蜓点水,难以协调和平衡内容的广度与深度、学生理论素养与实践能力之间的矛盾。从学生角度讲,既然软件工程作为研究软件开发和软件管理的一门工程科学,已经成为软件行业中必不可少的专业知识,并且需要不断汲取软件行业实际应用的经验与成果,那么,学习过程中就应该融入实践,从过程中体验和提升认识。然而,笔者在十余年的计算机教学中深刻感受到,许多计算机和信息专业的学生虽已具备了一定的软件理论基础,但由于缺乏实际的、完整的软件项目开发经验,从事软件系统分析、设计和实施的能力十分薄弱乃至欠缺,无法满足行业需要。有鉴于此,我们尝试了新的教学方法。
(1)讲思路,即“讲一”。软件工程的本质与目标是在成本、进度与质量之间寻求平衡点,即探索和追求如何用最少的人力、物力和财力在最短的时间内开发出最好的东西,因此,一切开发方法和管理过程在充分考虑软件复杂性的基础上,都是围绕这个核心来进行的,教师要促使学生必须从课程开始就树立起这个意识,同时,教师要善于将CC2001/CCC2002中软件工程的内容体系、学习目标理清一个有机的顺序教授给学生。我们的具体做法主要是按照IT企业软件中心和项目组的工作思路,在宏观介绍“软件开发模型”、“软件开发方法”、“软件支持过程”、“软件管理过程”的基础上,依次讲授了软件的“立项策划”、“需求分析”、“设计建模”、“实现测试”与“实施维护”等主要内容与基本方法,并穿插引入了“UML(统一建模语言)”、“CMM(能力成熟度模型)”、“PM(项目管理)”等流行的软件工程思想。其中,“立项策划”与“实施”是多数软件工程教材没有或忽略的,但软件企业实际又必须进行的两个重要环节,涉及到软件工程项目的来源(取之于谁)和归宿(用之于谁),看似简单,却是学生将软件工程所学融入实际的桥梁。讲思路环节,可伴随就学生针对软件工程感兴趣的领域进行文献检索、学期中或学期末提交有关该领域前沿课题的综述性论文的要求(学生可检索希赛软件工程专家网――等国内网站;有条件或余力的同学可检索、、sei.cmu.edu等国外网站)。
(2)实施小组软件工程,即“练二”。软件工程实施的成果之一就是里程碑和交付物,即软件开发的阶段性产品或“工作制品”,而这恰好又是学生学习软件工程必须得到训练的内容,同时也是教师衡量和检查学生认识是否提升的手段。具体练习如下:在讲授完“软件立项与策划内容”后,由教师提供不少于三种指定项目或学生自选项目的“软件产品开发任务书”,内容可以小至诸如“机房设备管理系统”、“教学教务管理系统”、“图书管理系统”以及学生操作系统、编译原理等课程的作业,大至诸如企业或导师的项目或课题,每5~7名学生组成一个软件项目组,任选其中一个作为自己的开发任务;每个项目组选出一名组长担任项目经理,负责整个软件系统的规划、设计、协调和实施;项目组下又分设四个任务小组,即需求分析组、概要设计组、详细设计组、程序实现组;各任务小组的负责人在项目实施阶段,承担小项目经理职责;要求每个学生至少是一个任务小组的主要成员(在此期间,建议学生研读《小组软件工程》与《个体软件工程》书籍,以部分获取相关知识和经验)。每个项目组需根据教师提供的文档模板与要求,在规定的时间内依次提交其中各任务小组的阶段性成果,即《需求规格说明书》(第6周)、《概要设计说明书》(第10周)、《详细设计说明书》(第13周)、源程序与《用户手册》(第17周),有条件的同学可提交测试报告(计划、用例、数据)。教师在每个阶段都将会对各小组提交的文档进行点评,提出改进意见,同时结合小组内部的自评与互评,给出每个学生的评价。
(3)综合测评,即“考三”。学期末,在对本课程主要理论体系进行概括、梳理与提升的基础上进行期末考试,在综合制定论文、小组项目、期末考试评价标准的基础上,以“论文占10%,小组软件项目占40%,期末考试占50%”的方式给出学生的综合成绩。
从学生所提交的论文,小组软件工程项目的文档、软件,以及学生的反馈意见和心得体会等方面可以看出,上述方式是得到学生认可的。尤其是小组软件工程项目的实施(项目大小并不重要,重要是其完整性),不仅给学生提供了提升理论和加强实践的机会,也有效地促进了学生之间的彼此协同工作的能力,使其对软件工程实施过程中角色的定位与阶段的理解都有所提高,从而锻炼了学生多方面的能力。而对于教师而言,不仅在诸多分析、设计、实现方法和理念中,强调“面向流程分析、面向数据设计、面向对象实现、面向功能设计、面向过程管理”等思想,以促使学生掌握更实际有效的方法,同时应在软件工程与前导课程、后续课程的关联性方面,以及软件工程自身知识点的关联性方面多花些工夫,使其能够做到有机衔接,而后一点是需要持续努力和探索的。
毕业设计是高职院校人才培养方案中最后一个阶段的总结性的实践教学环节,是理论与实践相结合,锻炼学生综合知识运用能力的主要手段,同时也反映了高职院校教学质量的整体水平。然而,近年来,由于学生对毕业设计不够重视等原因,毕业设计的质量和水平不断下降。基于此,本文以本校计算机软件专业近3年的毕业设计相关数据为例,就上述问题进行了分析,并结合教学实际提出了一些对策,为进一步提高高职院校计算机软件专业毕业设计水平提供依据。
2.存在的主要问题
2.1 学生不够重视
大多数高职院校将毕业设计安排在第六个学期,学生进行毕业设计的时间在三个月左右。其间,学生需要完成查阅相关资料、选题、调研、学习相应软件工具、系统开发、调试、撰写论文等工作,本身就存在一定的难度。
高职学生在校的最后一个学期,也正是学生找工作的高峰期。由于计算机专业的学生总招生量很多,且高职院校的毕业生又不具有重点大学本科生的学历等优势,在严峻的就业形势下,高职计算机专业的学生担心毕业设计会影响就业,所以他们在思想上也不重视毕业设计工作。学生们只是忙于参加各式的招聘会和面试,根本无心去做毕业设计和写论文。即便找到工作,还有相当数量的用人单位要求学生实习。另外,有一些学生选择了专升本,这同样也会占用毕业设计的时间,影响毕业设计的效果。
2.2 选题局限
选题是毕业设计工作的龙头,选题质量是影响毕业设计质量的重要因素,目前高职院校的毕业设计课题大多是由老师给出毕业设计题目,学生选题并进行毕业设计。在选题方面,往往会出现以下的现象:课题缺乏工程背景、不同指导教师之间课题重复、内容陈旧、课题与前几届相似等。这些课题如图书管理系统、人事管理系统、学生管理系统等,此类课题实现难度不大,并且可以从书籍或网上找到源代码,学生只需要将系统界面稍作改动,将别人的论文稍作修改,就可以变成自己的系统和论文。更有甚者是照搬照抄以往学生做的毕业设计。以上也是影响当前毕业设计质量的一个重要因素。
2.3 缺乏正确的设计开发方法
笔者在指导毕业设计的过程中发现部分计算机软件专业学生在毕业设计中没有严格地遵循软件工程的开发方法,导致毕业设计出现了很多问题。主要问题如下:一是有的学生一边写程序,一边了解程序需求,程序完成了需求才清楚。有些需求事先没有,在编写程序时才加入,不得不重新改写程序,给程序的运行和维护带来很大的困难。二是学生往往忽略软件开发的前面几个阶段,直接进行编码,造成软件设计的混乱。三是不少学生选定课题后,没有仔细分析系统功能,就急于开发,结果模块划分不清,人员分工不明确,导致同在一个课题组,有的同学工作量大,有的同学工作量少,或者是模块重复开发的问题。四是很多学生认为编码结束则意味着整个设计就结束了,不重视测试和调试,导致软件缺陷不断。以上问题都严重影响了毕业设计的进度和质量,使得学生得不到应有的锻炼。
2.4 监管不足
毕业设计大部分时间由指导教师组织管理。按照惯例,学生和指导教师之间应每周多次见面,一方面可以方便师生交流,另一方面也可以使指导教师及时了解学生的毕业设计进度。然而由于受到学生找工作、去就业单位实习等特殊情况的影响,指导教师只能通过电话或电子邮箱等方式联系学生,很难准确把握学生的毕业设计进度和困难。而毕业设计整个过程主要是一个项目的开发过程,目前各种检查主要是一些表格文档的填写,比如:任务书、开题报告等,缺乏详细的过程管理计划和专门的监督管理条例。对过程管理要求不严,学生自然有所放松,而学校仅限于对毕业设计相关表格和论文的检查,又或者对己经签署就业协议的同学的毕业设计采取迁就的态度,成绩评判过于宽松。这些因素都助长了学生对毕业设计的敷衍心态。
3.对策
3.1 实行新的毕业设计选题方法
高职院校的特色是以就业为导向,所以高职院校培养的人才首先是立足于应用。高职院校该准确定位,利用好自身资源。因此在毕业设计选题环节上可以采取以下措施:
一是学生自主选题,指导教师把关。学生可以根据自己的能力确定题目,然后由指导教师对学生选定题目的难易程度、工作量大小等进行审核,审核不过关,则学生重新确定题目,直到审核过关为止。根据教学经验,有部分学生在大二时就己经开始为社会上的一些单位进行系统开发,自主选题对于这部分学生来说,不但可以结合他们所开发的项目进行毕业设计,同时也锻炼了自身的能力,也使毕业设计的质量得到了相应的保障。
二是指导教师根据学生兴趣和需求,结合现代社会对人才的需要,从有利于学生就业的角度,尽可能结合生产和科研实际。这样不仅能调动学生的积极性,也有助于最大程序地发挥学生的潜力。
三是对于到录用单位进行毕业设计的学生,可采取校内指导教师和校外企业指导教师共同指导学生毕业设计。毕业设计课题由校企双方结合毕业设计要求及企业实际需求协定。校内指导教师主要负责专业理论方法和毕业设计论文的规范等内容;校外企业指导教师主要负责毕业设计中具体工作的实施。这样不仅能保证毕业设计保质保量地完成,同时也培养了学生的团队精神和实践能力。
最终选题还应由院系组织相关专家对课题的难易度、工作量大小、课题的内容等方面进行审核。
3.2 模式多元化
高水准的竞赛或考证方式可代替毕业设计。近几年来各类组织举办了不少计算机类专业有关的学科竞赛,如“数学建模大赛”、“计算机技能竞赛”、“机器人大赛”等,还有计算机类认证考试,如“思科认证”、“微软认证”、“软件水平考试”等。对于学生参加国家或省市级计算机竞赛并获得奖项或通过高水准认证考试,以及学生参与教师的部分科研项目的这几种情况,其钻研的难度和深度,己经达到甚至超过高职院校毕业设计的要求。对于这部分学生,毕业设计应当可以免修,直接获得学分,毕业设计成绩可以按奖项等级评定。这样一方面顺应了学分制教学改革,也有利于学生积极参加各类竞赛活动和参与教师科研项目。
3.3 结合软件工程指导学生毕业设计
软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。结合软件工程指导毕业设计可以分成以下几个方面:一是将毕业设计的课题按软件工程的要求分为几个阶段,确定每个阶段具体要完成的工作任务和完成期限。二是指导学生按照软件开发中生命周期的方法来完成设计任务,比如系统设计部分先画出数据流图,再根据数据流图设计出模块结构图,接着模块设计,各阶段都要完成书面报告,为以后的毕业设计论文作铺垫。三是系统调试,撰写毕业设计论文。要求学生将各模块组合起来,联合调试,学生可以感受最终设计结果,能够对整个过程有一个更深刻的认识。最后,学生可参考相关书面文档结合理论知识和实践结果,完成毕业设计论文。
将软件工程应用于毕业设计中,不但实现了软件工程这门课程真正从理论到实践的过程,而且也使得学生在软件设计的文档书写规范化等方面有很大的改善和提高。
3.4 加强监管,完善毕业设计制度
首先,在毕业设计动员大会上,应该加强学生思想教育,引导学生正确处理找工作与毕业设计的关系。加强学术道德修养,从制度上防止抄袭和网上下载的现象,使学生引起重视。
其次,可建立毕业设计管理平台,学生定期将毕业设计作品到平台上,指导教师进行检查,并将检查结果及时反馈给学生。学生和指导教师也可以在这一平台上进行交流。通过这一平台,既便于指导教师了解学生的毕业设计进度,也可以为学生成绩评定提供参考。
再者,可成立毕业设计督查小组,对毕业设计的开题报告、中期检查和毕业答辩进行检查。主要检查项目有:选题是否合适、开题报告是否符合规范、毕业设计的开展进度、学生出勤情况、指导教师是否认真指导、毕业设计论文是否规范、成绩评定是否公平合理。
最后,对每一届学生的毕业设计进行评比,评选出优秀毕业论文,对学生及指导教师进行表扬、奖励,可激励广大师生更加重视毕业设计。也可以在学校举行优秀毕业设计成果展,为学生们提供交流和学习的平台。
4.小结