软件技术专业多维实践教学体系探索与实践
2018-09-17李唐辉
李唐辉
(阿坝师范学院 数学与计算机科学学院,四川 汶川 623002)
0 引言
随着计算机技术和信息技术的高速发展,软件产业迎来了新的发展机遇和挑战,人才的需求量大增。为应对这样的需求,我国绝大部分高校加入到软件技术人才培养的行列中,根据2016年“高三网”报道的信息,仅就软件技术专业而言,全国就有672所高校开设了此专业。软件技术专业开设的院校多,但高校的多样性并未随之上升,反而出现了地方院校同研究型高校办学定位趋同、专业设置雷同、人才培养方式相近,“重理论、轻实践”,科研活动“重科学、轻技术”等现象,难以培养地方经济社会发展所需要的人才[1]。各个高校在培养目标定位、教学模式,特别是实践教学环节方面还存在很多问题,软件技术人才培养质量满足不了当今软件产业对人才的需求。
1 软件行业对人才的需求及人才培养的现状
当前,全球软件行业正处于成长期向成熟期转变的阶段,而中国的软件行业正处于高速发展的成长期。随着中国软件行业的逐渐成熟,软件及IT服务收入将持续提高,发展空间广阔。根据智联招聘网的统计数据,国内市场每年对人才的需求高达80万,而且这个数值随着中国软件的普及而快速递增,从2009年到2016年,整个软件行业呈快速增长的态势,2016年,在整体经济增长放缓的条件下,软件行业依然保持14.9%的快速增长态势。《2016中国软件专业人才发展报告》中提出我们当前正处在“软件无处不在,软件定义世界,软件定义未来”的时代;从行业分布来看,我国软件从业人员中从事IT服务的最多,占比为35.5%;制造、交通、教育、电信、金融等领域的软件人才所占份额超过60%,说明软件和信息技术服务业对国民经济和社会发展的支撑带动作用非常大。
自从《国家中长期教育改革和发展规划纲要(2010—2020年)》出台以来,我国高等院校特别是地方院校的计算机教育开始从精英化向大众化、职业化转变。但目前来看,我国软件技术专业毕业生在工程项目实践能力、创新能力方面与社会的需求还有不少的差距[2]。造成差距的原因主要包括:①传统高校教育在课程教学中,注意课程本身的教学目标是否完成,相应的课程建设都在内部进行,缺少课程间的相互联系,而软件技术的相关课程的联系性又十分紧密,使得学生的知识缺乏系统化;②教师在课堂上倾向于理论知识的传授,对于理论知识点与工程实践的联系不够重视[3];③多数计算机专业教师在大学或研究生毕业后就直接到高校担任教学工作,即使在学习期间有一些软件项目的开发经验,但解决实际问题的经验比较欠缺,对指导学生综合实践能力的培养是不利的;④校企合作模式深度不够、合作内容吻合度不强、企业支持力度不足,缺乏院校与企业、行业一体化的机制[4]。如何对现在的实践教学体系进行改革,使学生积极参与到实践学习中,提高自己的动手实践能力,在软件行业飞速发展的今天,做一个合格的软件技术人才具有重要的意义。
2 四维一体的软件技术专业实践教学体系的实践
传统的计算机类和软件工程类的主要课程中均有相应的课程实验,这些实践可以训练学生掌握基本实验技能、使用开发工具、验证基本理论或成熟算法,培养学生的实验能力、独立工作能力和协作能力,但距离培养高水平、高素质的工程型人才的要求还有相当的距离[5]。根据生源的情况以及当前软件技术的发展,学校可以结合自身条件和特点,建立一套以学生就业为导向,以专业能力为主线、以岗位要求为依据、以提高学生的就业质量为目的,从“点、线、面、体”4个维度全面贯穿的实践教学体系,如图1所示。
图1 软件技术专业点线面体实践教学体系图
2.1 专业基础技能实践
专业基础技能实践是在专业基础课程为背景的基础上进行的实践教学活动,与传统的课程实验类似,通过这类实践,学生可掌握基本实验技能、使用开发工具、验证基本理论或成熟算法[5]。这类实践主要集中在第一学年,包括计算机应用基础、程序设计基础、面向对象程序设计、Web前端编程等专业基础课程的实践教学环节。此类实践教学环节的设计主要从学生应具备的知识点出发,根据相应的教学知识点设计实验,通过理论教学和实践教学相结合,把知识点融入实验内容中,学生通过实践即能提高动手能力,又能巩固相应的知识。以程序设计基础的实践教学为例,以每章每节的知识点为单位设计一个实践项目,把对基本知识的巩固、程序分析能力、编程能力、程序调试能力和基本的算法分析能力融入实践教学中,让学生体会到学习的乐趣,提高学习兴趣;把平时的实践纳入到评价体系中,并提高平时实践在总成绩中的比重,以督促学生认真完成实践教学内容,保证教学的质量。
2.2 专业能力实践
专业基础技能实践是针对某一门课程来设计的,学生所学知识是零散的,专业能力实践以课程群为依托,专业核心课程为媒介,把所学的知识贯通起来,以软件项目的设计研发为载体,采用开放式实验教学模式,通过教师指导,学生以3~5人为1个小组,以软件工程的基本要求对软件项目进行定义、分析、设计、编码、部署以及文档的编写,通过软件项目的开发把多门课程有机联系起来。专业能力实践主要放在第二学年,以数据库技术、移动开发、PHP编程、软件工程等课程为媒体,要求学生通过项目设计把所学的知识和技能贯穿起来,形成一个整体,学生通过完成项目巩固知识,了解软件开发的流程,提高团队合作的意识和能力,提高程序设计能力和项目文档的阅读和编写能力、自学能力等。专业能力实践以小组为单位进行,实施过程明确责任与分工,教师应加强中间环节的指导和过程监督,评价可以从实施过程、团队合作、项目效果等多方面进行综合评价。
2.3 综合能力与研究创新实践
专业基础技能实践多通过虚拟项目来实现,可以将知识贯通起来使学生具备一定的软件项目实现与文档编写的能力,但是离软件人才的养成还有很大的距离。综合能力与研究创新实践要以项目为背景,全面培养学生的工程项目能力和研究创新能力。综合能力实践以实训项目为背景,以校企合作为平台,邀请企业实战经验丰富的讲师为学生指导、创建情景教学环境,建立项目的开发团队以及销售团队,根据在团队的分工责任,在已有知识和能力的基础上,通过企业讲师指导、同学间相互学习、借助互联网平台等多种方式学习实训项目开发中需要用到的工具、技术、技能等并完成实训项目,提高学生的软件开发与设计能力,全面培养学生的工程意识。这类实践主要在大二假期和大三上半学期进行。研究创新实践主要通过组织学生参加各类科技竞赛或参与教师科研课题进行,通过指导学生参加各级软件方向的科技竞赛以及竞赛的准备,补充平时学习的不足,并学习行业内的新知识、新技术,提高个人的综合能力,在竞赛的过程中学习别人长处、发现自己的不足,进而不断提高自己,并带动部分同学一起学习,形成一个良性学习氛围。教师可带领部分优秀的学生参与自己的科研课题,通过完成科研课题,一方面可以让学生更多地进入到专业领域,更广泛地接触到专业领域前沿的知识;另一方面学生通过参与教师的科研,可以了解到相关专业领域前沿的知识,加强学生进行科研创新的意识和能力,从而全面提升学生的专业综合能力。
2.4 岗位能力实践
在全面培养学生的工程能力和创新能力的基础上,通过岗位能力实践全方位强化学生职业能力和职业素养,把学生培养成一个合格的工程型人才。软件技术专业的岗位能力实践主要由认知见习、社会实践、毕业实习等环节构成。认知见习一般在大一结束后,安排学生到合作企业进行为期一周的岗位认知学习,了解软件技术专业学生毕业后可以从事的职业岗位有哪些,需要具备哪些职业能力和职业素养,以促进学生在后续学习中的目的性和积极性;社会实践要求学生利用假期的时间参加与专业相关的社会实践活动,让学生走出校门、家门,投入到社会中,了解当前行业的发展以及对人才的需求,提高学生的社会生存能力;毕业实习是岗位能力实践的重要组成部分,在大三下学期通过集中实习和分散实习两种方式完成,要求学生每天填写实习日志并完成实习鉴定表,学院组织老师对实习生进行定期和不定期的检查,保障毕业实习的质量。
3 结语
阿坝师范学院数学与计算机科学学院针对软件技术专业的学生推行“点、线、面、体”四维一体的实践教学体系以来,学生的实践动手能力和项目研发水平有了较大的提高,就业率和就业质量显著提高。从2015年以来,软件技术专业大部分同学在成都等大中城市就业,就业率保持在95%以上,对口就业率保持在80%左右。软件行业是一个不断发展变化的行业,随着行业的发展变化,实践教学体系的内容也需要不断更新,以培养适应社会需求的软件技术人才,增强学生的择业竞争力。