时间:2023-03-20 16:21:00
引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇软件开发专业论文范例。如需获取更多原创内容,可随时联系我们的客服老师。
基于工作过程系统化的构建中职软件开发专业的课程体系,是指根据专业的培养目标,以具体职业岗位需求为依据,由工作过程中的典型工作任务出发逐步梳理出专业课程,再经过合理安排,让学生在完整工作过程中学习,以适应社会企业对软件人才的要求。具体过程是遵循软件人才的工作过程,从工作岗位出发,对工作岗位对应的具体岗位进行工作任务分析,寻找出典型工作任务,然后转换成行动领域,再将行动领域转换为学习领域,最后根据学习领域确定专业核心课程。
1、进行企业调研
主要是对软件开发专业人才培养模式存在的问题以及目前企业对软件技术专业人才的需求状况进行调研,掌握软件技术人员所需的岗位核心能力及要求。
2、培养目标的确定
通过前期对企业的走访调研,明确了中职软件开发专业的人才培养目标:本专业主要是面向软件开发以及相关的IT信息企业,以软件开发技术在IT信息行业中的应用,培养具有良好职业道德、工作态度及行为规范,能够在相应的IT企业及需要相关的企事业单位从事软件项目开发、网页美工、软件项目销售、软件培训以及软件的实施和维护等工作,具有可持续发展能力的初中级技术人才。
3、岗位需求及典型工作任务分析
典型工作任务是指描述一项工作行为,它反映职业工作的内容和形式。结合前期企业调研的岗位需求、相应的职业以及企业的业务方向,发挥合作企业、行业专家对课程改革的指导作用,邀请行业专家以研讨会、头脑风暴等形式,集中分析相应职业岗位所需的典型工作任务模块,进而对工作任务模块所需的知识、技能和态度进行分析,初步构建专业知识与技能的课程体系。中职软件开发专业的主要岗位需求有:程序员、PHP程序员、JAVA程序员、网页美工、软件销售及培训、软件实施及维护。
4、行动领域和学习领域分析
根据工作岗位的能力需求以及典型工作任务的内容,笔者对相应的行动领域进行了分析,并且进行了归类重组:
(1)程序员、php程序员、Java程序员的工作任务有一定的相同性,如都要进行数据库的设计和创建、软件开发相关文档编辑以及服务器的搭建和配置等;他们的不同之处在于服务的业务方向(如有的做网站、有的是做管理系统软件等)、编程语言以及开发平台和环境不一样,如:php主要应用于中小型网站的开发,主要应用于web应用程序、企业级应用程序开发,而Java在web应用程序、企业级应用程序开发以及移动服务应用程序开发均有较多的应用。
(2)网页美工人员体现在行动领域上主要是进行网页设计与制作以及网站的编辑。
(3)软件销售与培训员体现在行动领域上主要是与客户交流、沟通,进行软件的销售以及对软件进行安装、使用的培训。
(4)软件实施及维护员体现在行动领域上主要就是软件的实施与维护。围绕着行动领域和岗位能力要求,笔者整合出了相应的学习领域,再由学习领域的分析,分析得出相应的课程设置。
5、贯穿教学过程工作项目的选取
(1)选定工作项目的方法
①选择的项目内容要分学期循序渐进,由小项目到大项目,由简单项目到复杂项目,最终使学生通过对项目的开发实践,能够达到不同岗位的能力需求。
②每个学期制定一或两个段考终极目标项目,完成项目所需的主要技术能力主要呈现在其中一或两门专业核心课程中,而其它的知识技能经分解后需要由其他的专业基础课及文化课中来支撑。
③结合企业需求,邀请企业专家对选定项目进行研究论证。
(2)明确工作项目经过对岗位能力及学习课程进一步分析和研究,结合企业专家提供的实践意见,笔者整合出了6个项目(班级网站、内容管理系统、在线学习网站、OA系统、商业网站、客户关系管理系统)作为贯穿教学过程的目标工作项目,并确定相应的目标(三维目标)及相互之间的关系。
6、工作项目与课程之间的关系分析
明确了贯穿教学过程中的工作项目以及其需要达到的教学目标后,笔者进一步分析了与工作项目相关专业课程及文化课程的关系,并把课程划分为呈现课程和支撑课程,同时划分了每个支撑课程所需要的知识模块。
7、贯穿项目知识模块重组
依托行业企业,根据岗位的职业标准和行业标准,结合贯穿项目的目标以及相关的知识模块要求,分别重新整合呈现课程、支撑课程的知识模块,并根据整合的知识模块重新制定课程标准。
(1)呈现课程的知识模块重组每个学期的呈现课程,主要围绕着贯穿项目进行相应的教学,课程的最终目标是要实现相应的贯穿项目,而为了实现贯穿项目的过程中,对需要完成的专业知识模块则通过其它的子项目或是子任务的形式进行完成,而子项目或是子任务之间也是一种循序渐进的关系;对于项目需要的其它知识模块,则在其所支撑的专业基础课或是文化课上按模块进行补缺。
(2)支撑课程的知识模块重组
①专业支撑课程专业支撑课程主要是围绕着其所支撑的贯穿项目所需知识模块进行,项目所需要的专业基础知识整合在一年级的专业支撑课程完成,表现方式也主要是以有递进关系的子项目或是子任务的形式进行。
②文化课支撑课程文化课支撑课程主要是围绕着其所支撑贯穿项目所需其它知识模块进行,需要的知识模块主要是根据贯穿项目所需的知识进行相应的整合后进行重组,再根据所包括的知识模块量,确定其实施的学期跨度,比如英语,根据需要,把两年需要的英文知识模块融合在一年级全部实现,而语文,所涉及的知识模块量较大,那么就把所需的知识模块在四个学期学期分别实现;表现方式主要是以体现模块知识的子任务形式进行。
8、制定课程标准
根据重组的知识模块及贯穿的工作项目制定相应的课程标准,内容包括确定课程性质、设计思路、课程三维目标(知识与技能目标、过程与方法目标、情感态度与价值观目标)、课程结构(课程结构主要包括学习模块名、学习内容、实现的专业能力、主要教学方法、教学场所与设备要求、学时等)、课程考核评价方式。
9、制定相应的教学实施方案
根据相应的课程体系、工作项目、课程标准等制定一个可行的教学实施方案。
二、软件开发工作室的创建
为了让学生积极更多项目实践经验、零距离的接触社会企业需求、运营模式和企业环境氛围等,可以工作室的形式组织学生进行软件项目的设计开发,即在软件开发工作室中,通过校企合作及其它途径,承接企业的真实需求项目,以软件专业的学生及老师为开发团队,组织师生进行软件项目的设计、开发、实施及维护等。项目开发主要是以、JAVA平台的为主,在工作室分.NET和JAVA开发小组。工作室的负责教师应该由在企业实践过的专业课教师或者是由有一定实战经验的企业人员兼职担任,只有熟悉企业运作及相关企业文化的教师通过言传身教,才能使学生对企业的更深;同时要求教师把办公的地点移到工作室,并且担任项目总经理的角色,使得教师能够全身心投入到生产教学中,在工作室的运营中,教师不仅要“擅长专业教学、精通教育教学科研”,同时还要“熟练地进行市场经营、会从事或者指导商品生产、懂得现代管理”。结合学生的实际能力和层次给学生分配不同的岗位;按照软件项目的开发过程明确不同的岗位(项目经理、项目组长、界面设计、数据库设计、代码编写、项目测试、项目维护、文案等),实现流水线生产的软件开发模式。在工作室中,主要以项目作为引领,为学生制定长、中、短期的工作任务以及学习目标,学生在任务及目标的驱动下,通过自学、学长指导、教师解答、团队交流等形式进行新知识的学习。
三、行动导向教学法的应用
行动导向教学法主要是以学生为主,着重培养学生的方法能力、社会能力、个性能力、专业能力为培养目标;在“项目一贯制”的实施过程中,以项目为引领,学生为主体,教师为主导,混合使用任务驱动、角色扮演等多种形式和方式,引导学生通过以真实企业的员工身份进行项目的实训、开发等,使学生不断提高职业道德修养、学会学习、主动学习,不断提高分析问题、解决问题等方法能力、社会能力、个性能力及专业能力的水平。行动导向教学法在使用过程中均使用资讯、计划、决策、实施、反馈、迁移六大过程。
四、“项目”教学资源库的开发
充分利用工作室的条件,组织学生、老师分析整理真实项目开发过程中的文档、程序资料等,并根据软件方向的课程体系,对项目进行教学化的开发,搭建软件项目的教学资源库平台,总结出一套适合开发的快速上手实训手册,开发校本教材,为后期的教学实训提供更丰富的资源及更有效的途径。
五、多元化评价的实施
关键词:自主学习;外文文献研读;软件测试;双语研究性教学
0、引言
软件测试是从事计算机软件开发和维护专业的人员应该掌握的一门技术。软件测试是软件工程中的关键活动之一,是保证软件质量的重要手段,其工作量通常占软件开发总工作量的50%以上,而对于某些可靠性要求极高的软件系统,如航天、银行等领域的软件系统,软件测试占软件开发总工作量的比例甚至达到60%~80%。软件测试的目的是发现软件中的错误,并及时修正这些软件错误,以减少软件在后出现错误,提高软件产品质量。软件测试是一项需要专业技能的工作,它包含许多理论和实践。如果缺少这些理论知识和实践经验,测试的深度和广度就不够,测试质量也就无法保证,从而导致软件质量达不到要求,影响软件的可信性。
由于国内软件产业的现状所致,很多的软件公司属于软件外包型公司,这些公司以软件开发为主。这样,软件工程专业很大一部分学生毕业后通常从事软件开发或者程序员工作,这也影响着学校对软件工程专业的设置。因此,当前高校在软件工程专业课程设置上往往将很大一部分精力放在软件开发课程的设置上,如各种语言的学习、软件开发方法的学习等。但是,软件工程不仅包括软件开发,还包括软件测试以及软件维护。大部分国外大型软件公司,如微软、IBM等公司,这些公司对软件测试非常重视。在这些公司内部,软件测试人员数量并不比软件开发人员少,因为一个优秀的软件产品最终是通过不断的软件测试进行验证和评价的。随着软件工程课程的不断完善,当前软件测试的重要性已逐渐得到重视,很多高校已将软件测试课程作为软件工程专业课程中的必修课程。该课程是软件工程的核心组成部分,是连接软件开发和软件的纽带。通过本课程的学习,学生要了解软件测试及其管理的重要性,掌握软件测试基本理论、技术和方法,具备研究设计测试用例和使用自动化测试工具的基本方法和实践能力,能将测试驱动的理念融入软件开发、维护的研究与应用中,从工程化角度提高和培养学生从事大型软件的测试技术和能力。
尽管软件测试课程已作为软件工程专业的必修课程,但从教师和学生两个角度对该课程的调查反馈发现,教师觉得该课程不好教,教学效果不好;而学生感觉该课程较空洞,没有发现其在实际软件开发中有多大的应用。这主要因为在传统的软件测试教学中,学生只是被动地参与,听教师授课,听教师讲授各种软件测试概念和方法,但学生并没有真正学到这些理念,并没有对这些方法进行应用。所以这种传统的软件测试教学方法效果很难令人满意。
扬州大学信息工程学院将软件测试课程作为一门双语研究性课程进行试点改革,探讨如何更好地进行软件测试课程的教与学。本文将以该学院软件工程专业软件测试课程为例,探讨学生自主学习的软件测试双语研究性教学方法。笔者作为该课程的授课人实施了本文的软件测试教学方法,其目的是研究如何促进学生进行双语研究性教学,促进学生主动学习软件测试新技术,从而让学生学到软件测试课程中的一些测试理念,让他们了解软件测试在整个软件开发过程中的重要性。
1、软件测试双语研究性教学
软件测试双语研究性教学主要包括三方面内容:教学、研究、实践。这三者在软件测试双语研究性教学中的关系是:以教学为本学习,以研究为重点突破,以实践为辅助训练。下面分别介绍这三方面的内容:
1)教学方面。
软件测试双语研究性教学和传统的软件测试教学一样,根据软件测试教学大纲进行教学,主要包括软件测试基本概念、软件测试基本方法、白盒测试、黑盒测试等。由于研究性教学过程中加入了研究,所以教学是以基本的测试理论和技术为主。另外,在教学过程中,由于本课程属于双语课程,所以教学过程中采用英文PPT,中文授课方式进行教学。另外,教学主要以启发式教学为主,让学生更多参与课堂讨论,由于本文主要讨论研究方面,所以这里对教学不做详细讨论。
2)研究方面。
本课程采用的是研究性教学,因此研究是本课程的重点和特色。本课程所采取的研究方式主要以学生自主学习为主,采用阅读文献的方式。由于本课程是双语教学,研究过程中所提供的文献材料全部是英文论文,这些材料都是从当年软件工程领域顶级国际会议中选取的有关软件测试方面的最新技术和方法,这样有助于学生开阔视野,了解最新的软件测试技术、方法,及软件测试发展的方向。这一部分的实施方法将在第3节进行详细介绍。
3)实践方面。
软件工程是实践性很强的专业,同样,软件测试也是如此。需要通过不断的实践才能理解和掌握软件测试技术,将测试理念贯穿到软件工程项目中。本课程软件测试实践主要包括三方面内容:一是验证性实践,熟悉已有测试工具,学会使用这些工具,并利用已有测试工具生成测试用例;二是自己开发软件测试工具,主要根据研读的论文进行工具的设计和开发;三是软件测试工具的验证和评估,主要是对自己开发的工具进行验证和评估。一方面利用已有测试工具来验证当前软件测试工具,另一方面,利用已有软件测试知识评估测试工具在故障识别方面的效率,这有助于学生更深地掌握软件测试技术,了解什么样的测试技术是好的测试技术或者方法,是有效的测试工具。这一部分也不是本文的重点,因此不详细展开讨论。
2、软件测试双语研究性教学特色
本课程作为扬州大学软件工程专业的试点课程,采用双语研究性教学方式进行课程的授课和学习。对于双语性教学,主要采用英文材料,中文授课;而对于研究性教学,主要是让学生进行自主学习最新的软件测试技术和方法,研读相关的英文论文,进行专题报告和讨论,并鼓励学生开发实现这些技术。因此,在本课程的教学过程中,主要体现了5个特性。
(1)自主性:让学生从给定的英文材料中自主选择学习材料,自主组建团队,自主与英文材料作者联系、沟通、交流和讨论。
(2)协作性:学生必须要组建团队,团队成员数量由2~4人构成,团队之间相互协作、配合,共同完成整个研究性学习过程。
(3)互动性:在学习过程中,必须要与论文作者沟通和交流,真正把握论文作者的真正意图,并尝试提出自己的见解,与论文作者进行讨论。
(4)实践性:要能够实现论文材料中的软件测试方法,在工具开发过程中,鼓励学生采取测试驱动的开发方法,并利用所掌握的软件测试技术去测试自己的工具。
(5)研究性:在研读论文过程中,要对论文进行深入的讨论和研究,特别是对作者的思想以及未来工作、论文中的不足进行研究,提出可能的解决方案。
3、软件测试双语研究性教学实施
笔者主要针对软件测试双语研究性教学过程中的研究过程的实施进行讨论。在本课程中,研究主要是采用学生阅读文献的方式进行自主学习的研究,主要针对当前最新的软件测试技术进行学习和研究。研究性教学具体的实施过程如图1所示。
首先,教师从当年软件工程顶级国际会议中选取软件测试相关的研究技术论文放入文献库中。这样的文献库主要用于学生对当前软件测试的学习和研究。对于本科学生来说,独立地去研读这些最新技术还有一些难度,而且时间上也紧张。因此,研究性学习主要采取团队方式一起研究,这样学生进行自由分组,并且每个小组指派一名学生作为小组组长负责该小组的研究性学习进展。
有了文献库以及学生分组后,就进入自由选题阶段,即各个小组从文献库中选取自己感兴趣的论文。在各小组确定自己的研究论文后,进行论文的研读。在论文研读过程中,要求每个小组每周至少讨论一次,讨论各小组的分工任务完成情况,对原文的理解情况,以及对遇到的问题进行讨论,并且项目小组要及时记录这些讨论记录,每周发送给任课教师。另外,在研读论文过程中,每个小组要用英文与论文作者进行沟通与交流(如果作者没有回复,可以选择与课程教师进行交流),并将交流过程中的对话记录下来作为课程成绩考核的依据。
在论文研读后,需专门安排几节课进行专题报告和讨论,主要用于检查各小组对原文的理解情况。专题讨论内容包括三方面:一是学生对论文内容的理解;二是学生需要提出对论文的见解和观点,挖掘论文可能存在的问题或对论文中的未来工作部分提出见解;三是本小组研读论文的体会分享。在专题报告中,我们还邀请了学院的一些其他教师参与进来与学生们一起讨论,一方面,教师对各个论文本身进行点评;另一方面,教师对各个小组的表现进行点评。另外,在专题报告中,强调学生的参与,就是大家要多提问,多讨论。
专题讨论后,各小组要对原文中软件测试技术进行实现。其中,在软件测试技术实现过程中,鼓励采用测试驱动的软件开发方法;另外,需使用已有的软件测试技术和工具进行测试。在完成开发软件测试工具后,需要选择一些例子进行软件测试技术的验证。最后,各个小组需要提交一份总结报告,主要是关于技术实现进行总结,包括这几方面内容:对论文原文的理解或技术改进,采用的测试技术和工具,技术改进效果的验证和评估。
4、实施效果
该课程已在2012-2013年秋学期的扬州大学软件工程专业的一个班按照本文教学方式进行实践。该班学生40人,我们从2012年ICSE(International Conference on Software Engineering)、FSE(Symposium on the Foundations of Software)、ISSTA(Symposium on the Foundations of Soft-ware)、ICST(Intemational Conference on Sottware Testing,Verification and Validation)、ICSM(Inter-national Conference on Software Maintenance)等国际顶级会议上选取了44篇软件测试相关的论文作为学生学习的资料库。然后让学生自由组队,每组2~4人一起研读论文。最后组队15组,选择了15篇论文进行学习和讨论。在研读论文过程中,建议学生自己与论文作者用英文进行交流和讨论,讨论论文中不能理解的内容;在研读完论文后,我们组织了专题报告,报告主要包括三方面:一是论文主要内容;二是学生对论文的看法以及学生自己的想法;最后就是分享研读过程中的体会。另外,我们鼓励学生用英文进行报告(其中一组采用英文进行报告)。专题报告过程中我们还邀请软件工程系相关教师一起进行点评。
通过这样的学习,大部分小组完成得较好,基本能理解论文内容,也提出一些想法和改进措施。在研读论文后,学生对论文内容和自己的想法进行实践,实现相关技术并进行实验验证。几个月的学习后,大部分学生对这门课的研究性教学方式比较认可。我们以问卷的方式对学生进行了调查分析,调查主要包括对课程教学方式的认可,对自己收获的认可等。发放调查问卷40份,收回有效调查结果28份。该调查问卷由11个问题组成。前10个是选择题,如表1所示,是对当前教学方式和教学效果的同意或支持程度,由1~5这5个选项构成,其中1表示非常支持(同意),2表示支持,3表示无所谓,4表示不支持,5表示严重不支持。统计结果如表1所示。最后一个调查问题是关于这门课程的建议。从表1中可见,学生还是比较渴望学习新的知识,比较认可这种学习方式;另外,学生对自己的学习效果也比较认可。最后,无论从考试效果,还是学生的反响来看,这门课所采用的教学和学习方式是比较成功的。该教学方式也得到学院的认可,所采用的教学方式也得到科技日报、新华报业网等主流媒体的广泛关注和报道。
自考计算机专业毕业论文有1年准备时间,写作时间的分配主要取决于考生软件开发的进度,如果考生开发的软件很成熟,那末后续的写作时间就较快,否则后面的写作就会很被动。例如,一般会在每年7月份登记,9月底开题,期间开发软件,到第二年2、3月就要完成初稿,再留一个月修改。
1、选题。选题首先要重要、有意义。例如有的考生选择设计木马程序,其本身是个病毒程序,这样的程序只能带来危害,实际生活中没有意义,就不能用于做毕业论文。
2、开发软件。开发软件要与实际相结合。实际性非常重要,要自己能开发一个能实际运行的软件。有的考生自己并没有参与实际工作,只是看书是不行的。自己参与的可以是一个大的项目或课题组,论文中介绍完大的系统后,一定要把自己的工作量写清楚。
3、写论文。开发完就可以写论文了,论文是个总结,但是不要写成工作总结,一定要有主题,应体现自己的开发思想和论述。写论文要达到一定字数,一般要3万字。其中,编程代码一般为2-3千行,这个不是机器自动生成的代码,一定是自己写的源代码。
论文结构
计算机专业毕业论文一般有8个部分。1、概述或引言。这个部分相当于大纲,一般要求4-5千字,主要是对软件开发背景,使用的软件工具、环境,最后达到的效果,自我在里面的贡献等;2、需求分析。软件有哪些功能、模块,用的什么工具等;3、设计方案和主要技术。主要是对里面每一部分的详细论述,使用的是什么技术,为什么使用。详细的模块分析或遇到的难点是怎样解决的等;4、具体的实现过程;5、测试。介绍自己开发软件实际达到的效果;6、总结。介绍自己开发软件的体会,或自己开发的成果使用情况,有什么评价,自己还有哪些不足,有什么需要改进的地方;7、致谢;8、参考文献。另外,还可以加一个“附录”部分。正文只能有一个中心,其他有重要参考价值的都可以放在附录部分。例如有重要的代码、图表,涉及其他领域的知识,需要解释的等都可以放在附录部分。
案例1:《家装工程预算软件的开放》1、概述;2、需求分析;3、总体设计;4、数据库设计;5、软件功能的实现;6、结论及改进;7、致谢;8、参考文献。
案例2:《经纬中天无线短信增值服务管理软件的设计和开放》1、引言;2、需求分析;3、设计方案论证和主要技术介绍;4、系统设计;5、编码实现;6、实际运行中出现的问题及相应的解决方案;7、结束语;8、致谢;9、参考文献。
答辩程序
答辩现场会有专业老师组成的答辩小组,一般为5人左右,学生抽签分配答辩组。答辩现场要考生做介绍和演示。考生需要提前准备幻灯片,一般不超过20张,为论文最核心部分的内容。考生结合幻灯片介绍论文,答辩小组老师会根据考生论文提出问题,考生要实事求是回答,最后答辩小组老师打分,求平均分给出考生论文成绩。大部分考生都会达到优、良,个别考生没有通过论文,主要有两方面原因:1、论文并不是自己真正所做,用别人的软件为自己所用,老师一提问就能发现破绽;2、考生论得太简单,达不到工作量。这就需要考生踏踏实实地按照要求去作论文。
零碎提醒
论文的题目不要太大,一定要具体、实际,不能吹成通用的;
自考生考过全部课程后,最好能寻求实践机会。可以去应聘公司,真正参与一个项目,一边工作一边写论文;
论文不要上网抄,一定要自己做;
引用资料要有脚注;
省属高校的软件工程专业多脱胎于计算机科学与技术学科,在研究生人才培养模式上受限于计算机科学与技术研究生培养模式。部分高校甚至于采用同计算机专业研究生实施无差别培养方式,这一根本性原因带来诸多问题。
1.人才培养方向目标定位不清晰
软件工程专业硕士应当仅限于软件工程师的培养。软件工程具有极强的工科属性,其人才培养,除软件工程科学硕士和计算机科学技术一样,可培 研究型人才外,专业学位应当清晰定位于培养具有软件工程必备基础知识,在软件工程某一领域具有较强专业知识与技能的工程师。
2.师资比较缺乏,尤其是双师型师资缺乏
软件工程正式成为独立的学科时间相对较短,软件工程师资大多来源于计算机科学与技术专业。计算机科学与技术专业可以胜任软件工程基础课程,但这部分教师往往缺乏工程实际经验,在教学中往往表现为重理论轻实践。省属高校十分缺乏来自软件企业一线的项目经理以上的技术管理人员充任实践课程教师。
3.培养模式陈旧,不适应国家教育部要求
由于全日制软件工程专业学位研究生2009年才在全国开展,很多高校沿用学术型学位研究生培养模式,忽视了国家对专业学位研究生培养要求中的专业实践能力的培养,未能很好地开展专业实践教学。
4.课程设置陈旧,不适应软件企业的人才需求
大多数高校软件工程研究生课程设置大多套用计算机科学与技术专业的课程设置,未体现软件工程学科特点。原因主要是因为师资缺乏、招生规模较小,出于节约培养成本的考虑。
二、一种实用的软件工程全日制工程硕士培养解决方案
四川师范大学作为四川省属高校中最早开设计算机科学与技术、软件工程本科生培养的院校之一,在软件工程工程硕士培养的诸多问题上,做了一些有益探索与研究,针对性地提出了一套适合于省属高校软件工程全日制工程硕士培养的解决方案,希望能为同类型高校提供人才培养的借鉴。研究生培养方案的制定,重点需要解决课程体系设置、培养流程规划与控制。对专业学位研究生而言,还需要解决专业实践能力的培养与训练这一关键问题。
1.课程体系设置
软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。
相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。
2.培养流程与实施
教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。
从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。
三、专业实践能力的培养与训练
软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。
1.实验型课程教学
包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。
2.校内软件开发实践
采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。
3.校外软件开发实践
在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。
4.毕业设计
研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。
四、结论
1.软件开发类课程翻转课堂教学模式研究
2.浅谈软件项目开发过程中的需求分析
3.软件开发方法的创新发展过程研究
4.基于Java语言的安卓手机软件开发
5.软件开发的风险分析与控制
6.软件开发过程模型的发展
7.需求工程对于软件开发的重要性
8.软件复用技术及其在软件开发中的应用
9.试论VB编程语言在软件开发中的应用
10.软件开发的风险分析与控制
11.分析软件开发中数据库设计理论的实践
12.基于WBS-RBS的软件开发风险识别与控制
13.敏捷软件开发的双迭代模型
14.基于MATLAB的汽车制动系统设计与分析软件开发
15.软件开发劳动计量方法与软件成本估算
16.基于计算机软件开发的JAVA编程语言分析
17.一种以软件体系结构为中心的网构软件开发方法
18.基于构件的软件开发的方法与实践
19.ABC:基于体系结构、面向构件的软件开发方法
20.面向软件开发信息库的数据挖掘综述
21.浅谈三层架构在软件开发中的应用
22.使用开源软件进行软件开发的风险分析
23.汽车电子控制单元软件开发模式研究
24.软件开发与层次化思维方式
25.SQA规范对于教育软件开发的启示
26.基于证据理论的软件开发风险评估方法
27.软件开发人员绩效管理中的问题及对策
28.敏捷型软件开发方法与极限编程概述
29.信息化软件开发项目经理绩效考评研究
30.基于“众包”的软件开发模式
31.软件开发模型研究综述
32.支持第四代语言的并行进化式软件开发模型CESD
33.光滑粒子动力学核心算法与软件开发中的关键问题
34.面向重用的软件开发价值链
35.基于MVC模式的应用软件开发框架研究
36.支持模型驱动式软件开发的建模语言框架研究
37.3G智能终端软件开发实验教学改革的思考
38.软件开发国际合作模式研究
39.地理信息系统专业学生GIS软件开发能力的培养
40.有色Petri网在软件开发中的应用
41.浅谈软件开发的成本核算
42.一种高效率的软件开发方法——以用户为中心的软件开发方法(UCD)
43.软件开发成本估算技术综述
44.基坑双排桩支护结构设计计算软件开发及应用
45.软件构架设计在软件开发中的意义
46.面向软件开发信息库的数据挖掘综述
47.谈软件开发中的需求分析
48.浅谈插件化软件开发
49.计算机软件技术在植保软件开发中的应用
50.Onboard:以数据驱动的敏捷软件开发协同工具
51.软件开发综合能力培养的案例教学
52.软件配置管理在软件开发平台中的应用
53.软件开发成本估算模型的研究
54.软件开发绩效评价指标体系的构建
55.浅谈计算机软件开发技术的应用研究与趋势
56.军用软件开发工程化质量管理研究
57.计算机软件开发中的分层技术探讨
58.基于学生软件开发团队的沟通机制研究
59.项目管理在软件开发中的应用
60.面向农业软件开发的构件库研究与实现
61.搭建式GIS软件开发及其对软件工程的影响
62.软件开发过程中的质量管理探析
63.软件开发本体构建与模块化的应用研究
64.基于CDIO的高职软件开发专业课程体系设计
65.典型建筑火灾风险评估体系及其软件开发
66.有效的软件开发项目风险管理模型
67.框架技术在软件开发中的研究与实践
68.浅论新时期计算机软件开发技术的应用及发展趋势
69.基于软构件的软件开发框架研究
70.面向软件开发信息库的数据挖掘综述
71.模型驱动的软件开发模式研究
72.以《数据结构》为核心的软件开发课程群建设
73.护理信息网络化管理的研究与软件开发
74.分层技术在计算机软件开发中的应用
75.软件开发生命周期法比较之敏捷与传统
76.基于虚拟硬件在环的控制软件开发
77.项目管理在软件开发中的应用分析
78.项目管理在软件开发中的应用研究
79.软件开发中的设计原则
80.基于学习遗忘作用的人员调度实验设计及其软件开发
81.基于网络的可信软件大规模协同开发与演化
82.华池油田结垢预测及软件开发
83.探析计算机软件开发的规范化
84.软件开发自动化平台的研究与应用
85.架构和面向对象技术在PLC软件开发中的应用
86.国外XBRL软件开发技术比较及启示
87.企业软件开发标准化探讨
88.智能手机操作系统及其Google Android上的软件开发
89.浅析软件测试在软件开发中的重要意义——从软件功能测试的作用谈起
90.软件开发方法及其应用
91.使用嵌入式Linux操作系统进行软件开发的特点及优势
92.基于VB中MSComm控件的通信软件开发与实现
93.软件开发管理中的沟通与协调问题研究
94.基于Java语言的安卓软件开发的研究
95.关于计算机软件开发语言的研究
96.新时期计算机软件开发技术的应用研究
97.培养大学生软件开发创新能力的探索与实践
98.自适应多Agent系统的面向Agent软件开发方法学ODAM
1.1高校专业设计(论文)《选题》问题。高校专业毕业设计(论文)选题面对社会需要,理论联系实际是高校毕业设计(论文)的主要趋势。选题能注重结合科学研究的前沿问题,并能体现本专业方向和特色的要求。选题题目过大,过小针对性不强,学生的选题范围集中在几个方面,比较单一。学生不愿意写代码,所以选论文的多,选毕业设计的少,还有愿意选容易做的毕业设计。另外,论文题目是主要完成导师的科研任务,是学生很少能按自己的创新思路来选题。学生不太清楚论文的内容和研究方向,大部分盲目地选择、不看题目,看指导教师名字选题。
1.2高校专业毕业设计(论文)质量、规范化的问题。高校毕业设计(论文)质量主要包括“学术水平与动手能力”和“综合应用基础理论的能力”,这两个项目中存在较多的问题。主要表现在很多论文缺少实验数据或结论,论文内容是理论概念和方法的陈述,学生的基础知识差,所学的理论知识不能很好地应用所选问题的研究中,所以没有创新点。有些学生对就业、出国留学比较重视,而对毕业设计(论文)重视不够,对毕业设计(论文)时间和精力投入不足,直接影响毕业设计(论文)质量下降。还有大部分学生离校实习,教师虽然用QQ等通讯工具指导,无法面对面地详细指导。甚至还有有些学生基础差,学习跟不上等原因没能力完成毕业设计(论文),所以个别毕业设计(论文)网上抄袭的现象。毕业设计(论文)规范化的问题。参考文献没标注注明出处,文章缺注释。
1.3指导教师的问题。学校比较重视科研经费的量,不太重视科研经费的质,使不少教师缺乏稳定的研究方向,处于有什么项目就干什么项目,不重视学科的积累,学科基础差;比较重视科研项目的完成、鉴定,不重视高水平论文的发表,不重视学术交流。学术环境不好。1999年我国高等教育的扩招、高等教育大众化后,教师力量不能满足要求,有些专业一名教师带8名以上学生的现象。还有指导教师不够重视的原因,有的指导教师写的指导书过于简单,任务书、开题报告由学生自己写。有的指导教师对学生要求不够严格,有的指导教师指导学生的过程中,缺乏指导经验,完成科研任务意识强,培养学生的创新意识弱。
1.4实践基地问题。
2提高高校专业毕业设计(论文)质量的对策
2.1为了避免盲目《选题》,提倡“导师制”和“创新班”。为了避免学生盲目地选毕业论文题目,延边大学今年开始执行“导师制”,从入学开始导师带几名学生一致带到毕业为止,大学期间一致跟踪和指导、帮组学生的选专业,选课程,学习、毕业设计(论文)等。“创新班”是老师们主要介绍自己的科研经历和研究方向,并且带学生一起做科研。使学生了解指导教师的科研方向和前沿知识和研究方法的思路。
2.2调整高校专业毕业设计(论文)和求职的矛盾。学生最后一个学期又要完成毕业论文,又要实习,还要就业和考研复试。因此,原来四年级上学期末毕业论文选题改为四年级上学期初,这样又给学生写毕业论文充足的时间,又错开学生下学期找工作时间。
2.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%的毕业生由其实习公司或合作企业录用。
(项目编号:JXZY110401-004,项目名称:程序设计基础公共平台课程教学方法的研究与实践)部分成果。
[摘 要]本论文以长春职业技术学院程序设计基础课程的课程建设目的、意义、特色、课程目标、主要内容、关键问题、方案、落实措施等几方面进行探索与研究。
[关键词]程序设计基础 案例 工作过程
作为职业院校,我们的办学初衷是为社会培养各类急需的实用型人才,而作为专门培养软件人才的我院示范专业的软件技术专业教师,我们深感开发《程序设计基础》这门课程的重要性与紧迫性。综上所述,我们软件教研室在示范专业建设中对该课程进行了大胆的开发与创新。在本课程开发的同时,我们进行了本课题的立项工作。综上所述,该课题的研究目的归纳如下:
(1)教师按照标准化的软件开发流程进行案例的设计,使学生由浅入深、循序渐进地掌握程序设计基础的基本技能。
(2)学生在综合运用相关软件工程理论知识基础上,通过教师对案例的分析与讲解,能利用程序设计基础课程相关技术进行项目设计。最终能成为企事业单位需要的标准规范、自动化程度高、满足客户要求的程序设计基础方面的技术服务人员。
(3)培养学生高度的工作责任感、自信心,和实事求是的做事风格。真正的让踏入测试行业的学生,成为IT公司产品出货前的把关人。
一、意义
本课程是软件技术专业中的一门专业技术课程,我院在该课程的教学研究和改革中逐步树立了“以实践教学、案例教学为核心,理论服务于实践”的指导思想,突出职业能力的培养,体现基于职业岗位分析和具体工作过程的课程设计理念,以真实的程序设计基础案例为载体组织教学内容。
通过本课题的实验研究,明确程序设计基础在软件开发流程中的作用和地位,并确定具体的教学内容与教学方法;通过本课题的实验研究,探索程序设计基础在提高教学效益方面的方法和策略,提高学生程序设计基础技能;通过本课题的实验研究,培养出一批社会紧缺的程序设计基础人才,提高软件编写质量,大大提高企业生产效益,同时能够适应软件外包和国际化软件开发的中高端软件开发人才的需求迅猛发展。
二、特色
该课题的特色也是该课程在我们示范专业开发过程中所体现的创新之处。
我们本着“教中做、做中教、学中做”的指导思想,通过案例教学培养学生动手能力和专业技能。以“工作过程为导向”,一方面可以在软件开发中运用程序设计基础技术提高软件质量,另一方面通过对程序设计基础岗位技能的学习,达到掌握软件开发的应用能力。
三、主要内容:
走访软件企业对程序设计基础人员的需求进行调查研究,对程序设计基础在教学活动中重要作用的必要性的调查研究,形成调研报告。结合企业真实项目开发典型案例、拓展案例和综合项目,形成案例库。教师在各课程中有针对性进行程序设计基础的设计与研究,并进行及时的反思、评价。归纳出程序设计基础环境在软件开发实施方法、步骤。实践技能测试题库建设。教学课件建设。能够适应各个模块之间的程序设计基础方法设计,使得程序设计基础贯穿于全课程,从而提高软件的安全性和可靠性。
四、关键问题
(1)教学案例的选择及设计模块建设
(2)程序设计基础工具的选择及过程模块建设
五、方案
本课题以案例研究为主导,辅之以下研究方法:
(1)调查研究法:采用问卷调查、个别谈话和学生座谈相结合的方法,对学生的实际思想、需求和学生的心理特点等现状,进行科学的调查研究。
(2)案例研究法:引导教师用信息技术和学科课程解构与重构的相关理论,剖析研究过程中的 典型案例,形成在整合教学中有效支撑的案例集。
(3)经验总结法:在教师个人实践的基础上,定期聘请软件企业、行业专家开展研讨、交流活动,通过研讨总结,逐步形成程序设计基础整合的方法和途径。
(4)行动研究法:搜集与本课题有关的信息和资料,拓宽思路,提供更为完善的方法,拟订总体研究计划,根据总体情况,制订具体计划,积极开展有效的行动研究,及时总结评价,调整研究方向。
(5)成果分析法
收集整理各方面的研究成果和资料,包括论文、课件、测试用例等,归纳总结。
六、落实措施
本课题的落实措施思路为:
收集和整理中外有关企业程序设计基础的经典案例,开展专题理论研究,形成专题研究论文。开展程序设计基础课程课堂案例分析和调研,形成调研报告。召开1—2次小型学术研讨会,对本课题的有关理论和实践问题进行研讨。收集材料,分析整理测试用例。形成最终研究成果。
参考文献:
>> 《Android应用软件开发》课程项目化教学的研究与实践 应用软件开发中的模式应用技术研究 计算机应用软件开发中编程语言的选择研究 基于笔刷模型的绘制算法及应用软件开发研究 基于特征的GIS应用软件开发方法研究 探析编程语言在计算机应用软件开发中的选择 编程语言在计算机应用软件开发中的选择 基于PowerBuilder和Oracle的应用软件开发探析 基于智能规划算法的移动应用软件开发 基于安卓操作系统的应用软件开发思考 数据库应用软件开发框架的研究 刍议应用软件开发中数据库系统的测试 探析计算机应用软件开发中编程语言的选择 计算机应用软件开发中编程语言的选择 在POwderBuilder应用软件开发中利用数据库管理菜单 不同编程语言对计算机应用软件开发的影响 嵌入式应用软件开发的环境分析 计算机应用软件开发中选择的编程语言 关于当前计算机应用软件开发技术的探析 计算机应用软件开发存在的问题及对策 常见问题解答 当前所在位置:l,2010-07-29.
[2]《美国国家教育技术计划(2010)》[DB/OL].http://ed.gov/technology/netp-2010.
[3][美]本杰明.S.布卢姆,等.布卢姆掌握学习论文集[A].福建教育出版社,1986:2-3,43,70,7-8.
[4]钟启泉.教学模式论[M].上海教育出版社,2002:386.
[5]王润兰,李铮铮,等.Moodle平台在高校专业课程教学中的应用[J].电化教育研究,2008,(12):80.
[6]Justin G.Gardner. The Inverted Agricultural Economics Classroom:A new way to teach? A new way to learn?[A].presentation at the Agricultural & Applied Economics Association’s 2012 AAEA Annual Meeting,Seattle[C].Washington,2012:12-14.
[7]Jeremy F. Strayer. How learning in an inverted classroom influences cooperation,innovation and task orientation[J].Learning Environ Res,2012,(15):171-193.
[8]Gerald C. Cannod,Janet E. Burge,Michael T. Helmick. Using the Inverted Classroom to teach Software Engineering[A].2008ACM/IEEE30th International Conference on Software Engineering,2008:777-786.
[9]张金磊,王颖,张宝辉.翻转课堂教学模式研究[J].远程教育杂志,2012,(4):47-50.
[10]钟晓流,宋述强,焦丽珍.信息化环境中基于翻转课堂理念的教学设计研究[J].开放教育研究,2013,(1):58-64.
[11]张渝江.翻转课堂变革[J].中国信息技术教育,2012,(10):118-121.
[12]叶海松,季隽.Moodle的二次开发与设计[J].电化教育研究,2007,(4).
[13]高文.教育中的若干建构主义范型[J].全球教育展望,2001,(10):22.