当前位置:首页 > 专题范文 > 公文范文 > 正文

依托程序设计竞赛的大学生创新能力培养模式研究

发布时间: 2022-10-30 15:25:03 来源:网友投稿

摘要:随着信息化技术的发展,当今社会对着重培养大学生的综合素质及创新能力已形成共识。本文通过分析程序设计竞赛的特点,探讨了依托程序设计竞赛的程序设计课程的教学改革,以培养理论基础扎实、具备创新能力的应用型、复合型IT人才。

关键词:程序设计竞赛;创新能力;培养模式

中图分类号:TP311     文献标志码:A     文章编号:1674-9324(2018)20-0154-02

一、引言

十九大报告提出了科教兴国战略、人才强国战略、创新驱动发展战略等。每一项战略都与高等教育密切相关。同时,国家近几年实施的以信息化带动工业化的产业结构战略调整,都对计算机相关专业的人才培养提出了更高的要求。

目前,国内很多高校对计算机专业也很重视,采取各种方式来提升教学质量。有的学校采用校企联合的方式,探索产学合作培养的方式[1],也有的学校采用基于项目驱动的教学。这种模式要求教师在教学的过程中引入一个项目,教师将项目分解为涵盖各个知识点的子任务,学生通过对子任务的解决来掌握相应的知识点。另外,也有一些高校意识到程序设计竞赛对提高学生培养质量的作用,纷纷组织学生参加各种竞赛。

本文探讨现有计算机相关专业程序设计课程现有教学模式下存在的问题,然后深入探讨如何依托程序设计竞赛,提高在校大学生的专业素养,培养大学生的创新能力。

二、现状与不足

作为专业基础课程,程序设计类课程是计算机相关专业如计算机科学与技术、软件工程等专业普遍开设的。程序设计类课程的目的除了教给学生基本的程序设计理论外,更重要的是培养学生的程序设计开发能力、逻辑推理能力,最终用来解决实际问题。学习程序设计需要一定的基础,如程序设计语言、数据结构、离散数学等。学习的整个过程有一定的难度,这些问题在刚开始学习程序设计的同学身上特别表现明显。另一方面,按照统计数字,中国几乎有500所以上大学都设有计算机相关专业,但与其形成对比的是软件人才尤其是高级人才的不足。当然,这背后有很多原因,但高校教学模式存在问题,确是不争的事实。具体有如下几个方面。

1.教学内容过细。程序设计学习的过程中,通常是和具体的一门程序设计语言联系起来的,每一门语言都有其各自的语法体系,所用的教材也基本上是按照语法组织起来的。这样的好处是大而全,讲解起来也相对容易,但问题也在这儿。由于一些语法知识比较细碎,初学者很容易就陷入到细节里出不来,因而学起来比较困难。同时由于受教材影响,课程的教学大纲往往也都是大而全。在有限的学时内,为了完成教学任务,老师每次课都是新内容,结果期末学生只记忆了一大堆语法碎块,很难灵活运用,因此这种方式难以培养学生的创新思维。

2.过于依赖卷面考试。现在对学生的评价还是主要通过卷面考试,对学生的动手能力要求相对比较低,从而对学生的实践能力培养造成限制。虽然考试题包含有一定的编程题,但大部分同学还都是依靠理论部分得分才能过关。程序设计课程是实践性很强的课程,仅仅是纸面上培养出来的学生,很难成为社会需要的合格人才。

3.缺乏学生主动学习能力及团队精神的培养。软件开发需要一个过程,整个过程需要软件工程方法学的指导。软件产品从需求分析,设计开发,到测试并交付用户使用,在整个产品的生命周期内,往往需要多人配合,因而软件工程方法学通常需要主动学习精神及团队协作。现在的课堂教学主要是一对多的模式,难以组织有效的多人团队合作模式。另外,囿于有限的师资力量,也难以因材施教。因此这种方式难以培养学生的主动学习能力及合作精神。

4.实验内容单一。现在实验教学大纲的内容基本上是围绕教学内容展开的,也就是说,实验的内容基本上都是为了验证语法知识,其内容相对独立。另外,现在有些学校过分强调教学过程的可监督性,要求留下大量的实验报告,这样学生在有限的时间内把大量的精力放在这些格式化的报告上面,反而对工程不那么重视,报告完成即视作任务完成,缺少进一步探索的动力。上机仅仅是为了完成作业,长此以往,学生就会对上机失去兴趣。

上面的这些问题造成了程序设计课程的尴尬境地,一方面,学校很重视这些课程;另一方面学生虽然也很重视,但在学习一段时间以后,会感觉学得并不顺利。作为任课老师,对这个结果也不满意。这些问题引起大家的思考,该如何才能改变这样的窘况。

三、依托程序设计竞赛的大学生创新能力培养模式

近年来,针对大学生举办的各种各样的程序设计竞赛越来越多,国内学生可以参加的比较常见的有ACM国际大学生程序设计竞赛(ACM-ICPC)、蓝桥杯全国软件和信息技术专业人才大赛、百度之星等,其中以ACM竞赛最为著名,受到的关注度最高。ACM要求参加者以组团的形式参赛,要求选手在规定的时间内,采用C/C++、Java等程序设计语言,完成规定的题目。本文以ACM竞赛为例来说明竞赛对教学模式改革的促进作用。

1.程序设计竞赛的特点。①问题导向。ACM赛事的出题人往往是领域专家或者IT领域一些世界知名公司的工程师出题,命题涉及到从计算机各个应用领域的一些实际工程问题、方法问题、理论问题,这些问题通常会和当前的计算机科学技术发展的研究动向及应用的热点问题或算法有关,往往具有一定的引导性、前瞻性。②强调基础与综合。由于竞赛的命题来源于一些实际的工程问题,又或者是方法方面或理论方面的问题,解决这些问题涉及的知识面很广,像离散数学、数据结构、程序设计、算法分析与设计等课程都可能会涉及到。这些问题有些没有统一的最优解法,需要综合利用所学过的知识进行研究分析、归纳、总结、抽象、建模。这些涉及的知识也正是大学所教授的知识,试题考查的是学生的算法及程序设计开发能力,解这类题目是学生大学所学知识的综合运用。即使学生不参与比赛,通过此类问题的研究分析,也有助于程序设计类课程的学习提升。③开放性。专业竞赛由于命题的广泛性,其所用的解决方法、工具等都是开放的。传统的教室、教材、教师模式已经不足以解决竞赛的内容,需要参与者相互协作,积极主动地查资料来解决问题。这样的场景可能会多次反复,过程需要教师站在不同的层次及多角度来指导学生[2]。

2.竞赛对课程的教改促进作用。参加竞赛的准备过程,本身就是一个开放学习的过程。现在有很多高校提供了一些优秀的网络竞赛平台,提供大量的题目供学生练习,同时提供在线评判系统,学生可自主注册,选用自己熟悉的语言提供程序代码,系统从程序运行的正确性、效率、复杂度等多个方面进行评判。由此看出基于程序设计竞赛的教学改革有下面几点优势。①激发学生学习兴趣的自主学习环境。通过在线评判系统,学生可以在丰富的题库中任选自己适合的题目,制订学习计划并设定目标,提升程序设计开发能力。培养学生发现问题、探索问题、综合已有知识自主解决问题的能力,并最终解决问题,这正是创新能力的体现。②基于项目的驱动的学习模式。ACM的命题大部分来自一些既有应用性又有启发性的案例或工程项目。指导老师可以选择一些符合教学目标和教学任务的一些案例或项目来完成程序设计课程的教学计划,而这种教学模式,正是程序设计课程教学研究的基于项目的驱动的教学模式。③增加学生的团队协作精神。类似ACM的赛制,需要多人协作。这类比赛,不但要求选手有较强的个人能力,还要能够与别人协作完成任务。由于涉及的知识面很广,除了上面提到的一些课程、算法及计算理论外,算法同样具有一定的复杂度。如此广泛的知识面需要小组成员分工合作,在最少的時间内掌握相关的知识,这就需要学生之间有良好的协作。④对传统教学模式的改进。依托程序设计竞赛的程序设计课程教学模式,改变了传统教师课堂上的授课方式[3]。

四、结语

综上所述,通过引入依托程序设计竞赛的学生培养模式,能够满足当前大学培养学生的综合素质、创新能力及应用型人才的要求。以赛促学,提升学生的自主学习能力,培养创新性思维,增强学生的交流及团队协作能力,为学生的将来进一步学习或进入社会打下坚实的基础。

参考文献:

[1]蔡琴,张凯.项目驱动教学模式在软件工程教学中的应用[J].实验科学与技术,2014,(4):175-178.

[2]叶枫,吴胜艳,张雪洁,等.依托学科竞赛的计算机专业学生能力培养研究[J].计算机教育,2017,(3):43-47.

[3]刘晶,吕艳琳,李尤丰.基于ACM竞赛平台的程序设计课程教学模式改革的探索[J].江苏第二师范学院学报:自然科学版,2010,(6):73-75.

版权所有:博古范文网 2012-2024 未经授权禁止复制或建立镜像[博古范文网]所有资源完全免费共享

Powered by 博古范文网 © All Rights Reserved.。浙ICP备12018771号-1