APP下载

计算机类专业学生程序设计应用创新能力培养体系构建

2019-05-24柯海丰

计算机教育 2019年5期
关键词:程序设计应用型竞赛

张 泳,柯海丰,陈 蒙

(1.浙江大学城市学院 计算机与计算科学学院,浙江 杭州 310015;2.新疆大学 科学技术学院,新疆 阿克苏 843000)

0 引 言

当我国高等教育发展到一定阶段时,应用型成为必然发展方向:一方面,随着我国高等教育普及程度和规模的扩大,传统的精英教育逐渐向应用型转化;另一方面,社会对应用型人才的需求也不断扩大,使应用型本科院校的比重不断增大[1]。

计算机类专业是典型的工科专业,实践性强,对学生的应用能力要求高,程序设计应用创新能力更是该专业的核心能力,直接决定了专业人才培养的质量。然而,传统的计算机类专业在人才培养过程中,偏重于理论知识的系统性和完整性,忽视了对学生的实际应用能力的培养[2],从而出现毕业生专业能力与企业需要不匹配的现象。同时,目前在实际专业教学过程中仍存在一些问题:①课堂教学在教学学时、教学形式、教学规章制度等方面受限,对学生应用创新能力的培养不充分;②第二课堂没有被有效地组织和利用于学生自主自觉的学习;③学生钻研创新能力不够。因此,对应用型本科院校计算机类专业培养学生的程序设计应用创新能力进行研究探讨具有重要的现实意义与价值。

笔者以培养学生的程序设计应用创新能力为目标,提出了以程序设计竞赛为驱动平台的改革思路,设计了以程序设计竞赛为主线的课程群,组织了基于主题的混合探究式学习,开展了一系列学生应用创新科研项目,从而构建了“竞赛驱动,课程内外融合;探究学习,应用创新并重”的程序设计应用创新能力培养体系(如图1所示),取得了良好实效。

图1 程序设计应用创新能力培养体系

1 程序设计竞赛平台

多年的实践证实,学科竞赛作为第二课堂范畴,它是学生巩固、应用和拓展专业知识的场地,更是学生专业关键能力培养和体现的重要平台[3]。通过开展程序设计竞赛活动,吸引和鼓励学生把课余时间充分利用起来,从而为专业人才培养目标服务。

开展程序设计竞赛是一个系统工程,经过10余年的探索与实践,笔者设计出一套行之有效的程序设计竞赛实施方案,包括“课程竞赛(新生选拔)—校级程序设计竞赛—省级程序设计竞赛— ACM/ICPC亚洲区赛”的年度竞赛计划,“新生选拔—基础训练—暑期集训—进阶训练—组队参赛”的培养途径(如图2所示)。培养途径的各阶段与课程挂钩,也与赛事配合,并在实践中不断丰富完善各环节内容。实施方案由ACM程序设计竞赛学生社团为主体执行和实施,充分调动了学生的积极性[4]。近年来,参与竞赛的学生人数不断增加,已成为学院参与人数最多的竞赛之一,这促使学生的程序设计能力与水平不断增强,获奖数量与质量稳步提升。

图2 程序设计竞赛组织方案

2 程序设计课程群

对于应用型本科高校的计算机类专业,程序设计应用能力的重要性不言而喻[5]。如何上好第一门程序设计语言课以及后续的数据结构与算法课程,基本决定了学生专业基础能力的高低。笔者以计算机类专业教学计划中的“程序设计”“数据结构”2门必修课程为基础,陆续开设了“ACM程序设计基础”、“ACM程序设计实训”(短学期)、“ACM程序设计进阶”3门相关联的后续选修课程,从而构建一个以程序设计竞赛为平台、课内外融合的课程群(见表1),以竞赛促教学。在“程序设计”“数据结构”课程中,通过改革实践教学方法和考核方式,开展配套的课程竞赛(获奖者加分),激发学生兴趣,实现与竞赛对接,培养学生的基本程序设计编码能力。在“ACM程序设计基础”“ACM程序设计进阶”课程中,设计“教(老师教)—学(学生学)—练(课外练)—赛(现场赛)”的教学路径,每3周安排1次现场编程赛,课程成绩以竞赛排名为主,从而进一步培养和提高学生的算法设计与实现能力。在“ACM程序设计实训”短学期课程中,则以集中训练和队内竞赛的方式强化学生的程序设计算法实现能力。

表1 竞赛驱动的课程群设计

3 基于主题的混合探究式学习

程序设计竞赛难度大、要求高,学生需要经过刻苦训练和钻研,才能具备很强的应用创新能力。探究式学习是以培养学生的研究创新精神为目的,以类似科学研究的过程、方法和形式进行的学习,具有主体性、开放性、综合性和实践性的特点。因此,程序设计竞赛与探究式学习在对学生的培养目标与特点方面是有许多相近之处。

在当前计算机网络日益发达的环境下,在教师指导下基于计算机网络的探究式学习模式更为可取。学生针对研究的主题或问题,开展网上自主探究,通过网络查找、收集相关资料和数据,进行深入分析和研究,并开展网上交流与协作,将自己的研究成果或问题在网上发布,与同学进行交流[6]。然而,单一的学习模式往往无法取得理想的效果,因此,在开展程序设计竞赛具体培训相关的探究式学习过程中,还可以应用线上与线下混合的学习模式(如图3所示),即“E(ELearning)+ C(Classroom)”的混合学习模式。同时,根据研究任务的性质不同,运用个人独立研究、小组合作研究、个人研究与集体讨论相结合等3种不同的组织形式。在实际组织研究性学习活动时,需要先规划好各项研究主题任务,然后再根据不同的主题任务选择合适的组织形式。通常,个人独立研究形式可用于竞赛试题分析工作,小组合作形式可用于专题研究任务,而个人研究与集体讨论相结合的形式比较适用于内部集训任务。多年的实践表明,这种混合模式的研究性学习对培养和提高学生的钻研能力和创新能力效果颇佳。

通过探究式学习,学生获得了各类程序设计算法的相关知识和应用场景。更重要的是,在自主学习过程中培养了比普通课程学习更强的程序设计应用能力和研究创新能力,这必将为学生在后期进行科研活动以及将来的行业发展乃至终身学习打下坚实的基础。

图3 混合探究式学习

4 大学生科研创新活动

参加竞赛不是目的,不能为竞赛而竞赛。通过竞赛驱动的课内外培养体系,学生已经具备了一定的程序设计应用创新能力,教师还要给他们提供能够发挥和展示其才能的场所。大学生科研项目是一个理想的平台,组织学生有计划有选择地开展一些能够发挥其程序设计特长的应用创新项目,使学生才能落实到项目层面,从而实现从能力培养到为社会经济做贡献的转化。

调查分析表明,在目前的大学生科研训练计划(SRTP)实施过程中,普遍存在参与学生的科研主体性欠缺、科研素质不高等问题[7]。学生遇到难题时,通常直接询问指导教师,很少自己查资料钻研解决,通过前期培养体系培养的学生,已经具备了一定的科研素养。通过各级SRTP的磨炼,其专业能力会得到进一步的加强和提升。

通过实践,笔者发现,通过竞赛驱动的课内外结合体系培养的学生,在开展大学生科研创新活动时,脑子活、肯钻研,科研项目的质量与成果也比一般学生好,深受指导教师欢迎。当然,这些学生比较适合于具有一定难度的算法设计与开发类的项目。当前,基于大数据的数据挖掘相关的专题项目研究与开发是专业热点之一,其中算法设计至关重要,学生从中可以找到新的用武之地。

5 结 语

对于计算机类专业人才培养来说,程序设计应用创新能力是其核心的专业能力,笔者在多年的教学实践中逐渐构建出这套程序设计应用创新能力培养体系,在实践中获得了较好的效果,学生的程序设计应用创新能力逐步提高,在学科竞赛、科研项目、就业深造等方面都取得了可喜的成绩。随着社会经济和产业技术的发展,笔者将不断完善培养体系,从而培养出更高质量的计算机应用人才。

猜你喜欢

程序设计应用型竞赛
基于SolidWorks和VBA的电机阶梯轴建模程序设计
OBE模式应用型人才培养体系研究与实践
2020丝绸之路数学竞赛
关于应用型复合人才培养的教学模式探讨
应用型高校推进跨学科人才培养的路径探索
应用型高校混合式新型网络课堂教学改革
医学专业“Python程序设计”课程教学改革总结与思考
从细节入手,谈PLC程序设计技巧
创新思维竞赛(3)
创新思维竞赛(6)