软件工程专业“本硕联动”实践基地建设

2017-05-31 13:44徐传运李刚张杨张小川
计算机教育 2017年5期
关键词:软件工程建构主义

徐传运+李刚+张杨+张小川

摘 要: 针对软件工程专业校内基础实践基地和校外专业实践基地建设中存在的各类问题,首先提出“本硕联动”实践基地的总体建设思路,然后从本硕培养模式的改革、合作项目及人才的引进以及管理制度建设3方面说明实践基地建设中的具体举措。

关键词:本硕联动;产学一体;软件工程;实践基地建设;建构主义

文章编号:1672-5913(2017)05-0145-05

中图分类号:G642

0 引 言

教育部、国家发展改革委和财政部的相关文件指出:培养适应专业岗位的综合素质,引导和鼓励行业企业全方位参与人才培养,充分发挥行业和专业组织在培养标准制订、教学改革等方面的指导作用,支持校所、校企联合建设拔尖创新人才培养平台,完善校所、校企协同创新和联合培养机制。教育部和人力资源社会保障部的相关文件也指出:共同建立健全实践基地管理体系和运行机制,注重在实践中培养研究生解决实际问题的意识和能力。这充分说明了软件工程专业实践基地建设的紧迫性和必要性。

1 现有问题分析

由其培养目标、培养方式等可知,软件工程专业硕士研究生和本科生教育强调通过团队学习、案例分析、现场研究、模拟训练等方法,提升学生的职业能力和工程能力,尤其是分析和解决实际问题的能力,而当前软件工程专业实践基地建设中存在的种种问题[1-9]影响面向产业的专业硕士和本科毕业生的有效培养。

1)校内实践基础建设中的问题。

软件工程专业硕士和本科生期望培养能主导和协调项目实施(即具有较强的分析、设计和管理能力)的高层次应用型专门人才,这些综合能力必须在真实的项目环境下进行培养,如培养学生的管理能力,如果没有管理对象,管理能力的训练就无从谈起。工程化、产品化和商业化的真实项目纷繁复杂、时时变化,约束因素强、质量要求高,因此校内实践项目多以虚拟项目为主,难以模拟实际工程化、产品化和商业化项目的非线性环境,难以训练学生在未来职业发展中需要的工程实践能力。

2) 校外专业实践基地建设中的问题。

软件工程专业硕士和本科生期望培养面向中高端的系统分析、设计和管理人才(即行(企)业发展的核心所在),但在当前的现实情况中,一方面,各行(企)业有自己的生产任务和进度安排,在学生能力不足和实习时间较为有限的情况下,行(企)业方让学生真正参与实际生产的动力不足,导致学生无法获得真实有效的训练和培养机会;另一方面,行(企)业方人员的时间精力有限、理论水平参差不齐,严重缺乏水平匹配的指导老师,难以真正指导出專业理论水平较高和理论联系实际能力较强的学生。

2 总体建设思路

为了克服校内实践基础建设和校外专业实践基地建设中存在的上述问题,我们尝试以现有软件工程创新实验室为基础,建立产学—本硕一体化的实践教学基地。本基地兼顾产学研,以发挥价值、按时交付、质量保证和互惠共赢为导向,与行(企)业合作建立研发中心,把行(企)业的研发项目和研发人员按需引入软件工程创新实验室,结合具有较高专业理论水平的本校教师,共同研究和开发实际软件产品,为软件工程专业硕士研究和本科生的实践教学创建一个工程化、产品化、商业化的真实项目环境。

软件工程创新实验室现有的本科生不仅能为软件系统的实际开发提供足够的技术人员,为软件项目的具体实施提供充分的人力保障;还能为计算机类专业硕士研究生的项目管理能力训练提供天然的实践对象,同时本科生的综合能力也能在项目实施过程中得到训练,从而实现本硕双方的价值发挥和互惠共赢。“本硕联动”实践基地建设模型如图1所示。

(1)行(企)业:行(企)业擅长市场运作、产品规划、推广实施与服务、项目管理,与学校全面协作,可以充分利用高校在理论、信息和技术方面的优势,开发出技术先进的相关产品。相对自行组建软件研发团队而言,利用研发基地的风险更小、综合成本更低。

(2)学校(教师):根据本课题,高校教师的主要任务是和行(企)业的管理人员、技术人员等一起进行需求分析和系统设计,共同指导专业硕士研究生的产品开发。一方面,可以保质保量、定制式地完成专业硕士和计算机类(尤其是软件工程)本科生的教学任务,培养出行(企)业欢迎、高水平的本科生和研究生;另一方面,也有利于研发基地获得相关的科研项目和科研经费,促进研发基地的发展和教师学术水平的提高。

(3)本科生:计算机类本科生跟随校内外的专业指导老师和专业硕士研究生,全程参与软件系统的需求分析和系统设计,重点专注产品的实现和测试;在真实的软件项目环境中,接触行业前沿技术,充分了解具体应用领域的相关领域知识,提高专业知识的理论水平,锻炼理论与应用相结合的综合能力,从而提高有针对性就业和后续职业发展的核心竞争力。

(4)硕士生:专业硕士研究生主要协同校内外的指导老师(即“双导师”制:校内的学术导师,要求具有较高的科学研究水平,主要保证硕士生的基本学术研究;校外的工程导师,要求具有丰富的项目开发经验,主要负责硕士生的项目工程实践)完成软件项目的需求分析和系统设计,带领计算机类(尤其是软件工程)本科生完成产品的实现和测试,对其所在的项目小组进行综合管理。在此过程中,专业硕士研究生不仅可以适度了解(甚至全程参与)行(企)业的市场运作、产品规划、推广实施与服务、项目管理,在真实的项目环境中锻炼分析、设计、管理等能力,还可以在以目标为导向的环境中锻炼发现问题、分析问题和解决问题的能力,成为行(企)业真正需要的应用管理型高层次人才。

3 基于建构主义的具体建设举措

学习是用现有经验和知识解释新接受的信息,这一过程即为建构。由于每个人的现有经验和知识不一样,因此对同样的新信息,不同的人学习到的结果(即对新信息的解释)是不一样的。没有解释就没有学习,纯粹的记忆没有任何学习产生。不同的人如何做到根据同样的信息获得基本一致的解释,关键在于行动,而行动、反馈、修正解释三者迭代形成的闭环可以使所有人对信息的解释趋于一致。反馈分为正面反馈和负面反馈,正面反馈对现在解释进行确认和强化,负面反馈促使提出新的解释方案。从这个意义上来说,“错误”比“正确”对于学习的意义更大。从构建主义观点出发,教育有两大目标:引导学生对新信息进行解释(不一定是正确的解释);训练学生构建解释的能力(学习解释的一般规律)。前一个目标强调学习的结果,后一个目标强调学习的方法。学习结果的价值有限,学习方法的价值更为关键,故而应该引导学生在不断的实践中自我思考和自我提升。基于建构主义的建设思想如图2所示。endprint

据图1所示总体思路和图2所示基本思想,我们提出以下3个方面的具体建设举措。

3.1 本硕培养模式的改革

1)软件工程专业硕士研究生的培养模式。

由于研究生的规模相对本科生小,课程体系相对简单,且研究生具有本科教育基礎,更加有利于工程实践教学的深度改革,因此我们将现有的研究生课程学分划分为实践学分和理论学分,设计了“实践先行、理论提升、环环相扣、专人定制”的硕士研究生培养模式。

根据硕士的培养周期,研究生入学面试时,由学术导师和工程导师共同组成的面试小组根据每个学生的具体情况分别给出理论基础等级(如优、中、及格)和工程技能等级(如项目管理级、分析设计级、程序实现级),再由硕士生自己的学术导师和工程导师综合这两个元素有针对性给出“专人定制”的培养计划(例如:项目管理级研究生可以直接担任项目小组长,而程序实现级研究生必须从基本编程开始做起)。

在课程设置方面,尽量以小课(课时数少于20)、微课(课时数约为10)为主;时间开设也应灵活,因为项目开发中涉及客户沟通,为了避免时间冲突,可以将理论课程开设在晚上或者周末等。由于软件工程专业硕士研究生的培养定位为高层次应用研究型人才,课程内容重在引导(即解决研究生在项目实践中遇到的理论瓶颈问题)而非知识的讲授,因此需要先将其投入项目中锻炼,让学生在具体的工程实践中不断遇到问题和思考解决方案,再利用理论课程从科学的角度对其进行解惑和提升。我们因而提出基于建构主义的“实践先行、理论提升”,研究生入学后立即分入不同的项目小组开始项目研发,修得实践学分后才能够选修相对应的理论课程,如在选修高级软件工程这一理论课程以前必须获得高级程序设计这一实践课程的学分。由于课程课时较少,一门课往往能够在几周内完成,因此一学期内学生可以不断地在实践课和理论课之间切换,环环相扣,从而实现理论研究与工程研究的双向循环。

在最终考核方面,将项目开发过程中的综合表现纳入研究生的毕业要求,即由学术导师负责毕业论文的质量考查,给出学术论文成绩;由工程导师监督毕业设计(即毕业论文所依托的软件系统)的完成,全面考查研究生的客户沟通、人员管理、工作协调、需求分析、系统设计、编程实现等各方面能力,给出工程实践成绩,共同完成专业硕士学术和工程两方面素质的考核。

2)软件工程专业本科生的培养模式。

在“本硕联动”的实践基地建设框架中,本科生是项目小组的主要构成部分,本科生的传承式培养是核心环节。教师可依据本科的培养周期,采用 “大一选拔、大二轮岗、大三巩固、大四职业、以老带新、优胜劣汰”的培养模式。

工程导师根据专业任课老师的推荐和学生在专门的笔试、面试环节的表现,在大一新生中选出具备项目开发基本素质的学生进入实践基地培训生库;大二这一学年,这些培训生不参与具体的项目组,而是作为观察者在各个项目小组之间轮岗,强化学习项目开发所需的专业知识和技能;大三的时候,所有培训生全部进入不同的项目小组,开始实打实地程序设计与编码实现,在具体的代码和文档中不断巩固前期掌握的知识和技能;经过前面两年在实践基地的积累,大四的学生大致已经具备程序员的基本技能和职业素养,此时实践基地用一般软件公司的职场要求对其进行规范化管理,并可以在给予其实践学分的基础上根据项目和学生的具体情况给予学生一定的物质报酬。

在具体的项目开发过程中,不同水平的学生各司其职,遇到问题先自己解决,再相互探讨,然后请教项目小组中高层次的学长,最后寻求工程导师的指点;每周固定举行一次例行的讨论会,研究生负责各项工作的部署和学术价值的分析,大三、大四学生负责总结其所承担任务中的得失与所思所想,大二学生可以就其关心的内容自由提问,学术导师和工程导师负责引导讨论会的进程;每学期一考核,淘汰无法升级的不合格者,再从原先未进入实践基地培训生库的学生中引入新人进行补充。

3.2 合作项目及人才的引进

学校可引入有一定技术实力和市场资源的软件公司,签署校企合作框架协议。根据“本硕联动”的人才培养模式,企业首先为学校提供一定的项目经验丰富(如具有10年以上开发经验)的工程人员,作为本、硕生的工程导师,进而建立专门针对本硕生项目开发的工程导师库,在条件合适时,将具体的软件项目引入研发实践基地。首先,由学术导师充分考虑理论、技术、方法和工具的先进性,科学选择最优的解决方案;再由工程导师对项目进行合理的任务分解,并将开发过程规范化、正统化和标准化;最后由两位导师共同商定项目的人员设置,指定1~2名研究生和若干本科生组成一个项目小组。

3.3 管理制度的建设

研发实践基地的健康发展,关键在于按时、高质量地完成软件项目的开发,才能与行(企)业建立充分信任的长期合作关系。软件项目顺利完成的关键在于研发团队的有效管理,但由于学生的非职业化特征和身份认知,教师的身份认知与传统定位、技能有限、经验欠缺等原因,以高校教师和学生为成员的研发团队管理难度较大,尤其需要建立完善和明确的管理制度,确定相关各方的职责、权利和行为规范,做到奖惩分明、利益分配合理。

4 结 语

作为大数据环境下工程实践的主力军培养专业,软件工程本硕教育中对学生工程基本思想和项目开发技能的培养不足一直为业界所诟病、为教育研究者所担忧。思想必须在实践中形成,技能需要在经历中打磨,因此创建一个工程化、产品化和商业化的真实项目环境对软件工程专业本硕生的实践教育显得有效而必要。

我们针对软件工程专业校内外实践基地建设中的一系列问题,提出“本硕联动”实践基地的建设思路及其措施;以发挥价值、按时交付、质量保证、互惠共赢为导向,按需引入软件行业的真实项目和研发人员,有效结合高校的理论知识根基和专业师资队伍,打造工程导师与学术导师相配合的本硕生“多导师”团队;双导师协同指导专业硕士生,硕士生具体负责以软件工程专业本科生为主体的项目团队,共同研究、实际开发兼具学术价值和实用意义的软件产品,产学一体,进而培养出软件开发素养良好的高质量应用技术型本科生和项目管理能力过硬的高层次应用研究型硕士生。

参考文献:

[1] 曾明星, 王晓波. 基于云计算的软件工程专业校企合作实训平台构建研究[J]. 现代教育技术, 2013(1): 107-112.

[2] 张杨, 徐传运, 王森. 面向课程群的软件案例库建设方法研究[J]. 计算机教育, 2015(19): 35-38.

[3] 李祥. 软件工程专业实训教学质量保障模式探索[J]. 东华理工大学学报(社会科学版), 2013(1): 87-90.

[4] 郭威. 基于CDIO的软件工程综合实训课程的改革[J]. 实验科学与技术, 2014(5): 115-117.

[5] 申天恩. 应用型高校经管类实验教学体系的构建与实施[J]. 实验室研究与探索, 2013(6): 24-29.

[6] 朱磊, 徐传运, 张杨. 系统分析与设计课程的双向驱动案例教学法[J]. 计算机教育, 2014(5): 84-86.

[7] 张小川, 周龙福, 李发陵, 等. 基于创新人才培养的实验室建设实践探究[J]. 软件导刊, 2016(2): 189-191.

[8] 徐传运, 张杨, 王森. 针对JAVA程序设计的仿真教学法[J]. 计算机教育, 2013(6): 99-102.

[9] 刘征海, 李萌, 肖建田, 等. 基于三学期制的软件工程专业实践教学[J]. 计算机教育, 2015(8):100-102.

(编辑:宋文婷)endprint

猜你喜欢
软件工程建构主义
基于建构主义理论的计算机教育
旁批:建构主义视域下的语文助读抓手——以统编初中教材为例
DiscussiononBusinessEnglishLearningBasedonTheoryofConstructivism
依托工作室的软件工程实践教学研究
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨
建构主义与高中生物教学
建构主义教学思想在中学数学课堂教学中的运用