程序设计类课程创新能力培养与实践

时间:2022-09-21 12:38:18

程序设计类课程创新能力培养与实践

摘要:程序设计是计算机专业学生需要学习的一门基础性课程,要求学生对于相关专业知识的掌握较为扎实,教师在进行课程教学的同时需要利用自己的专业知识为学生提供更高保障性的教学服务。文中结合当前高校在程序设计类课程中的教学方式、教学手段以及教学目标等进行阐述,探讨培养程序设计类专业学生的实践与创新能力的途径,为广大学者提供借鉴。

关键词:程序设计;课程教学;实践与创新能力;立体教学;翻转课堂;培养途径

随着各种信息技术的发展,当前我国对于程序设计类人才的需求逐渐增大,程序设计类专业人才在很多行业中都有着较好的发展前景。无论是移动互联网公司、电子科技公司还是网络游戏公司等,对于这类人才的需求都有较大的缺口。因此,高校在培养程序设计类专业人才时除了传授基础的理论知识,对于学生创新能力和实践能力的培养同样需要引起重视并采取相关措施,通过对自身的教学模式进行调整,帮助学生更快适应社会的发展需求。程序设计类课程是计算机相关专业的主要课程,同样也是其他专业课程和延伸课程的基础[1]。其中,C语言程序设计是最为基础的一项实践操作类课程。学生需要运用C语言程序设计知识,在数据结构、编译原理、图形学等方面进行设计,形成一种用计算机来分析和解决问题的思维,也是教师在程序设计类课程中需要对学生进行重点培养的一项实际操作能力。

1程序设计类课程的发展背景

我国的第十三个五年规划建议中明确指出,未来五年软件工程师将会走向更加具有发展前景的道路。这一发展规划的提出,对高校教师的程序设计类课程教学工作提出了更高的要求。通过调查发现,软件工程师已经成为当下非常受欢迎的一个职业。学生在学校学习过程中,对于专业的程序设计能力的掌握十分重要,还需要同时兼备相应的实践与创新能力,这样才能在今后的工作中利用自己的能力为企业开发出更多有用的软件和工程。除此之外,学生是否具备实践与创新能力也是衡量计算机专业学生是否合格的重要标准[2]。高校在培养技能型专业人才的同时还需要构建各类应用型课程体系,尤其是程序设计类课程。学生拥有较强的实践能力以及独特的创新能力,也能够提高学校的声誉。高校培养人才可以从以下三方面入手:(1)将应用型高校人才培养课程体系建设作为应用型高校教学改革创新人才培养模式的关键要素;(2)在课程建设和实际操作过程中,需要始终秉持以学生为本的教学理念,将学生对知识的掌握能力作为教学重点进行建设,注重培养学生实际操作能力,在此基础上培养他们的创新能力;(3)还可以通过产教结合以及校企合作的方式,将人才培养理念转化为适应经济社会发展和产业转型升级所需要的新型课程体系。通过高效的人才培养教学方式提升高校知名度,扩大核心竞争能力,为高校的办学创造更加有利的条件。

2高校程序设计类课程教学中存在的问题

(1)学生学习兴趣较低程序设计类课程是当前很多工科类高校重点建设的课程项目,同时也是基础系最重要的课程。程序设计类课程本身对于学生基础知识的掌握要求较高,需要学生具备严密的逻辑思维能力、较强的抽象思维能力以及扎实的文化基础,因为这些基础能力的缺乏也是很多学生在学习过程中产生困难的主要因素。学生在学习过程中可能会受到很多因素的影响,导致他们失去对该课程的学习兴趣,长时间发展下去,教师对于该课程的讲授效率不高的问题也更严重。程序设计类课程最主要的教学目标就是培养学生能够正确使用计算机来解决一些基础性问题,提升自己的思维能力以及创新能力。在学习过程中难免会感到内容枯燥,导致学习难度增大,因此需要培养学生具备足够多的兴趣和耐力[3]。教师在这个过程中同样需要发挥强大的引导作用,将枯燥的课程转变为学生感兴趣的内容,提升学生的学习兴趣,开发创新思维能力。(2)教师专业能力有限当前很多高校的程序设计教学主要包含的课程为:《C语言程序设计》《数据结构》《算法设计与分析》《面向对象程序设计》和《Java高级程序设计》。这些课程会贯穿在学生整个大学阶段的学习过程中,但是由于可能会受到某些教师专业能力有限的影响,学生对于程序设计的融合贯通能力不足。教师在对学生进行教学时,只能教授一些表面的知识,学生对于这些知识只了解到表面,就失去了学习和思考的兴趣。另外,有的教师对于学生在程序设计方面的实践能力和创新能力的培养工作重视程度不够,教学目的只是为了让学生能够通过考试,并未制定相应的实践作业,导致学生想要进行实践也无从下手[4]。还有一个重要因素,有的高校本身缺乏对于程序设计类课程的项目资金支撑,在实践课程教学过程中学生并未进行过真正意义上的软件项目开发训练,缺乏独立的项目开发能力,初入职场时就无法独立开展企业的技术开发工作。以上这些都是导致学生实践能力和创新能力得不到有效提升的原因。(3)学生专业技能掌握不足对于程序设计类课程来说基础知识非常重要。很多高校在开设程序设计类课程时都会将其他一些计算机类的专业课程融入其中,见表1所列,例如C语言程序设计、Java高级程序设计,涵盖的知识面较广,需要学生拥有扎实的基础。但是从当前很多高校的程序设计类课程的发展情况来看,大多数学生存在基础知识薄弱、自主学习能力差的问题,前期的基础知识还未掌握就开设了后续课程,学生学习较为吃力,老师的教学也显得力不从心[5]。即使经过一段时间的学习,学生对于一些简单的设计项目仍然无法独自处理。另外,当前很多企业对于学生的程序设计能力、分析问题和解决问题的能力要求较高,这都应该成为高校教学中需要重视的。

3立体教学模式的构建

与传统的教学模式有着一定的差别,立体教学模式的建立更加注重的是学生创新能力和实践能力的增长。教师在进行课程教学的同时会借助新媒体对教学内容进行全覆盖,形成立体模式,分别以课堂教学为长、学生自主学习为宽、课程项目驱动为高,从三个维度对课程的体系结构进行完善教学;学生在学习的过程中需要有三方面能力的提升,分别是学会了解问题、分析问题以及解决问题[6]。以上三个能力得到培养的同时,学生的创新能力和独立的思辨能力也能得到提升,这正是立体教学模式的意义所在。从程序设计类课程的教学工作和学生的整体学习情况来看,还存在较多的问题。为此,笔者提出了新的教学模式—立体教学模式,以培养学生创新能力为教学目标,采用项目驱动教学方法,以翻转课堂为教学手段。通过翻转课堂的教学方式,可以培养学生自主学习和独立思考的能力,还能在一定程度上培养他们的独创思维。此外,翻转课堂对于知识点会有一个重新构建的过程,在信息传递的过程中通常是由教师和学生、学生和学生之间的互动来实现的,学生对于知识点能够更好地吸收,在这个过程中学生会对自己的能力有一定的了解,从中找到新的问题所在,并想出相应的解决方法[7]。教师还可以在课堂教学中将积分制作为考核方式来记录学生的实践课程成绩,为之后的评价工作奠定基础。

3.1以创新能力培养

为教学目标传统教学模式的教师讲授、学生操作和实践,课程教学的重点内容在编程语言的语法规则以及语义上,无形中学生就会认为学习编程语言就是学习语法知识,只要掌握了语法知识就可以编程,并没有真正意义上的将教学目标落在程序设计的应用方面。在程序设计类课程教学中,笔者主要以《C语言程序设计》课程为例,为了能够提升学生的编程能力和创新能力,教学过程中教师需要将自己的重心放在对于编程语言需要理解的思想上,而不是像以往那样重点讲述编程语言的语法。教学时需要摒弃传统的“一言堂”教学方式,注重教学设计过程,从课堂设计到实验设计,优化教学内容,让教学内容更加有层次感,体现系统设计的思想,培养学生的逻辑思维能力;还可以在自己的教学中充分地进行跨学科、多方面的结合,以帮助学生形成自身的知识框架,建立完善的知识体系;同时要注意相关知识点的分解,并充分融入到具体的教学活动中,才能形成最优化的教学方案。讲解完每个知识点之后可以通过举例的方式让学生对问题进行反思和思考,提出自己的想法和见解,真正做到独立思考。

3.2以项目驱动和以赛促学

为教学方法以《C语言程序设计》课程为例,教学的真正目的不只是让学生掌握某个语法知识点,而是提升学生运用知识的能力,使其能够独立完成软件项目。因此,教师在自己的课堂教学中需要正确地利用课堂时间,例如前半堂课程主要讲解相应的语法知识点,后半堂课程培养学生的实际操作能力。在课程设计中需要添加以下两个项目:(1)“学生信息管理系统”:管理系统内部需要添加的内容包含学生在课堂上的表现以及基本的成绩展示情况等;(2)“俄罗斯方块游戏”:教师让学生自由地组成合作小组,教师提供命题后要求学生通过各种渠道分析命题,各小组分工整理,确认每一个成员的职能,这样不仅能锻炼学生的沟通合作能力,增强学生发现、分析问题的能力,还能激励学生在实践中不断探究和创新。整个流程结束后学生对于软件项目制作就有了大致了解,更有信心完成其他管理系统或游戏系统项目[8]。项目驱动式教学方式是一种流动的教学模式,与传统的教学模式有一定的区别,教师在整个教学过程中需要起到引导作用,促进学生实践能力和创新能力得到真正的提升,从而激发学生的学习兴趣。

3.3以翻转课堂作为教学手段

翻转课堂的教学手段已经在很多高校中得到了较好的实践。在翻转课堂中,教师作为学生学习的引导者,需要组织学生之间进行交流和互动,帮助协调他们之间的关系。通过优化教学资源、构建多元的评价体系等方式,创设学习情境,将教学转化为探究性、自主性的学习活动,还可融合多种教学资源,提高教学资源的利用率,拓展学生的学习空间[9]。教师通过建立多元化的评价体系,将定性评价与定量评价结合起来,使评价更加全面准确,根据学生在课堂的前中后三个阶段的表现进行系统评价,保证评价能够因材施教地进行。笔者从本校程序设计类课程中可以看出,翻转课堂的教学手段实施产生了较好的效果,学生的学习效率得到了提升,对于基本的编程语言知识点掌握较好,提升了学生的实践能力和创新能力;课堂上教师根据学生的疑问进行专门讲解和探讨,与学生之间的交流和互动逐渐增多。

3.4以积分制作为考核依据

与应试教育的教学目标有一定的差别,高校在人才建设和培养方面主要侧重学生能力的提升,尤其是在程序设计类课程教学实践中,对于学生的能力进行考核十分重要。学生成绩积分评定主要来自平时成绩和综合项目成绩两部分,各占50%的比例。教师在考核时需要加入学生的平时表现分以及小组之间互动的成绩,以此进行综合性考察[10]。将积分制作为考核标准形式,学生会有较高的参与感、成就感和满足感,学习兴趣也会随之提高。

4结语

程序设计类课程是一门专业性和实践性较强的课程,教师在整个教学过程中需要充分扮演引导者的角色,以培养学生的实践能力和创新能力。本文通过建立新型的立体教学模式让学生能够得到真正意义上能力的提升,有效提升学生分析和解决实际问题的能力,同样为高校的人才建设和培养打下坚实的基础。

作者:胡丽娜 褚洪波 孟宪伟 单位:黑龙江工业学院 电气与信息工程学院

上一篇:职业核心能力培养的模式设计与实践 下一篇:城市科学绿化如何助力生态平衡