admin 管理员组文章数量: 1184232
2024年3月21日发(作者:aspire 4739 series)
2020年8月
UniversityEducation
UniversityEducation
August,2020
新工科教学中如何更好应对编程语言种类繁多的问题
席耀一
1
唐永旺
2
陈刚
2
郑州
郑州
450001;
450001)
(1.信息工程大学数据与目标工程学院,河南
2.信息工程大学信息与系统工程学院,河南
[摘要]新工科教学强调提高学生的动手实践能力。目前,高校编程语言的教学存在教学时间少,讲述编程语言种类有限,
缺乏总结不同语言共性特点与规律,教学内容更新慢等问题。针对这些问题,提出着力提升学生的自信心,带领学生找出规律和
共性特点,培养学生计算思维,强调项目驱动的重要性的措施,以期进一步提高学生的动手实践能力。
[关键词]新工科;编程教学;实践能力;语言种类
[中图分类号]G642[文献标识码]A[文章编号]2095-3437(2020)08-0087-03
新工科教学强调学生动手实践能力的提高,特别是
编程能力和分析解决问题的能力
[1-2]
。如何上好高校编
程语言类课程对于完成该目标具有重要意义。目前,高
校该类课程教学一般仅是单纯围绕某一种或几种语言
的语法与应用进行讲解,学生在有限的时间里仅能够掌
握这些语言的语法和简单应用。然而在学生毕业走向
工作岗位后,一般会需要用到从未学过的编程语言,这
时部分学生会选择社会上的相关培训班重新学习该种
语言,而部分学生则会表现得茫然无措。这一问题极大
地限制了学生的就业前景,打击了学生的就业信心,与
新工科教学的培养目标不符。
近年来,围绕如何提高编程语言教学质量的研究层
出不穷,然而有一个问题没有得到应有的重视,即如何
应对编程语言种类繁多的问题。在“互联网+”时代,与
动手实践密切相关的编程语言层出不穷。据统计,目前
共有编程语言600余种。在新工科教学实践过程中,如
何更好地应对编程语言种类繁多的问题值得相关教育
工作者思考。
文章首先分析了编程语言的特点,然后分析了高校
编程语言教育的现状,最后针对存在的问题,提出了相
关对策。
一、编程语言特点分析
正确总结编程语言的特点规律,有助于加深对编程
语言的认识和规律把握,对于提出有效策略以应对编程
语言种类繁多的问题具有积极意义。所谓万变不离其
宗,本文以使用广泛的C语言为例,通过对C语言的分
析,达到总结编程语言特点规律的目的。
C语言是编程语言界的常青树,作为大多数学生入
门的第一门编程语言
[3]
,其用途广泛,在动手实践教学中
占有重要地位。C语言的特点在于执行效率高,生态体
系健全,C语言主要从事操作系统开发、服务容器开发和
嵌入式开发领域。虽然C语言可以解决大部分与编程
相关的动手实践问题,但是在教学和实践应用中,C语言
也存在调试困难和开发周期长等问题。作为公认的入
门语言,C语言在大数据和“互联网+”时代有时反而不
及Python和Java等语言应用广泛。实际上,每种语言都
有自己的优势和缺陷,目前没有任何一种语言能够完美
解决所有的动手实践问题。例如R语言在数据统计分
析领域独树一帜,JavaScript语言在网页脚本编程中独领
风骚,Python语言在深度学习领域目前的地位无可匹
敌。这也是为什么有如此多的编程语言的原因之一。
时代在进步,编程语言本身也在不断发展完善。以
C语言为例,1972年美国贝尔实验室的e在B
语言的基础上设计出了C语言的第一个版本。从此开
始,C语言先后在1989年、1994年、2001年和2004年历
经了多次修订。目前流行的C语言编译系统大多是以
美国国家标准化协会(AmericanNationalStandardsInsti⁃
tute,ANSI)指定的C语言标准为基础进行开发的,但不
同版本的C编译系统所实现的语言功能和语法规则略
有差别。其他语言的情况和C语言相似,也在不断推陈
出新。例如Java每隔一定时间就会发行新版本,而且新
版本相较于旧版本都会新增很多特性;Python3与Py⁃
thon2相比也发生了不少变化。
此外,不同编程语言之间多有相似之处和共性特
点。例如都需要对要解决的问题进行逻辑建模,都需要
考虑选择与循环等控制结构,都有整形、布尔型、浮点型
等数据类型,变量标识符命名方式很多也一模一样。又
如,面向对象类的程序设计语言都会讲述封装、继承和
多态。
从上可以看出,现有的编程语言存在三大特点:一
[收稿时间]2019-07-15
[作者简介]席耀一(1987-),男,河南栾川人,博士,讲师,研究方向:智能信息处理。唐永旺(1981-),男,河南漯河人,硕士,讲
师,研究方向:信息处理。陈刚(1979-),男,湖北黄冈人,副教授,研究方向:智能信息处理。
87
是缺乏普适性语言能够擅长处理所有应用领域问题;二
是语言本身更新发展速度不断加快;三是不同编程语言
之间存在相似之处和共性特点。
二、高校编程语言教学现状分析
编程语言有自身的特点,然而目前高校编程语言的
教学现状却在一定程度上与编程语言自身的特点规律
不相符。
(一)教学时间少
编程语言作为介于基础课和专业课之间的课程,在
高校教学中所占的时间比例偏低
[4-5]
,相关课程数目少,
课时时长非常有限。在强调厚基础和强本领的今天,这
种情况在短时间内很难改善。
编程类课程教学时间有限,导致很多教师在内容选
择上以基础性语法介绍为主,缺乏大型实际应用案例分
析与上机练习。相当一部分学生在有限的时间内学到
的只是枯燥的语法和一些书本上的小练习,这让他们感
觉编程没什么用。
(二)讲述编程语言种类有限,讲述编程语言种类有限,缺乏总结不同语言共
性特点与规律
由于教学时间有限,高校所讲述的编程语言种类非
常有限,缺乏总结不同语言共性特点与规律。多数高校
在选择教学内容时,只能以较为基础和应用相对广泛的
语言为对象,例如多数高校会开设C语言课程,部分高
校还会开设Matlab、Python和Java程序设计等课程,但是
开设其他语言的很少。
高校编程语言类的教学既要结合专业和时代需
求
[6]
,也应兼顾编程语言的特点。虽然部分理工类学科
专业要求掌握该专业的一门常用语言即可,但是在大数
据和“互联网+”时代,越来越多的职业岗位要求学生掌
握多门编程语言。
(三)教学内容更新慢
编程语言本身在发展更新,尤其是进入大数据和
“互联网+”时代后,其更新的速度不断加快。然而与编
程语言的不断发展不同的是,高校相关课程教学内容的
准备和更新相较于编程语言的发展却有一定的迟滞。
这种情况在科技发展日新月异的今天是不可避免的,即
编程语言类课程的开设很难做到永远与时代需求高度
一致,一般都会具有一定的延后性。
从高校编程语言的教学现状来看,其存在以下三方
面的矛盾和问题。
一是高校的编程语言教学现状和专业实际需求之
间存在一定的矛盾,即专业实际需要掌握多种编程语言,
而讲述不同编程语言的课程数目少,相关课时数不足。
二是现在高校教学中讲授具体语言使用的多,总结
不同语言共性特点规律的少。
三是现在高校编程语言的教学实际与编程语言特点
并不匹配,即前者内容的更新跟不上后者的发展速度。
上述问题和矛盾很多时候导致学生恐惧编程甚至
认为自己不适合学习编程,这些问题和矛盾也是社会上
与编程语言相关的培训班需求一直旺盛的原因之一。
88
三、相关对策
立足于现在高校的教学实际,单纯提高编程语言课
程在总课时中所占的比重,并不能很好地解决上述矛盾
和问题。因为新工科教学越来越强调提高学生的自主
学习能力,很难在已经排好的专业学习计划中增加编程
语言类课程。另外,即便是能够增加一定的教学时间,
总体来看,增加的时间对于种类繁多且不断更新的编程
语言来说也是杯水车薪。
所谓授人以鱼不如授人以渔,每一门具体的编程语
言其实就是“鱼”,而如何快速学习掌握编程语言的方法
才是真正的“渔”。在新工科时代背景下,与其被动更新
专业所需的编程语言,不如在有限的教学时间内认真总
结所有编程语言的共性特点和规律,提高学生对编程语
言的认识高度,使其掌握编程语言的学习方法,为今后
独立学习编程语言打下坚实基础。笔者在一线教学中
经过摸索和思考,提出了以下对策,仅供参考。
(一)着力提升学生的自信心
编程语言学习一直是高校大学生的一个痛点,有的
甚至在学习后得出自己不适合学习编程的结论。面对
此现状,首先应该着力提升学生学习编程的自信心,要
让学生明白编程语言只是人与计算机交互的工具。不
管工具如何变化,交互的对象和目标始终没有变,因此
不同的工具一定有相通之处,不必过度担心工具之间完
全不同而裹足不前,不敢上手,甚至刚入门就要放弃。
在此过程中,教师也可以通过编程示范,特别是调
试示范,甚至是不同编程语言之间的交叉示范,来释放
学生内心对编程的恐惧感,让学生明白任何编程语言其
实都不难。只要带着信心去学,耐心去调试,一定会发
现编程语言其实非常简单,也一定会产生“山重水复疑
无路,柳暗花明又一村”的感觉。
另外,多站在学生的角度看问题,思考其为何困惑、
疑难点在哪、为什么会出错等,然后针对问题详细解释,
这有助于学生从一开始就找准问题症结所在,从而提升
学生对编程的自信心。
(二)带领学生找出规律和共性特点,带领学生找出规律和共性特点,培养学生的计
算思维
笔者讲述过多门编程语言,在讲一门新的编程语言
时,经常会设身处地从学生已有的编程基础出发,详细
对比新语言和已学过语言之间的异同点,对于不同点重
点详细讲解,对于相同点简单讲解,学生普遍反映此种
教学方式接受快,理解也更为清晰。实际上很多编程语
言是相通的,
Java
与Python
和C++
和
有很多类似之处,
尤其是应用领域相同的编程语言。例如
Scala语言也有相互借鉴之处,
而Java和C#也相差不多,
它们的本质
都是面向对象的思想,而且在语法中也有很多地方非常
相似。如果精通一门,基本上一通百通。
此外,编程最核心的就是编程思想、算法及逻辑
[7]
,
这些内容都有共性之处,而语言只不过是一种规定,例
如算法的三种基本结构的表达在不同语言中都有,语法
也只是略有差异。如何让学生学会跳出编程,站在编程
之上看待编程,培养他们的计算思维
[8]
是高校编程类教
学中应该着力的一个地方。
带领学生找出编程规律和不同语言的共性特点有
助于学生达到一门精、多门通的学习效果,学生不再需
要掌握所有的语言,只是在需要用时花费少量的时间学
习一下基本语法,即可快速上手实践。否则学生容易停
留在纷繁复杂的语法层面,不能站在一定的高度看问题
并总结特点规律,导致只见树木不见森林。
(三)强调项目驱动的重要性
纸上得来终觉浅,绝知此事要躬行。古人很早就告
诉我们知识要拿来应用才能深刻领悟,真正学懂。编程
语言作为一门动手要求很高的语言更是如此。教师课
堂上的讲授更多只是帮助学生厘清某一门编程语言的
体系和脉络,降低学生入门的难度,扮演的更多是“领路
人”的角色。
正所谓师傅领进门,学艺在个人。无数的经验告诉
我们单纯地依靠课堂讲授,死记硬背语法,对于提高编
程能力帮助并不明显,而让学生在实战项目中练习,实
现相关功能,调试代码BUG,是提高编程能力的捷径
[9]
。
实战项目一般会涉及编程的方方面面,从逻辑建模到函
数编写,从类定义到变量初始化等。如果能够将一个实
战项目用代码完整实现,那么对于编程能力的提高是有
巨大帮助的。在这期间,学生不仅能够巩固语法基本使
用方法,而且能够灵活使用,甚至于巧用编写出更为简
洁精炼的代码。这不仅能够磨砺调试技巧与方法,而且
能够培养编程调试的耐心和信心。
教师在课堂上应该有目的将学生尽量从枯燥的编
程语法死记硬背当中解放出来,以项目驱动方式带领大
家在实战中应用编程语法,例如可以采用案例教学
法
[10]
、任务导向法
[11]
等。所谓熟能生巧,用得多了自然
就记住了,编程也会越来越顺手。实践得多了,再难学
习的语言也能够从容应对。
四、结语
在科技发展日新月异的时代背景下,我们已经进入
了终身学习时代。如果要及时跟上某一技术领域的发
UniversityEducation
展而不被时代淘汰,就很有必要学习、掌握该领域的最
新最热门的编程语言。高校编程语言教育相比时代发
展,虽然有一定的滞后性,但是如果能够采用上述三项
对策并不断总结经验,积极采用新的教学方法,相信对
学生的编程学习将会有切实的帮助,能够真正提高学生
的动手实践能力,让学生在快速变化的时代中始终能够
游刃有余地应对编程需求,更好地适应未来社会对人才
的要求。
[参考文献]
1]张伟,王方,胡正发,等.面向新工科创新人才实践教育模
式探索:以电子科学与技术专业为例[J].大学教育,2019
(3):140-142.
2]叶华.基于能力培养的“C语言程序设计”课程教学改革
探索[J].新课程研究(中旬刊),2012(1):107-108.
3]毛莉,朱丽娜,杜威.C语言程序设计课程改革分析与探
索[J].大学教育,2013(22):81-82.
4]段湘煜.高校计算机编程课程教学改革探讨[J].学园,
5]谢美萍,
2017(18
陈媛
):47.
.计算机编程课程教学改革探讨[J].大学教
育,2016(4):110-111.
6]孙杰,秦建勇,樊春年,等.面向工科专业的C语言程序设
计课程教学改革探索[J].计算机教育,2016(11):73-75.
7]尹波,孟爱国,朱前飞,等.面向编程思维能力培养的C语
言教学改革研究[J].计算机时代,2016(11):67-69+72.
8]陶虹平,张小青.促进计算思维落地:计算机编程上机实
践教学改革[J].教育教学论坛,2018(48):78-79.
9]姚秀娟,薛坐远.项目教学法在高校《可编程控制技术》课
程教学中的应用研究[J].高教学刊,2019(3):97-99.
10]吴海珍,蒋加伏.面向编程能力培养的VB语言教学改
革[J].湖南师范大学教育科学学报,2005(6):120-122.
11]秦攀科,葛炳辉,刘涛,等.任务导向与翻转课堂在网络
编程教学中的应用[J].计算机教育,2019(4):4-7.
[责任编辑责任编辑::陈明]
89
[
[
[
[
[
[
[
[
[
[
[
版权声明:本文标题:新工科教学中如何更好应对编程语言种类繁多的问题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711004883a583769.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论