二、模块式教学模式简介
模块式教学模式源自美国,其借鉴工业生产中的模块化方式,将原有学科课程体系结构中的知识分解成一个个独立的知识点,再将知识点按其内在逻辑聚合成相对独立的单元,然后根据不同职业岗位群或技术领域的职业能力需要,将关联的单元组合成教学模块,通过调整单元数量和组合方式,从而实现教学内容的更新和专业方向的调整。目前,模块式课程体系的构建方法,已逐步被我国职业教育界接受和采纳,根据对中国知网“教育与社会科学综合”领域的相关论文统计分析,在2008年1月至2012年5月的论文中,以“模块式”为关键词进行搜索,可以查到345条记录,涉及教学模式改革、课程体系构建等多个方面,但按照“模块式”教学模式的理念和方法,在软件技术专业方向上构建的复合式课程体系,至今还未见有学者发表相关论文。
三、构建软件技术复合专业模块式的课程体系
软件技术(工程造价软件应用方向)属于技术与技术复合型人才培养类型,与大连交通大学的传统专业+软件工程专业的双领域复合型人才培养有相似之处,但两者从培养层次、培养目标均不相同,一个是高职高专层次以培养实用技能型人才为主,一个是本科层次以培养培养既掌握传统专业知识又掌握软件技术的复合型高级人才;同时在拟定的课程体系构建方式上也不尽相同,一个是按照兼顾职业能力和可持续发展能力的要求,校企合作构建的“能力本位”模块化课程体系,一个是以培养应用研究型人才为主的学科课程体系。软件技术(工程造价软件应用方向)课程体系围绕工程造价、软件技术、外语应用能力、职业素养和实训5条主线设计,将整个课程体系按照模块式进行组合,软件专业的课程体系分为外语模块、职业素养模块、基本能力模块、工程造价模块、软件技术模块和综合实训模块,模块化的课程体系设置能够适应软件产业技术更新快的特点,其体系结构如图1所示。
第二、在软件的生命周期里需要完成的任务有提出问题的定义,分阶段的调查和编写软件数据和设计文档等在实现阶段主要需要完成的则是编写毛和对他的测试工作,需要根据他的说明书把这些转为程序代码,并成单元的测试,使其编写。
一、应用型本科院校引入翻转课堂教学的必要性
(一)应用型高校对软件工程专业人才培养的要求
应用型本科院校的软件工程专业,应力求在遵循统一指导方案的同时突出与应用型人才培养相适应的知识结构特色以及课程体系,以培养适应市场需要的应用型软件专业人才。宿迁学院正处于应用型本科高校建设发展阶段,按照教育部的卓越工程师教育培养计划[3]要求,我校软件工程系积极探索并建立了3+1人才培养模式,对课程设置、教学形式等进行了调整和改革,强化了企业的深度参与性培养以及学生的工程能力和创新能力的培养,着力打造一批批能直接上一线工作的本科高素质应用型人才。
对于软件人才的培养,进行引导性、启发性以及贴合实际的实践训练是很有必要的,为此,我校软件工程系加强了课程改革建设,从课前、课中、课后多角度改进教学方法,让学生提高自主学习的能力,通过对知识点的内化转换为自身的实际技能。在这种背景下,教学模式的改革就呼之欲出了。
(二)传统课程教学模式中存在的问题
以我校软件工程系的大多数专业课程教学为例,大多的理论和实验课都是按照传统教学模式开展教学的,理论课主要是以教师讲为主,上机实验围绕课堂上讲解的案例,学生按步骤操作完成,教学方法单一。
这种传统的教学模式存在有不少弊端[4],课堂教学效果不佳。课堂上仍是以老师教授为主,属于填鸭式教学,学生难以主动融入,学习效果不好,不利于培养学生的实践和自主学习能力。学生在实践课上主要是围绕理论课上的案例进行学习,这样就不能让学生自主发挥和进行创新性的深入学习,属于被动式的接受知识,也不能进行个性化教学。受实验室使用的局限性和课时的影响,学生在2~3节上机课上无法完成一些复杂的环节,如从系统建模的角度对数据库项目系统进行需求分析、软件设计等。
这些教学问题成为制约课程建设、学生能力培养的瓶颈,所以探求一种新的教学模式成为我校软件工程专业课程改革的必然趋势。
(三)翻转课堂教学模式的引入
翻转课堂教学模式下,教师在课前进行知识传递[5]即教师按照教学内容的知识点进行细化、整理,录制小视频,学生课前观看视频教学,在此过程中教师还可对学生进行在线辅导。课堂上,主要是进行知识的内化[5],教师根据学生前期学习的困难情况组织课堂教学,主要采用引导式、研讨式教学方法给予辅导,促进学生知识的内化。课后,通过项目练习等作业形式达到让学生巩固知识的目的。翻转课堂教学模式充分发挥了教学中学生的学习主体性,加强了学习中的互动性,让学生获得了个性化教育,真正达到了以学生为中心、因材施教的教学效果。翻转课堂教学模式的出现,为我校软件工程系3+1教学改革带来了新的思路和方法。
二、翻转课堂教学模式实施的基础
(一)教学内容及方法的改革
教学内容的选取应注重理论联系实际,要根据企业和市场对软件人才的需求,将重要的知识点和相应的技能训练联系起来进行讲解和实践。例如,教学数据库系统原理课程,在讲解知识点时可以用学生成绩管理系统、图书管理系统、题库管理系统等为载体设置教学内容,以项目驱动教学,将理论知识融入项目开发中,通过项目案例的分析、设计来启发和引导学生去思考和建模,让学生了解数据库课程的原理最终要如何应用到项目实践中,同时锻炼学生独立思考和创新的能力。而上述的教学内容和方法的改革与翻转课堂教学的理念是一致的,这样就为专业课程构建翻转课堂教学提供了改革的基础。
(二)信息化网络平台的保障[6]
我校有泛雅网络学习平台,该平台为实施翻转课堂教学提供了便利的支撑。教师可以在网上课件、教案、视频等教学资源,可以根据知识点布置任务、作业,与学生交流讨论并提供答疑,还可以进行阶段性的测验等。该平台还有手机APP端,学生可以随时随地进行同步自主的学习。泛雅网络学习平台为数据库课程翻转课堂教学提供了软硬件环境的保障。
(三)学生自我学习的能力的保证
文献[7]调查显示了大学生自主学习状况,其中64.13%的学生能主动完成学习任务,22.34%的学生能在教师督促下完成学习任务。我校的定位是培养应用型人才,学生大多要通过在校专业课程的学习掌握知识和技能,然后能直接到一线工作,所以学生的学习需求性和主动性较强。学生根据各自对专业课程的学习需求定位,对所学的知识点的学习要求也有所不同,翻转课堂教学的实施可以保证学生利用碎片化进行个性化学习。
三、翻转课堂教学模式的实施构建
在翻转课堂教学模式的实施构建中,以我校软件工程系实施构建的数据库系统原理翻转课堂教学为例,在课程开始时做好小组分配,因为软件专业的学生大约有50人左右,所以每班就分为10个小组,每个小组配有相应的组长,负责组织和督促小组成员的学习和集中性的讨论。[8]
(一)课前的知识传递和自主学习[9]
教师主要是将每次课(理论课和上机课)的重难点进行碎片整理,每个知识点制作一个相应的短小视频,在课程资料中还可放入教案和幻灯片课件等扩展资源。例如,在第一章节中我们给数据库基本术语做了一个短小视频,附上了相应的术语的幻灯片课件,教师提前一周通知,要求学生在指定时间内即课前根据视频和课件完成自学,达到前期知识传递的目的。
学生在课前自主查看和学习,并根据自身的学习和掌握情况制订学习进度,下载教师事先准备好的教学资源。为了确保学生的课前学习效果,在进行任务点设计时,都会有相应的问题设计,这些问题也要体现出层层学习、循序渐进的过程,要求学生回答部分或全部的问题,在此过程中教师可对学生进行答疑和引导性指导。例如,在基本术语任务点中,教师提供了5个选择题、5个填空题,让学生在看完视频后完成小作业,教师通过网络学习平台上统计的作业成绩开始设计课堂教学环节。
(二)课堂知识点的内化
翻转课堂的核心就是要使得学生最大限度地内化知识点,因而在课堂教学中需要学生高度参与。进行数据库理论教学时,首先在刚上课时我们会让学生进入泛雅手机APP端,要求学生现场完成10~15题的选择题。这些选择题的设计难度要超过学生在自学时的作业难度,题目设计要体现出由浅入深的过程,且要能够体现出这次课的重难点,学生在做好后直接能看到自己所错的选题以及正确的答案,也就明白自己所学知识点哪些掌握得不透彻,继而在课堂中就知道自己要特别注重哪部分知识点的理解了。而教师可以利用统计功能查看到每题做错的人数,教师会根据错误结果对共性的一般知识点做统一示范讲解,对扩展性知识做引导性、启发性讲解,对个性问题进行小组化指点。
实验课的翻转课堂教学采用的是项目训练研讨式[10]教学,教师也是先提供实验内容的基本素材,和理论课程的翻转课堂教学模式相似。不同的是,实验操作中教师是通过小型项目驱动教学的,这些项目既要覆盖教学目标,又要有拓展训练的余地,对于设计性、综合性的实验可通过小组分工协作完成。教师通过实验课上各个小组的进程和面临的问题进行小组个别化指导。
(三)课后的巩固复习
传统的软件工程专业教学模式体系的基本教学理念是重视“知识型”人才的培养,注重书本知识理论的讲解与掌握,忽视了学生实践能力的培养。从当前高校软件工程专业教学情况来看,课程的授课基本都是沿用理论课——实验课单一模式。其中理论课所占课时比重更大,实验课则相对弱化,而且理论课与实验课的结合程度并不十分密切。所占课时比重较小的实验课教学环节,多数都是进行教师事先安排的实验内容,教师在实验过程中给予指导和评测。实践证明,这种课程教学模式下出来的软件工程技术人员与时展要求严重脱节,难以满足社会对综合软件设计与开发技能人才的需求。
1.2教学目的脱离实际
软件工程专业课程是计算机软件、硬件和网络相结合,注重软件理论和软件开发能力的培养,该课程强调理论与实践的有机整合。然而,现行的高校在开展软件工程专业教学活动的过程中,却难以做到理论教学与实践教学的统一,时有厚此薄彼的现象发生。在强化理论知识的同时忽略了实践的应用,在加强实践教学的同时却又忽略了理论知识的融合。不能很好的体现高校软件工程专业教学围绕职业发展需要开发,职业特点不明确,不利于学生综合能力的发展。
2高校如何进行软件工程专业教学改革的几点做法
2.1以社会需求为导向,革新教学模式
随着社会经济体系结构的进一步调整,软件行业人才标准也在不断发生变化,高校教育的人才培养目标,人才培养方式也应跟随时代变化进行相应的改革。教师在进行授课的过程中,要跳出“教”的禁锢,从总体目标出发,进行学科教育向职业化教育的转型,以满足社会对高级软件工程师的需求。
(1)根据社会需求,合理确定知识结构
知识结构是培养学生专业技能和提高学生素质能力的前提与基础,知识结构的确定,必须满足社会发展需求,以“必需、够用”为度,并要求学生具备足够的发展潜质。因此,教师在分析知识结构时,应首先以社会发展对软件工程专业的能力要求为出发点,通过对能力进行分解,分析满足学生能力发展要求应具备哪方面的知识和技能,对相应的知识点进行组织,合理确定知识结构,努力体现“三个面向”,面向软件工程专业发展最新潮流、面向软件工程专业市场需求、面向软件工程专业社会实践。例如在开展实践教学活动时,教师除了要重视企业级应用开发的服务器端技术,还要注重云计算技术同JavaEE的整合,同时跟随当前应用开发趋重RIA的特点,加强Flex技术的学习,增加JavaEE和Flex的架构集成技术,以培养市场严重紧缺的具有相当经验的RIA、云计算开发人员。通过对知识结构的合理确定,让学生不但能够对专业知识进行巩固,还能紧贴IT行业的用人需求,从而真正达到学以致用的目标。
(2)以能力要求和知识结构为主线,构建动态教学计划
教学计划是各教学环节的整体设计方案,包括有:课程体系、实践教学环节等的时间分配和次序安排。软件工程专业教师在设计教学计划时,应以本专业能力要求和知识结构为主线,进行教学计划的调整,给以学生明确的思维方向,让学生能够参与到教学的全过程并在课堂教学活动中获得最大的收获。一方面,教师可以注重课程体系的国际化,引进10门美国著名高校卡内基梅隆大学(CMU)软件工程专业的课程,通过与传统教学模式的融合,进一步提高教学水平。另一方面,教师可以注重课程体系的先进性与及时性,定期召开合作伙伴峰会,企业参与人才培养方案和教学计划的制定及审阅,保证课程教学体系与专业信息的及时更新,做到因材施教。
2.2采用案例教学法,通过实例开展学习
案例教学法是指在学生掌握了解相关基本知识和分析技术的能力基础上,通过教师的精心策略和指导,根据教学目的和教学内容,运用经典案例,把学生带入特定教学情景进行分析,通过学生的自主探究和小组合作,进一步提高技术技能水平,同时培养学生沟通能力和协作精神的一种教学方式。软件工程专业教学以培养学生实践、动手能力为主要途径。在实践教学环节,通过案例教学,能把知识点与例子相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,最终达到技术和知识点的掌握。如:《JAVA程序设计》课程的教学时,JAVA程序设计以编程为主,如果照搬教材内容,只会让教师讲得枯燥,学生听得乏味。通过融入案例进行教学,可以在向学生灌输编程语言知识点的同时,进一步培养学生分析问题和解决问题的综合能力,进而激发学生的创新能力。2.3强化实践教学环节,提高应用型人才专业技能。据有关数据显示,目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长。在未来5年内,合格软件人才的需求将远大于供给。在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。然而,各大企业在面向各大高校招聘软件工程应用型技术人才时,普遍注重学生的综合实践能力。对于如何把学生培养成为受企业青睐的技术型人才,强化教学活动中的实践教学环节,提高应用型人才专业技能,是促使学生综合实践能力全面发展的必有之路。因此,一方面教师在开展教学活动的过程中引入现代化教学手段和仿真实验教学手段,调整教学重点,发挥软件工程专业实践教学的中心地位。另一方面可以进一步加大实验室对学生的开放力度,尽可能地为学生创设动手实践的氛围、为学生提供更多的动手实践机会。同时,还可以开展大型综合实验、综合实训、企业实习、毕业设计等实践教学内容教学,通过开设大型综合性的实验课程或综合实训课程、组织学生到Ⅱ企业顶岗实习、利用所学知识进行项目开发的能力和就业竞争能力。
2.4加强教学队伍的建设
高校软件工程专业教学水平的高低,取决于教师队伍的素质,他们素质的高低将直接影响到课堂教学活动的开展和学生能力的培养。因此,加强高校教学队伍建设,强化教师业务培训,提高教师的业务水平,是顺应教学改革的重要举措之一。首先,学校要组织鼓励软件工程专业教师加强学习、钻研业务,掌握教学技能,提高他们的教学水平和教学技巧。同时,学校加大对软件工程专业教育的投入,多组织高校软件工程专业教师参加省级培训、校级培训等再培训工作,着手培养基础好、教学技能优秀、有事业心、敬岗爱业的专业教师,增强软件工程专业教学师资力量。
企业招聘软件工程专业人才的理想期望是上岗就能工作,不需要再培训或只需要简单的培训就能符合企业的技术能力要求,最少能够熟练应用一种计算机语言来开发项目,编程能力要强,最好具有项目开发经验。当然每个软件工程专业开发人员的技术方向不一定与企业要求的相同,但只要经过短时间的培训或自我提高后能够胜任实际的开发工作也是符合企业要求的,但用人企业能招聘到可以独当一面或胜任技术开发工作的合适员工并不容易。许多软件工程专业毕业生眼高手低,解决实际工程问题能力差,软件开发能力不强,或者完成额定工作的周期长,这些除了工作经验不足以外,还与在校学习期间学校实验教学方面存在一定的不足有关。
二、软件工程专业教学过程概述
各大学软件工程专业课程设置情况并不相同,随着时间的推移及计算机技术的发展,同一个大学的课程设置也会不断地变化以顺应时代的发展。目前大部分院校的软件工程专业设置的专业课程至少包括这样几门:计算机组成原理、数据结构、算法分析与设计、编译原理、操作系统、数据库原理、软件工程以及许多热门的高级语言课程。其中高级语言课程有C++、ASP.NET、JAVA、PHP等。理论课的学习不论是通过板书还是通过课件都是以教师讲授学生听讲这种方式进行。软件工程专业课的实验类型大部分是验证性实验,还有少部分综合性实验以及设计性实验。实验教学是理论教学之后的又一种教学形式,是对所学理论的验证,再巩固,再记忆以及发现问题解决问题的知识和认识扩展过程,是完整教学环节的重要一环。软件工程专业课都有实验教学环节,是整体专业教学的一部分。整体教学质量好与差,学生专业技能高与低都与实验教学环节分不开。
三、实验教学过程问题分析
没有经过实验教学环节培养就不可能深刻理解课堂所学理论知识。教师在完成某些小章节的理论教学之后就应安排学生进行实验课学习,大部分实验课的实验内容是验证性实验,也就是实验内容与所学章节的理论知识内容相同或联系紧密。验证性实验是巩固理论知识,加深对课上知识理解的一种必需的实验教学过程,没有验证性实验就不可能完成好后面的综合性实验和设计性实验,验证性实验是综合性实验和设计性实验的基础。综合性实验是在课程的某一教学内容相对独立部分完成之后开展的能够综合所学内容的实验,是学生将有关内容串起来,有一点小规模项目意识或者说是能实现一定的功能的实验,比起简单的验证性实验要复杂一些。而设计性实验是有一定开发性质和需要创新思维的实验,有一定的难度,教师给出实验目标和要求以及必要的提示,学生根据所学知识设计实验方法和编程算法去实现实验的要求和实验的最终目标。目前的情况是,所有要求上的实验课教师都带领學生完成了,实验课学生也都参加了,但最终的实验教学效果却与学生应该达到的水平、目标有一定的差距,这与实验室的设备条件不够充裕不够先进、上课教师要求不严、学生实验不认真、考核方式有问题以及实验教学方法不够理想等都有关系。现在的实验课的班量都是两班量或三班量,也就是80到120多个学生同时上实验课,只有一位教师授课,恐怕一节课也就只能为几个学生解答实际问题,如果计算机本身也总出现问题的话,这一节课的时间就真的显得太短了。好多学生的自我约束能力差,上课爱打游戏,爱讲话,喜欢看手机,上课时只是在教学系统上签个到,那这节实验课对于这样的同学就是白白浪费掉了。教师在实验课上讲解实验内容和要求,指导学生做实验,然后收作业或者实验报告是比较普遍的实验教学形式,这样的形式无法满足学生需求。实验教学质量受到多方面的影响,需要实验教师和学生的共同努力来改进和提高。为了提高应用型本科软件工程专业实验教学质量,有必要提升实验教师的综合素质,需要在实验教学过程渗透项目驱动思想,也需要开放计算机实验室。
四、提高应用型本科软件工程专业实验教学质量的措施
不同的实验教师的实验教学效果是不一样的,因为实验教师的授课技能和专业技术水平各有差异,提升实验教师的综合素质是提高应用型本科软件工程专业实验教学质量的前提。在实验教学过程中只是为了完成实验教学任务而上实验课与带着项目开发的指导思想上实验课的教学效果绝对不会一样,学生学到知识多少与深浅都不会一样。在实验教学过程渗透项目驱动思想是一项有效提高实验教学质量的措施。在实验教学管理方面开放实验室是一个值得推行的好举措,可以使学生有更加自由的学习与研究空间。
(一)提升实验指导教师的专业技术水平
大学里的计算机实验教学指导任务大都由理论教学的任课教师承担,当然有些院校的实验指导任务是由专门的实验教师来承担的。软件工程专业的实验教学效果与实验指导教师自身的专业修养有很大的关系。一位有过多次实际项目开发经历的实验指导教师与一位从没开发过实际项目的实验指导教师在实验教学过程中讲解出的内容是不会一样的。以ASP.Net实验课程教学为例,有过多次实际项目开发经历的实验指导教师在指导通过编程访问数据库这部分内容时会讲到sqlCom?鄄mand类对象三种方法的区别以及三种方法的最合适应用场合,会讲到使用SQL语句直接访问数据库与通过存储过程来访问数据库的不同之处;而从没开发过实际项目的实验指导教师在实验指导过程中就不会强调类似的实际项目开发过程中可能碰到的实际问题的最佳解决方法。在知识面这方面,当然是实验指导教师的知识面越宽越好,以C++语言课为例,一个合格的实验指导教师在实验指导过程中会不自觉地将最优算法的思想渗透到实验教学过程中去,虽然有专门的算法实验课,但是如果能在C++实验教学中加入算法的技巧,会使学生养成在解决实际问题过程中考虑最优算法的良好习惯。学校应该重视提高教师专业技能水平的培养工作,应该鼓励教师参与科研与项目的开发工作,只有在实际的项目开发过程中才会遇到问题,在问题的解决过程中才会有收获,才能与当前的前沿技术手段靠近或接轨,才能够以科研反哺教学。提升实验指导教师的专业技术水平有多种途径,鼓励教师参与科研与项目开发只是其中的一种。
(二)将项目驱动思想渗透到实验教学过程中
在实验教学过程中,如果能以实际项目需要为导向,将项目驱动的思想渗透到每一节实验课中,学生一定会受益匪浅。应用型本科软件工程专业学生毕业后的专业方向就是软件开发,大学四年的知识积累与储备就是为最终的软件开发做准备的,大部分学生将来的就业方向就是到企业做项目开发工作。
如何将项目驱动思想渗透到实验教学过程中的主动权在实验指导教师手中。对于每门专业课的基础部分实验,也许可以不涉及实际项目,但有些实验如果能讲清楚该实验内容如何在实际项目开发过程中应用会收到更好的教学效果。以微软的SQL Server设置数据库中表的主键自增长列为例,如果只是为了做实验而做实验的话,可以只要求学生在创建数据表的过程中设置唯一的ID列为主键自增长列即可。如果老师有工程项目意识的话就可能把这样做的目的和好处以及如何在软件项目开发过程中去具体使用都介绍清楚。将项目驱动思想渗透到实验教学过程中是提升应用型本科软件工程专业实验教学效果的一种有效方法,渗透多少,以及涉及的项目开发深度与广度也是值得研究的,真正上好一次实验课并不简单。还是以上面的SQL Server设置数据库中表的主键自增长列为例,如果扩展开,和学生们探讨一下只设置数据表的某列为主键而不设置该列为自增长字段,这样可以不可以呢?当然可以了,只要保证将来在插入记录的过程中该主键字段的值是唯一的就可以了。那么再扩展一点,如何通过编程来保证字段值唯一,以及这样做与设置该列为自增长列对比起来有何优缺点?这些都是将项目驱动思想渗透到实验教学过程中的具体体现。学生在实验教师的带动下用项目驱动的思想去完成实验学习收获会大不相同。
(三)开放计算机实验室
中图分类号:G642 文献标识码:B
软件技术类专业是指在计算机类专业教学中以软件开发、软件维护、软件工程管理等为主要专业定位,或是在此基础上的专业领域软件开发专业(例如游戏软件开发方向等)。近年来,在计算机教育方面,软件开发类专业得到了长足的发展,特别是在规模上,随着全国35所示范性软件学院的建立,全国各地也办了类似的旨在培养应用型软件高级人才的软件学院。然而,目前不容乐观的是,软件人才的培养从数量上说似乎已经满足了软件行业的需要,甚至已经有些过剩,但是从软件企业传来的信息确是软件企业“不招应届毕业生”、大量软件企业找不到合适的人才。这个一个侧面反映了软件类人才培养,还没有从根本上适应市场的需求,培养的人才的合格率还太低。
目前,软件类专业的教学改革可以说是个热点,特别是教育部批准举办的35所软件学院都在教学改革上做出了很大成绩。然而,大多教学研究都停留在实践教学改革,课程体系改革等具体操作的层面上。对于软件教育的规律是什么?软件类专业与其他传统学科有什么区别?研究者大都没有给出系统的结论。
目前,软件人才培养方面的研究和实践,归纳起来有以下几个方面的改革趋势:
(1) 机制创新。国家示范性软件学院和各地方的软件学院都对软件学院教学计划的制定给予了较大的自由度。办学收费标准也较高,使得软件学院的硬件设施普遍较之普通院系优越,这样一定程度上提高了培养质量。文献[1-2]都对此进行了有益的探讨。
(2) 实践环节改革。普遍把到企业实习看作是提高人才能力的好办法。实际上一些重点院校的学生本身素质和能力就较高,直接到企业实习效果较好,而大量普通院校的学生直接到企业实习实际效果并不太好。文献[3-4]分别研究了这方面的改革情况。
(3) 本科教育职业化。把本科教育完全改造成技术培训,完全扔掉本科教育基本培养规格。应该说把软件人才培养向职业培训转化是对原来普通本科教育的一个极端化改革,但是如果没有正确的软件人才培养规律作指导,这种改革势必会造成软件人才理论不扎实、后劲不足,所以,需要在对软件人才培养规律的清晰认识基础上进行改革。
本文分析了软件专业与传统专业的区别,指出了软件专业与传统学科,教学规律和认识规律的不同之处,在此基础上提出了软件类专业教学计划和课程体系编制的指导性原则。希望通过本文能够为同行提供一个新的视角。
1软件专业知识体系、能力提高模式与传统学科的比较
专业教育对学生的作用可以归纳为两个方面,一是专业、学科知识体系的逐步完善,二是解决学科问题能力的提高。图1表示了学生培养过程中专业能力提高和知识能力提高示意图。
图1中虚线表示传统学科的知识水平能力水平提高在大学教育过程中的变化,实线是软件技术类专业的情况。
在学科领域中,传统学科知识体系已经比较完整,工程化设计、计算方法已经相对成熟。学生知识提高的过程与能力提高的过程并不是完全同步的。大学教育单从学科能力提高方面说,可以说是一个比较封闭的过程,也就是没有学专业课之前,几乎无法使用专业的知识体系解决问题,就是说,解决专业问题能力的提高很大程度上是从学习专业课开始的。但是,由于传统学科的设计、计算等都已经比较成熟,对于同一个问题的解决方法基本差别不大,所以在学科基础课学好的前提下,学生可以在很短时间内,就能使专业技术能力有比较大的提升。
软件类专业则不同。一方面,即使没有雄厚的专业理论基础,也可以学会基本的开发技术(专业技术),但是其开发能力、水平的提高,必须在继续学习专业理论且不断实践中得到提高,其提高是缓慢的。可以说是一个渐进的过程。学生入学一年级就可以直接接触专业方法(即编程),具有初步的能力,然后随着专业理论课程的学习,在掌握知识的同时,逐步提高解决问题的能力,和解决问题的质量。也即知识的积累和能力的提高是同步进行、相互促进的。
2对软件学科教学体系的新认识
传统专业知识体系一般可由三部分组成:即自然科学基础、学科基础理论、专业知识和方法。例如针对自动化专业,其自然科学基础包括数学、工程数学、物理等;学科基础知识包括电路理论、电机与拖动、电子技术、控制理论等;专业课主要包括两个方面,一是工程化的控制系统设计方法,二是具体的控制电路及设备的选择或实现技术。这个体系的特点是,专业技术课的学习依赖于自然学科基础(如数学)。专业课的学习依赖于专业基础课的知识体系。也就是说,传统学科的知识体系可以说成是金字塔形。
而软件类专业从大的方面虽然也可以分成自然科学基础、专业理论、专业技术,但是三者之间的关系却和传统专业有本质的不同。专业理论知识依赖于自然科学基础,专业技术能力一定程度也依赖于自然科学基础;专业技术知识的学习对于专业理论的依赖并不明显,而专业技术能力的提高却依赖于专业理论的学习。也就是说,学会专业技术知识并不依赖于太多的专业理论,但是学好专业技术,提高解决问题的能力,专业理论必不可少,并且起到不可替代的作用。
所以,要改革传统软件类专业的教学体系必须先从认识软件类专业和传统学科的差异着手,将自然科学基础、专业基础理论、专业技术课程的传统教学体系,改为自然科学基础、专业技术先行,专业理论适当延后的教学体系。
图2粗略地表示出了两种教学体系的区别。图中横坐标是每个学期的学时数,纵坐标是学生在校的时间。在新的教学规律指导下的新的教学体系应该适当地延后学习自然科学基础的时间。专业技术包括利用开发语言开发平台,后期是专业开发的实践。专业理论逐渐展开,用专业理论课的学习促进学生专业能力的提高。最终,学生的知识体系并没有残缺,但是在学习期间能力的提高更符合软件学科的教学目标。
不难看出,软件技术类专业人才培养与传统学科有着很大的区别。只有理解和遵循这些规律,才能更好地高效率地培养软件人才。这些规律必须反映到人才培养方案的制订中,否则,就不可能培养出符合市场需要的人才。虽然软件类专业目前已经多样化,建立在软件技术基础上的专业和专业方向很多,但是作为软件技术的核心能力和知识体系还是基本相同的。所以,软件类专业的培养计划制订,必须遵守以下原则:
(1) 自然科学基础课程宽厚原则。如数学是软件技术类专业提高逻辑思维能力的重要课程,并且线性代数、离散数学、概率与数理统计等课程都会对程序员解决问题提供灵感。所以,在本科教学计划中,应该把自然科学基础作为软件类专业的最主要课程,同时在开设时机上,要改变过去必须在前两年开设完毕的思维,可以分布在学习的各个学期。
(2) 以核心能力培养为主线,兼顾不同专业方向。软件技术类专业无论专业方向如何,其核心能力都是相同的。概括来说就是两个能力,即程序及软件设计能力和软件工程能力。这两个能力,一方面是软件技术能力,一方面是软件工程能力,软件工程能力也是以软件技术能力为基础的。所以,在进行培养计划制订的工程中,必须把核心能力的培养放在首位,然后通过适当的计算机科学、通讯原理、电子信息等了解性课程拓宽学生的专业领域。
(3) 专业技术课程先期教学原则。这是和传统学科区别最大的一个原则。软件技术课程的学习一般来说并不依赖于软件理论课程,所以,软件技术课程可以先期进行学习。软件技术专业的技术课程很多,各种开发平台、开发语言,不可能在学校都进行学习。那么就只能选其中的一种语言一个平台,并且要彻底学会。具体选择哪种平台和语言反而并不是很重要(如果能兼顾毕业时就马上能用到的技术更好)。因为掌握某种开发平台、语言不是学生的核心能力,软件设计能力才是最重要的。很多本科教育的研究者担心只学习一个技术会使得学生专业面太窄,在计算机技术发展迅速的今天很可能所学的技术在学生毕业时已经成为陈旧的技术,导致学生不能适应社会的需要。这样的研究者忽略了一点,能力需要通过大量的开发实践才能锻炼出来,要进行能力的提高就必须依托一个载体,这个载体就是某一个具体的技术。学会了一个技术以后,就可以在不断的开发练习过程中,提高软件开发设计能力,提高快速适应不同语言和工具的能力。同时在实际工作中提高其社会活动能力、社会责任感、与人沟通的能力、合作能力、系统分析能力等,而这些能力与开发平台和语言是完全无关的。
(4) 专业技术理论适当延后原则。需要说明的是在这里我们使用了专业技术理论,而没有使用专业基础课的说法,这是因为,我们常说的传统专业的专业基础课与软件技术理论课有本质的不同。它不是解决学习专业技术课程的必备基础,而是为将软件设计得更好的理论指导。计算机专业的教师都会有这样的体会,教授软件工程、数据结构、编译原理等理论性较强的课程时,有一定编程经验的学生总是能够收获更大。也就是说,学生必须先会设计程序,才会对怎么才能把软件设计得更好感兴趣。所以,培养计划制订中一定要把这些理论性较强的课程放在学生基本掌握了一些平台和技术以后再进行,这样就可以有效地利用这些课程提高学生的软件设计和软件工程能力。
(5) 加强实践性环节改革,把实践性环节作为提高学生能力的关键环节。能力只能在实践中的得到提高,虽然很多软件学院都在开展实践性教学改革,但是大都没有摆脱“课程设计+毕业设计”的模式。实际上,培养计划的大部分课程都是为了培养学生的软件设计能力和软件工程能力,所以,片面地验证某一门课程的所学知识的所谓课程设计,并不能全面地提高学生的程序设计能力,每门课程的课程设计都是在低水平上的重复内容。所以,改革实践教学环节,要在增加实践环节时间的同时,改革实践环节内容,要使学生的设计能力随着知识水平同步提高,实践环节内容和要求一定要随着学习时间不断提高。
(6) 产学结合,提高学生的软件工程能力。这几年,软件教育方面,大多数学校也都注意到了产学结合的重要性。但是,到底通过产学结合到什么目的,却并不很清楚。笔者认为,软件设计能力的提高必须靠软件设计实践本身来提高,企业中的实际工作更多的是软件工程的能力,是非技术的。例如团队精神、工程规范、软件质量控制等,不到实际的软件生产第一线,是很难有体验的。所以,和企业的合作一定要在学生具有了一定的程序设计能力基础上进行。当然不排除在学习过程中,通过企业参观等方法提高学生的学习兴趣。
3结论
软件学科的工程化水平和其他学科相比还远远不够,软件学科的认识规律与其他学科有着很大的不同,目前的软件本科教育沿用了传统学科的培养模式,给人才培养造成了很大的影响。本文所提出的一些思考和原则已经在笔者所在学校的培养计划编制方面得到应用,起到了一定的作用。今后还需要继续按照这些原则不断改造培养计划,努力使我国的软件人才培养能够得到突破性改革。
参考文献:
[1] 黄细良,骆斌. 坚持机制模式创新 办好国家示范性软件学院[J]. 中国高等教育,2004(4):42-43 .
[2] 汪琳琳,焦慧敏. 软件学院办学模式初探[J]. 重庆邮电学院学报,2005(3):437-439.
中图分类号:G642.0 文献标识码:A 文章编号:1674-098X(2014)12(c)-0127-02
光学工程类专业是以光学、应用光学、量子光学、非线性光学、激光技术和光电子学等为理论基础,结合物理电子与微电子学、固体物理学、计算机技术以及信息与通信工程等的一门综合性强专业[1]。近年来,随光电信息产业的迅速发展,该专业类的人才需求增多,就如何办好该类专业,以适应产业需求,是许多高校乃至整个国家需要解决的课题[2]。其中,专业光学软件课程是光学工程类专业教学的重要组成部分。学生掌握一至二门专业光学软件,利于提高专业知识与实际应用的综合运用水平,助于增强就业竞争力,更为重要的是将来相关专业工作的必备技能之一。专业光学软件依据应用领域大致可分为:以经典光学和现代光学为基本原理的应用在各种光学仪器或仪器系统的光学设计类软件[3],目前它们主要有ZEMAX、CODE V、ASAP和 OSLO等光学设计软件;以导波光学和光通信为理论的应用在光通信领域的器件或系统仿真设计的光通信类软件[4],如OptiBPM、 Beamprop等光波导设计软件,以及OptiSystem等光通信系统仿真软件;另外,其它一些计算软件也可以用在光学方面的,如Matlab在光信息处理中的应用[5]。
专业光学软件的教学相对光学专业实验教学(特别是涉及到昂贵专业实验设备),要求的技术起点低,且能更快地让学生接触到实际应用课题。我们在专业光学软件实践教学过程中,强调基于光学专业知识的是逻辑分析和编程训练的结合,提高了学生的光学设计能力。结合近几年的专业光学软件教学研究和实践,我们从专业课程体系设计、课程教学方法、学生学习要求以及考核等几方面进行探讨[6-9]。
1 教学课程体系设计
1.1 专业理论知识与专业软件教学有机衔接和融合
专业光学软件的运用需要很强专业理论知识,一般面向于光信息科学与技术本科专业(现归类为光电信息科学与工程)和光学、光学工程研究生专业。如ZEMAX光学设计软件,其理论基础为光学设计的基础知识和像差理论。软件中的专业名词如物面、像面、高斯面等,和计算方法如实际光线计算、近轴光线计算,以及设计时的整体思路和流程等知识点都需要在专业理论课中掌握。因此,专业理论知识和专业软件课程之间的衔接很重要。它们之间如缺乏有机联系,在专业软件课程教学时,学生学习效率和质量下降,同时教师教学辛苦,整个课程进展慢。在我们的课程体系安排中,《工程光学》、《几何光学》或《应用光学》之类课程放置在大学二年级第一学期,以之为基础的专业软件教学,如ZEMAX之类的光学设计软件课程,放在随后的大学二年级第二学期。作为更高级的专业理论课程《导波光学》、《光通信原理》、《光波导理论与技术》等之类课程设置在大学三年级第二学期,随后接下来的学期开设光波导设计或光通信系统仿真等相关专业软件教学课程(可选修),如OptiBPM、OptiSystem等软件。同时在学习专业软件期间还可以安排些系统仿真中涉及到知识点的课程,如涉及到电光调制、四波混频效应等的《非线性光学》课程,涉及到光学透过率或反射率的《薄膜光学》课程等,这样有利于这些特殊知识点和软件教学学习有机融合。采用这样的安排和紧密的时间间隔,使得学生在软件学习中,不至于忘记前面学习过的理论知识。同时在软件教学中,结合实例,将专业理论知识和软件应用联系起来,提高了学生的综合运用能力,学会如何分析问题和解决问题,加深对专业知识的理解和认识,从而更好地实现应用软件解决问题。
1.2 强化专业训练
现在许多学校施行三学期制,我们试点把专业光学软件学习作为实践设计类集中放在暑假期间(第三学期)进行专业系统学习和培训,专门作为一项专业技能课程传授给学生。专业光学软件课程教学结束后,软件的实际运用也是实践环节重要的一步,可以在学生相关实习企业环节或教师指导的毕业论文设计环节中体现,例如让学生协助参与到实际光学系统产品设计或项目中,了解产品从产品设计或项目的一系列过程。这些将为学生今后在企业科研一线从事光学工程类专业工作起着积极作用,加快学生把专业知识转化为实际应用的过程。
2 教学方法和学习方式的改进
2.1 以实例为教学主线、结合实际应用的专业光学软件课程教学方法
传统软件教学方法一般是先介绍菜单的各项功能,然后逐步展开软件操作步骤等,这菜单式的教学方法已不适宜专业软件教学了。专业光学软件不是大众化软件,教学目的不应停留在软件操作熟练程度上,而是通过教学方法应把握学习软件的内涵“如何运用软件分析问题和解决问题”。在专业光学软件教学过程中,我们提出以实例教学为主体,从整体设计思路上把握,而对于少量的基本软件操作串插到实例中讲解。
以ZEMAX光学设计软件为例,需设计一双胶合透镜,对于632.8 nm波长的光,其焦距为100 mm,相对孔径为1:5,而波像差小于λ/4。在这个实例中,对于初学者来讲,这些内容基本上包括整个光学设计所需要的教学内容(如透镜模型或系统结构参数建立、光线追迹、波前分布、像质评价分析等)以及设计思路和流程。在教学过程中,教师应贯穿整个设计目标是一个等效焦距(总光焦度倒数)为定值的光组,着重把握如何合理分配两个透镜的光焦度为设计思路。当涉及到构建透镜模型时,教师引导学生如何在软件中操作如参数设置和模型显示,并改变不同结构参数观察模型变化。当实现光传输时,重点讲解光线密度概念和物理意义等,以及光线在软件中追迹算法,串插地讲如何设置光线密度和工作光波长等操作。当讲到成像质量分析时,讲解波前的物理意义,和衡量成像质量的标准或判据,以及一般有哪些评价函数等,重点应放在如何分析成像质量。最后,谈到软件自动优化设计时,主要讲解如何设计优化函数,了解像差自动平衡的方法和有关问题,来提高成像质量,对这个理解和领悟是学生以后逐步走向更高层次的光学设计关键。
通过实例教学,一方面让学生体会到专业软件与应用紧密结合,激发学生学习兴趣,提高学生的课堂参与度。更重要的是培养学生的光学设计整体思路,结合专业知识训练如何分析问题和解决问题,提高综合应用专业软件能力。
同时,教师对实例的筛选,要具有经典性和适宜的难易度。我们知道专业光学软件功能强大,涉及面广,如ZEMAX光学设计软件大致包括照明和成像两个范围。在专业光学软件的学习训练中一般分为初级、中级、高级三个层次。在中、高级层次训练中是针对特定设计目标,比如照相镜头设计、光谱仪系统的设计等,在这里需要更高级光学专业知识,如《高等光学》、《傅里叶光学》等。因此,教师在教学过程中针对不同学生层次,要把握教学难度和深度。
2.2 坚持课前专业知识巩固,课堂学习讨论,课后上机复习的学习方式
专业光学软件里面涉及到许多专业名词,对它们准确理解,利于参数设置时有清晰的物理意义。这些专业名词的知识来自前期专业理论课程,需要学生课前自主巩固、查阅资料,比如软件中的有效焦距、波前、像差、评价函数等专业名词。在课程上,以实例讨论为主,学会分析问题和解决问题。以ZEMAX光学设计软件为例,可以讨论影响像差的因素是哪些,如何通过调整孔径光阑位置改善像差,以及在设计中如何平衡和分配各类像差等问题。通过实例讲解和讨论的学习方式,除了在课堂上激发学生学习热情和兴趣外,还加强对专业知识综合理解和提高应用软件解决问题的能力。课后布置学生上机复习,一是让学生消化课程上的知识,进一步尝试解决实例中出现各种情形;二是提高学生对软件使用熟练程度。这种学习方式让学生从被动式的课堂听课、上机练习,改变为主动性的课堂学习讨论,课后自主复习和巩固光学软件应用思路,鼓励学生尝试新的设计方案。对教师而言,一是让学生认识到专业软件课程学习的重要性和优势,充分调动学生的积极性和学习兴趣,是主动性学习方法的前提;二是引导课程讨论由浅入深,抱砖引玉。近几年来实践教学反馈,低年级学生意识到专业光学软件学习是光学理论知识与实际应用结合的关键环节,以及在就业方面占据较大优势,这已经形成学生的共识,起着良性循环作用,提高了学生学习专业软件积极性。
3 采用多样灵活有效的考核评价方式
专业光学软件课程有着自身的内容特点和教学规律,仅仅采用传统的笔试、上机考试的考核方式是不能很好适应专业光学软件教学考核要求。专业光学软件课程的教学目的是不仅仅让学生熟练使用软件,更为主要的是能结合专业知识应用软件进行光学项目分析和设计。因此,专业光学软件课程的考察就是评价学生的专业知识综合运用与分析能力,包括专业知识的理解、项目的分析和解决能力、计算编程水平等几方面综合素质表现。基于此,我们在教学过程中采取多样灵活有效的考核方式。
(1) 小作业。平时主要考察学生对专业光学软件的操作能力和专业知识的理解与应用。这通过课后布置小作业来考察学生平时对知识点掌握情况,同时还兼顾知识小结的复习和巩固。
(2) 小组课题。学期快结束时,提前三至四周时间,分小组布置不同课题(或项目),如设计光学镜头(广角、微焦距镜头等)、光波导器件等。在规定时间内,让小组学生自主讨论,查阅资料,最后形成项目文档,提交设计报告。这种考核方式,对个别基础差的学生实现起来有一定难度,但通过小组成员合理搭配(平常成绩好的带动成绩较差的),这不仅提高整体学生的专业水平,更重要的是培养学生个人能力,如沟通、管理、创新、团队协作与领导等。
还要强调的是,教师在最后考核结束时,给予学生提交的项目报告进行点评,应重点评价学生的思维过程,同时帮助学生得到合理的答案,使得对学生的考核成为课堂教学的延伸。
4 实践教学中相关问题思考
目前专业光学软件实践教学表明,上述措施的实施,在教学质量和学生受欢迎度方面有很大提高。但仍存在一些更高层次的问题,值得思考与进一步完善。
(1)研究性教学的融合。这主要体现在分小组讨论中,如在专业光学软件教学实践过程中融合研究性教学,这将进一步提高教学质量,更为重要的是增强学生个人能力和素质修养,如创新能力、科学精神和科学态度以及团队精神。
(2)专业光学软件实现创新能力的培养。目前我们使用的基本是国外专业光学软件,拥有自主知识产权的专业光学软件很少,其根本原因是在人才培养过程中缺少相关创新能力培养环节。因此,在专业光学软件教学过程,以此为契机如何培养能实现具有自主知识产权软件研发、创新能力人才,这也是我们面临一个重要课题。
参考文献
[1] 孔伟金,云茂金,黄家寅,等.光信息科学与技术专业实践教学创新体系的研究[J].实验技术与管理,2010,27(3):19-21.
[2] 郁道银,蔡怀宇,葛宝臻,等.光电信息工程专业建设的探索与实践[J].光学技术,2007(33):293294.
[3] 戴斌飞,武文远,任建锋.用ZEMAX软件辅助迈克耳孙干涉仪实验教学[J].大学物理,2008,27(7):28-33.
[4] 孙一翎,黄昌清.基于BeamPROP软件的集成光学虚拟实验室构建[J].电气电子教学学报,2010,32(1):82-83.
[5] 秦怡,巩琼,李根全,等.基于Matlab的光学信息安全教学实践[J].实验室研究与探索,2013,32(5):134-136.
[6] 李翠梅,张兄武,徐宗宁.专业软件支持下的工科研究性教学探究[J].黑龙江高教研究,2012(1):157-159.
1.1三个培养阶段——完善的实践课程教学体系建设
浙江工商大学结合软件工程专业的特点,加强实践课程教学,全面优化和修订培养方案,调整课程设置,将传统以基础理论教授的模式转化为以培养实践能力为主的课程体系建设。课程体系体现“厚基础”、“重技能”、“多实践”的特点,课程类型基本分为公共基础课、专业课、专业选修课、实践课等。在整个课程体系中,软件工程专业学生培养分为3个阶段进行,即初期阶段、中期阶段和后期阶段。1)初期阶段。初期阶段是指第1学年和第2学年的第1学期。该阶段学生的任务主要是学习数理基础和提高软件开发能力,包括夯实数理基础、提高学习能力、解决语言听说写的问题和解决编程能力问题。一、二年级暑期短学期,开设高级语言程序、数据结构、Java程序设计等实践课程,使学生具备较强的软件开发能力。当然在该阶段,学生也可以申报创新项目,或是参与一些学科竞赛、科研项目等,但由于参与上述项目的要求比较高,参与这些项目有个知识准备的过程,所以一般来说该阶段软件工程专业的学生参与力度不大。相对来说,这个阶段的学生可以考虑参与一些与课程相关性比较强的实践内容,如开放实验、创新实验、C语言程序设计大赛等,而等数据结构课程学完之后,部分对编程感兴趣或是编程能力相对比较强的学生可以考虑参与ACM程序设计大赛的训练。2)中期阶段。中期阶段是指第2学年第2学期和第3学年。该阶段的主要任务是学习Web技术、软件建模与设计、软件项目管理、软件质量与测试等专业课程,强化专业知识教育,通过校内项目实践课程,加强学生动手能力、实践能力,提高系统设计能力。学生在这个阶段应该掌握完备的计算机专业基础知识,学习软件工程的基本原理和方法。我们特别设计了两个学期的软件工程实践课程,通过以小组为单位的完整项目实践,让学生真正掌握和应用软件工程的各种方法以及团队合作技能。该阶段是软件工程专业学生主要实践锻炼、创新能力培养、动手能力累积的主要阶段,在该阶段,学生可以根据自己的兴趣爱好,在教师的指导下参与各种创新实践项目、学科竞赛、科研项目等。3)后期阶段。毕业阶段是指大四整个学年。在该阶段,通过开设一些专业选修课,让学生了解专业前沿,学习软件工程规范,拓宽专业前沿知识和领域知识。大四第1学期的后半学期开始到优秀软件企业进行实践,学技术、学管理和学做人。企业实习可以与毕业设计挂钩,实习的内容可作为毕业设计的内容,使学生能够更好地适应产业界的需要。
1.2实施保障措施——全程专业导师制、全面实践课程改革、全方位实践活动
1)全程专业导师制。学生的培养体系通过实施“全程专业导师制”,加强对软件工程专业本科学生的专业指导,提高学生的专业实践能力。专业导师的职责主要是负责对学生学习方法、专业认识和实践动手能力等方面进行指导,主要向学生介绍学科和专业的教学内容、方向和发展前沿,引导学生明确学习目的和成才目标,端正专业思想和学习态度,促进学生知识、能力、素质协调发展,并创造条件让学生参加科研活动,鼓励和引导学生参与社会实践等活动,积极引导学生参加各种学科竞赛并给予辅导,在大四阶段指导学生的毕业设计和择业。2)全面实践课程改革。对培养体系中的所有实践课程进行改革,改进教学方法,加强教师指导,提高教学效果。以软件工程实践课程为教学改革试点课程。以“大班授课小班讨论”的教学改革方案下,以已有实践课程改革方案为基础,针对该课程的具体情况,制订出一套适合于软件工程专业学生的最佳实践方案,以开源软件为开发和管理工具,以团队合作为组织形式,真实地模拟软件工程项目从需求分析到软件的完整过程。本课程在教学方式、小组交流与合作、实践指导和考评体系等方面进行了强化和扩展。(1)教学方式:课程共60学时。课程采用大班教学,小班讨论与实践的教学模式进行。其中,课堂教学(即大班教学)约20学时,实践教学(即小班讨论与实践)40学时。学生在大班教学阶段全面学习了目前现有软件企业在实际软件项目开发中所使用的项目开发和管理技术和业界普遍使用的软件工具。在小班讨论阶段将这些知识融入实际的软件项目管理与开发中。(2)小组交流与合作:以开源软件工程工具和开源软件组件的学习和使用为基础,从真实软件工程项目的需求分析、概要设计、详细设计、编码实现、软件测试至最后的软件,学生们以理论教学促讨论,以讨论促实践,从实践中真正学到了软件工程业界的理论与方法。(3)指导实践:主讲教师除了进行理论教学的授课之外,必须直接参与实践讨论的教学环节,这不仅有利于提高实践讨论的效率,实时解决学生所遇到的理论知识问题,给其他实践讨论指导教师起到良好的示范作用,更有利于从实践讨论教学环节中得到学生的反馈,对下次的理论教学进行强化、修正和扩展。每班配备2~3名实践讨论指导教师。(4)考评体系:以小组整体成绩与个人贡献相结合的考评方法,可以更合理地评估每位学生的实际表现。3)全方位实践活动——创新实践计划,软件设计竞赛等。本着“注重应用、提高素质”的实践培养要求,为学生提供全方位的实践活动,包括创新实践计划和软件设计竞赛等。创新实践计划原则上要求学生具有基本的程序设计和开发能力,掌握软件工程开发各个环节的基本知识、基本技术(嵌入式系统、信息系统、多媒体开发)。创新实践的主体为软件工程专业本科三年级学生。为了创新实践的梯队培养和团队协作,创新实践的对象还可以包括优秀的大学二年级学生和研究生。考虑到软件工程项目在时间上的整体性、迫切性和定时性,同时结合学生能够充分利用连续时间,以及指导教师的空闲时间,每届学生的创新实践的开始时间为第4学期末开始,至第7学期毕业实习期之前。实践的工作制度为弹性工作制,即按照项目开始时制订的工作计划,每人按时完成各自的工作任务。参加创新实践的学生首先在专业实践机房进行培训和实践模拟训练,学校每个学期开始、期中和期末各进行一次实践考核,考核优秀者可以进入校内实践基地,从事真实项目的开发工作。软件设计大赛旨在通过竞赛活动,提高学生的软件系统设计、开发水平,培养学生在软件工程方面理论与实践相结合的能力,激发学生参与实际软件开发工作的兴趣,培养学生的团队协作能力,树立科技创新意识,丰富和活跃校园文化氛围,培养经济和社会发展需要的优秀人才。竞赛要求二、三年级学生混合组队,以三年级学生为主,二年级学生为辅,培养学生之间的沟通能力和协作能力。大赛遵循自由命题的原则,体现创新,所有作品必须为学生的原创作品,不得侵犯他人的知识产权。竞赛注重基本知识的掌握与应用,体现实际操作能力和综合应用水平。学生提交作品后,由专家委员会组织专家从多个方面对参赛作品进行量化评分,包括:作品相关材料的真实性与完整性、作品的创新性、作品的技术先进性、完成作品的工作量与工作难度、理论与实践相结合程度、回答问题的正确性等。
1.3评价保障机制
社会的发展、时代的要求推动了人才培养模式的改革,单纯注重知识传授转变成加强实践创新能力的培养,教学资源建设也由传统的分散的单一型向集约型、立体化、网络化、共享型转变,教学管理机制由原先强调规范向满足学生自主选择和有利于学生个性发展转变,学校以及学院为配合本专业大学生创新能力培养提供了保障机制。1)科研项目为教学科研改革提供动力。本专业学生通过创新项目立项、专业实践锻炼、参与导师的横向、纵向课题等方式,为师生的科研教学和学习提供了真实的问题环境,使他们在实战中提高了科研教学能力和学习应用能力。此外,学生也可以将所参与的项目与毕业设计、科技创新、社会实践等相结合,体现自身价值的同时,也能激发教师科研创新的积极性。2)“创新学分”冲抵选修课学分,丰富学生评价方式。我们将“实践创新能力”这一指标引入学生的评价系统,加强学生素质拓展教育,凡是参与实践创新活动并能提供相关成果的学生经认定后可获得一定的“创新学分”,其中修得1个创新学分是在校学生必备的要求,而获取该学分有多种方式,如参与各个教师所开设的创新实验满15课时,且提交一定成果,经指导教师认定为良好以上的,可向教务处申请获得1个创新学分;参与校级以上学科竞赛并获得三等奖以上的也能获得相应的创新学分;发表学术论文的学生根据文章排名也能获得相应的创新学分。而多出来的“创新学分”可冲抵相关的专业选修课学分,进一步丰富了学生评价方式。3)“系统/论文替换”,丰富毕业设计环节的形式。我们在毕业设计环节施行“系统/论文替换”的新形式,增强了毕业设计环节的灵活性。凡是参加省级以上竞赛并取得三等奖以上的学生提出申请后经学院认定,可根据竞赛的成果替换毕业设计环节中的相关内容,如某个学生获得浙江省电子商务竞赛设计类一等奖的排名第一的学生,可以将竞赛的成果(系统和报告)申请毕业设计系统和论文都替换,而发表B类以上学术论文的学生可以申请论文替换。
1.4建设校内软件外包基地
软件实践基地对于软件工程专业的实践教学有着重要意义,在实践基地进行的实践教学能使课堂上的知识完成从理论过渡到应用。目前,各个高校普遍通过与软件企业合作建立校外实习基地进行实训学习,但这种方式存在不少问题:实习点分散不利于管理;到校外实习一般费用较高;由于软件企业担心泄露机密、干扰正常工作等原因不愿与学校建立校外实习基地,或同意建立校外实习基地,但对实习的时间和实习的岗位加以严格限制,甚至学生只能观摩不能操作。因此,为了提高浙江工商大学软件工程专业学生的实践能力,除了建立校外实习基地以外,建立完善的校内实习基地尤为重要。从2008年起,浙江工商大学与知名的软件服务外包企业(杭州星移软件有限公司、杭州富士制冷机器有限公司)合作,建立了校内软件外包实践基地,让学生有机会参与对美、日软件外包项目的实践,为学生实践提供了良好的工程实践环境。我国软件外包正飞速发展,软件外包是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成。软件外包项目符合我们实践教学的需要,软件外包项目的特点是种类丰富,部分项目规模小,周期短,也经历软件生命周期的各个阶段。软件实习基地不仅使得学生与社会更好地衔接,也为人才培养模式改革、师资队伍建设提供良好的载体。该实践基地的建设,可充分利用校内良好的实验室软硬件资源和强大的师资力量,通过承接各类软件外包项目,引入服务外包企业的运作模式和管理机制,方便学生在校内参与真实的软件外包项目,提高各个层次学生的软件工程与外包实践能力,为顶岗实习实践打下基础。可充分发挥学校和企业在软件服务外包人才培养方面的各自优势,整合与优化现有各类资源,为学生提供良好的实习实践环境。
2应用效果
浙江工商大学面向软件工程专业的大学生创新能力培养体系根据产业发展不断调整和完善。2005届学生毕业后,该专业课程体系进行了一次深入改革,课程设置从偏向理论、细粒度化设置转换成注重实践、粗细力度相结合,而2006版和2007版课程体系标志着该培养计划基本内涵的成熟,2008版课程体系则是对软件工程专业教学的进一步总结。在该培养体系指导下,学生对学科知识架构认识清晰、理解深刻、基础扎实、适应性强、独立解决实际工程问题的能力突出,毕业生受到用人单位青睐,就业率和就业层次高;据软件行业协会调查和用人单位反馈,学生在工程能力、创新能力、国际化适应能力以及团队合作精神等方面均得到广泛认可;学生在竞赛中也取得了可喜的成绩,如2011年该专业学生团队获得浙江省电子商务竞赛设计类一等奖、国家电子商务竞赛一等奖等,2012年该专业3组学生获得浙江省服务外包创新应用大赛二等奖。该培养体系对于确立浙江工商大学软件工程专业的学科定位与教学内涵也起到了积极作用,得到广泛认可。2009年,软件工程专业“软件工程实验室”获得省属高校实验室建设项目;2011年,软件工程专业被评为“软件工程实验室教学中心”省级实验教学示范中心。
1.课程体系设置软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识[4]。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。
2.培养流程与实施教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。
二、专业实践能力的培养与训练
软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。
1.实验型课程教学包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。
2.校内软件开发实践采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。
3.校外软件开发实践在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。
4.毕业设计研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。
中图分类号:G434 文献标识码:A 文章编号文章编号:16727800(2013)007019302
0 引言
随着信息化的普及和IT技术的不断应用,高等院校在培养软件工程专业应用型专门人才方面已逐步形成了一定规模。面向英语、日语等外语与中文环境相结合的软件外包服务业也迅速发展,大型IT企业需要大量的掌握双语文化知识的软件开发人才。同时,教育部在《关于加强高等学校本科教育工作,提高教学质量的若干意见》中指出:为适应经济全球化和科技革命的挑战,本科教育要创造条件使用外语进行公共课和专业课教学。因此,在软件工程专业系列实践课程中引入双语教学,改革教学模式,使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到基本技能训练,提高其解决实际问题的能力,适应社会对人才的需求。
1 双语教学的内涵与作用
双语教学指用非母语进行部分或全部非语言学科的教学。在课程教学中,使用中文、英语语言文字作为教学媒体,使学生在整体学识、两种语言能力以及这两种语言所代表的文化学习及成长上,均能达到顺利而自然的发展。
本文通过在软件工程专业系列课程及实验中开展双语教学,采用新的与国际环境相适应的教学模式,构建双语实验教学体系,主要起到三大作用:
(1)有利于软件开发人才与国际接轨。近年来,欧美公司的软件外包服务逐步向印度、中国等新兴国家转移,印度由于其母语为英语,其软件公司和软件人才无论从数量还是质量上都明显好于中国,中国要获得更多的软件外包或培养有国际竞争优势的软件人才,必须让从事软件开发的大中专学生广泛接受英语语境教育,实现跨国软件人才的无缝接轨。
(2)有利于教师教学质量的提高。教师通过双语教学,锻炼了教学语言能力,开阔了国际视野,真正实现了教与学的统一。
(3)有利于实验教学体系的完善,通过开放、标准的双语实验教学体系,更能使外来人才和学生适应当前社会和企业的需求。
2 课程教学环节设置
在软件工程专业系列课程及实验中设置双语教学环节,这对教师提出了更高的要求,需要具备通晓国内外的软件开发环境、理论体系及实践环境的知识。能进行双语教学环节的软件课程有:数据结构、软件工程、软件项目管理、操作系统、编译原理、数据结构、汇编语言、C语言、Java语言、数据库原理等。
课程涉及的外语环境软件,比如电子设计软件Protel、Java开发平台Eclipse、C#应用软件VS2008、操作系统Linux、Cisco Systems、SQL Server 等开发平台及软件大部分都是全英文版的。并且从国外引进的比较先进的实验技术和实验课程教材大部分也是英文版的。
3 双语教学案例分析
由于实验课程平台的多样性,需要在软件实践课程中采用双语实验教学。
现以数据库实验课程和Java实验课程为例,进行相关的实验课程双语教学。数据库实验课程由具备海外留学经验的教师主讲,采用的是自编SQL Server 教材(电子工业出版社)和Administering a Microsoft SQL Server 2000 Database(英文版)两本教材相结合,实验软件为SQL Server 2000。实验教学模式采用案例分析和分组实验方式,实验演示软件和数据库软件采用英文版,讲授和示范采用中英文结合的方式。
主要通过如下几个环节来提高学生对双语实验教学的认知能力:
①实验指导预习环节:在进行实验课之前,先给学生列出有中英文对照翻译的详细实验指导,并让学生自行熟悉SQL Server 2000等英文版软件;
②实验操作环节:对实验的关键部分用英文注释并向学生作中文解释;
③实验小组采取“1+1+1”模式,即1个英语好的学生+1个软件操作能力强的学生+1个理论理解能力强的学生组合;
④实验报告环节:实验报告主要以英文撰写的模式,并附上中文解释;
⑤综合性实验环节:借鉴香港大学IS信息系统集成方面特色,实验数据库技术和其它系统进行集成和整合。
实施教学的过程中也遇到一些困难,学生对英语特别是与数据库相关的专业英语术语的接受程度不一,并且对软件操纵能力的水平不一,这要求教师在教学过程中对学生实验分组的搭配要合理。在进行该门课程的实验教学前,可制定一份详细的摸底调查表,对学生的英语水平和软件开发能力进行摸底,然后进行人员搭配和分组。
根据摸底情况进行差异化教学,先对英语能力和软件掌握程度好的学生进行培训。以掌握英文阅读能力和英文软件为主,而英文能力差的学生则以掌握中文为主。再通过“1+1+1”模式,让英文好的学生传、帮、带英文水平差的学生,最后实现共同进步。
关于实验过程中教师在进行英文讲解时与学生的沟通问题,由于一些术语比较专业,学生往往难以理解,这就需要教师预先给予注释并进行解释。
由于数据库实验课程引进了双语教学,其实验课时的安排有所增加,具体课时如表1所示。
4 双语教学效果分析
通过对双语教学课程中学生反馈信息的总结,可以确定双语教学的开展产生了如下效果:
(1)学生不仅掌握了相关课程的基本概念和基本理论知识,而且通过双语学习掌握了准确系统的英语专业表达方式,并提高了专业英文的阅读能力和自学能力。
(2)通过课堂提问、软件实践、书面作业等形式,以介绍软件开发的基本概念、基本理论为重点,结合软件开发规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对软件工程专业理论知识有全面了解,初步培养了学生用外语进行专业交流的能力,增强了学生开口说、动手写的技能,提供了学生与教师间进行专业交流的平台,提升了学生的综合素质。
在进行双语教学实践后,学生在毕业论文设计初期可以充分自由地利用新的外文资料。这有利于培养学生毕业后从事软件服务行业的外文阅读能力,从而提升学生面向市场的竞争力。
经过几年的努力,软件专业系列课程双语教学改革取得了一定的成效,学生能力前后对比如表2所示。
5 结语
通过以上措施的改革,可以提高学生对各门专业课程的综合运用能力,拓展学生解决实际问题的思路,提高实验效率。
实验室也是科研的基地,是出人才的地方,也是出成果的地方。把实验课教得更好,把科研搞得更好,才能为我们的教学、科研做出更大的贡献。
参考文献:
[1] 丁学钧,温秀梅,刘建臣.计算机专业双语教学系统模式研究与实践[J].计算机教育,2007(7).
[2] 王志英,蒋宗礼,杨波,等.计算机科学与技术专业实践教学体系与规范研究[J].中国大学教学,2009(2).
中图分类号:G642文献标识码:A文章编号:1009-3044(2012)14-3321-03
Construction and Practice on Curriculum Architecture of Software Major in Local Colleges
REN Zi-ting
(Department of Engineering and Computer Science, Hezhou University, Hezhou 542800, China)
Abstract: To solve the distance between curriculum architecture settings of software major in local colleges and social needs, probes into the construction plan of the curriculum architecture and practice teaching system, to provide services for the talents training adapting to lo cal economic development.
Key words: local college; software major; curriculum architecture; teaching system
近年来软件业保持快速增长,“十二五”时期大力促进软件业变大变强,人才需求旺盛,但中国的IT队伍结构严重失衡,各个层面的人才缺乏,制约了经济滞后地方软件业的发展。长期以来,国内高校软件专业主要以培养研究型人才为重点,以软件基础理论和系统软件设计为主干,目标是培养面向计算机与系统软件领域的研究型人才[1],高校软件人才毕业生数目不断增加,却仍难满足需要,与企业所需人才错位现象突出。地方本科院校高等教育是大众教育,目标是立足地方,服务周边,面向省内。该文探讨培养适应地方需要与变化的人才,适应地方产业服务与学生能力培养的课程体系。
1改革思路
地方本科院校生源不同于重点高校与普通本科院校,地区经济水平存在差异,学校获得支持力度小,学生的起点和所具有的知识相对较低,在学习中缺乏自我约束能力,更加突显课程建设的重要性。课程体系在专业建设中起着重要作用,是培养人才的根本保障,体现了地方本科院校的专业建设及办学理念。为此通过调研高校与企业,提出如下改革思路:
1)课程应适应软件和信息技术发展及地方产业需求,正确认识自己,面对现实,勇于革新。
2)软件专业课程体系的构建必须充分考虑到软件人才培养目标的岗位针对性、知识结构的连贯性、专业特色的鲜明性、技能的实践性、素质培养的综合性、工作能力的拓展性和考核评价的多样性[2]。
3)针对企业对能力和技术的需要,改革现有课程内容,实现教学与就业的对接。开设的专业技术课程需教、学、练一体化,依托项目,正确理解、分析项目需求,合理规划项目设计和技术方案。
4)综合化的课程设置,以学生为本,立足学生长远发展,增强学生对课程、发展方向的选择空间,
倡导个性发展,强化实训实践,细化专业方向,建设动态的课程体系。
2课程体系
我校2008年开始招收软件技术专业本科生,目标是培养系统、深入地掌握计算机科学技术基础及软件工程专业知识和工作技能的专业技术人才,能直接从事计算机应用、软件开发的多岗位中级应用型人才。专业课程体系设置不是简单堆砌计算机科学专业核心课程和软件工程核心课程,而是根据教育部计算机专业人才培养规格,融合产业需求和规范,对核心课程整合调整。我校软件专业课程设置如表1所示。
1)分层次模块化的课程。注重理论够用与实践能力关系,兼顾专业基础和产业需求改革核心课程,以服务地方产业和就业为向导,确保学生具有专业特长、创新能力,在行业中有多岗位竞争适应能力。
2)软件专业在专业技能上进行“专业基础+专业能力核心+专业方向+竞赛认证+实践”方案设置。
3)构建创新性课程体系。从通识教育基础课程“、学科基础课程+专业课程”、专业技能教育三个阶段部署。通识教育基础课程完成公共基础课程、文化素养与职业认知课程教学,通过计算机导论和软件工程概论引导,有针对性的设置专业基础知识讲座和前沿技术讲座;“学科基础课程+专业课程”阶段进行专业基础课程和软件系统课程教学,使学生掌握扎实的理论基础、较强的编程能力和宽广的专业知识;专业技能教育阶段完成软件工程高级课程和专业方向/技能课程教学,掌握某一方向的软件开发技术,参与实际项目训练,并设置竞赛与认证课程,给予相应的课外学分,培养其自学能力和创新意识。
4)课程设置综合考虑模块的衔接。基础知识教学以程序设计为主线,内容贯穿汇编语言、系统调用到C语言;数学基础课程是从事计算机软件工作所应具备的数学知识,增加以往未开设的微积分、线性代数、概率论与数理统计作为必修;数学基础课程,硬件操作系统与系统软件课程,程序设计、数据结构、软件架构课程并行;专业核心课程由面向对象程序设计、软件工程、数据库系统、软件体系结构、软件开发技术、需求工程、软件测试与质量、软件项目管理、专题知识讲座等构成;专业方向配置6个方向的课程模块,有软件文档写作、数学建模、人机交互技术、信息系统分析设计、网络多媒体技术、嵌入式系统与应用等课程,可视产业需求和办学特色修改专业方向模块。
5)设置英语模块,注重英语能力的学习。软件领域反映最新的技术、文献、资料等都是英文所写,对学生的英语能力进行强化训练,注重看得懂、写得出;加强专业英语的教学及内容更新,将适当比例专业英语融入专业课和专业选修课中教学;亦开设几门专业课实行双语教学,实现专业英语的学习和提高。
6)构建厚基础与灵活的多专业方向。多专业方向根据学生的知识结构、职业规划进行课程内容设置,学生可灵活选择不同的方向或者几个方向,剔除了过去陈规的课程内容束缚,提高了学生的自主选择性,增加了学习积极性,利于其提升专业创新能力和职业个性化发展。
3教学实践体系
地方本科院校人才培养主要突出突出专业应用能力,而学生所学理论与实际运用有一定的距离,除构建科学合理的课程体系外,还应构建多元化教学实践体系,借鉴重点高校与西方大学的教育理念、教学方式,精简理论授课时数,培养学生综合与设计能力、开发与创新能力、团队协作能力。
3.1教学模式
当前许多高校的教学模式仍以定时定点为主,教师在教学中起主导作用,往往是课堂气氛沉闷,学生一上课就想下课的状态,教学效果很差。学生作为学习主体,应按“知其然-知其所以然-创新”的思想进行教学。安排课程应注意教师的专业方向,授课创新教学方式,调动学生积极性,主要有以下方面:
1)“问题式”教学模式。通过提出问题引入教学内容,培养学生发现、分析、解决问题的能力,激发学生学习兴趣,调动主观学习能力、思考能力、创新能力。教师在教学过程中精心组织课堂内容,采取灵活开放提问方式、多种分析方法,避免灌输式讲解,如开始讲解一门课程时试图从一个“高级论题“开始,而又不面面俱到精细讲授,引导学生的思维,留下继续探索的空间,获取的知识更加直接有效。
2)“案例驱动”教学模式。案例驱动以案例为主线,从真实项目提炼、精选案例,将大项目细分成小项目,构建模板框架,层层递进,注重细节,增强实践和编程能力。积极与软件开发公司或培训机构合作,聘用经验丰富的软件开发人员针对实际项目从事教学工作,提升学生的软件开发技术和团队合作意识。
3)“专题式”教学模式。讲授一门课程时涉及到某课程知识拟请相关老师用几个课时进行“专题式教学”,即一门课程由一位老师主讲,按照知识点的分布情况合理组织,其他老师协作讲授。该模式可将密切联系的课程进行整合,体现教师的专业性,获得系统性的知识,打破了以往孤立的授课方式。
4)“嵌入式”教学模式[3]。该模式将企业所需技术引入教学中,不改变学校的教学计划,而按照教学计划的实施进程,将企业的开发项目按照软件的生命周期进行分解,以讲座的形式嵌入到教学中,体现了既教育又实践的思想,培养其掌握知识的能力和软件素养。
3.2实践体系
实践教学是应用型人才培养的关键环节,地方本科院校由于资源限制,在教学上理论与技术、实践严重脱节,学习的理论没有适合的环境付诸实践。当前不仅要与理论课同步开设一些基础的实验,还要结合课程的应用优化综合设计综合实验,结合相关的项目应用与课程单独开设实验课,实现分层的实验教学体系[4]。为此引入CDIO工程教育理念作为实践教学的理论指导,建立规范的以能力培养为目标的实践性教学体系,如图1所示。
该实践体系融理论教学和实践教学为一体,构建实验、实训、实习的工程能力训练体系。验证性实验增强学生对课程基本知识点的掌握,训练基本实验技能和工具的使用,加深学生对基本方法、基本思路的理解程度。设计性实验在已有基本知识和技能基础上,应用一门或多门课程的技术和方法综合设计,强化学生构思、设计、实施和操作的能力。实训环节培养学生的综合能力,通过校内、校外实训基地,面向岗位针对性的选拔进入实训课程;通过参加认证考试、各类竞赛等项目,提高课外科技实践的能力。实习第一阶段通过短期实习替代教学,使学生体验业界氛围和所需知识技能,返校后有针对性的学习,即采取学习-工作-学习的方式;第二阶段实习进一步锻炼其工程能力、社会能力,并独立完成毕业设计。
4结束语
地方性本科院校开展软件专业课程体系研究是迫切的现实需要,仍存在许多探索的问题,如师资建设、教材建设等,需要与时俱进的精神,以服务于地方经济建设为原则,不断进行研究,调研产业发展和新的技术进展与前沿性,保持动态的课程体系,只有这样才能得到持续性发展。
参考文献:
[1]吴爱华.全国高校软件工程专业教育年会论文集(2007).适应时展推进高等理工科教育改革[M].北京:高等教育出版社,2008.