选择什么语言为第一门编程语言

选择什么语言为第一门编程语言,第1张

烈的兴趣与不断获得的成就感是整个学习过程的“引擎”,它为学生完成整个学习任务提供源源不断的强大动力。有无数的事实支持这个观点。我认为,我们的计算机教育,尤其是针对初学者的教育,首要的任务是引发兴趣。没有兴趣,一切免谈。

目前计算机专业的学生,有不少视编程为畏途。其原因在于我们的现有计算机教学方式从一开始就给了这些学生“痛苦”的编程体验,不幸的是,这种体验在后期枯燥的专业课学习中不断得到强化,学生最终对编程敬而远之或畏之如虎。

所以,对编程的“第一印象”很重要啊!由此,引发了一个很有趣的问题——应该选择哪一门语言作为学生的第一门编程语言

在国内的大学中,当前大多数选用C作为学生的第一门编程语言。这其实并没有太大的问题,C的重要性无须我多说。其实问题的关键不在于选择C教学,而在于以哪种方式去教。

很不幸,国内许多C语言的教材都将主要的精力放在对C语法细节的介绍上,课程考核方式又很古板——很多院校采用闭卷考试,出一堆的选择题和填空题。典型的题目是将一段代码砍掉一两句,让学生“填空”。有哪位高手是通过做这些“填空题”学会编程的?上机也流于形式,让学生反复折腾几个“黑底白字”的“玩具般的”小程序,学了一个学期,学生连一个有点用的程序都写不出来……

这种僵化的教学方式,足以毁掉多数学生对编程的兴趣。

而现在称之为“人多势众”的主流面向对象编程语言--JAVA,我觉得很适合计算机专业的学生作为第一门入门的编程语言。其一:据说全世界的软件开发人员中,Java程序员的总人数名列前茅。人多说明市场需求量大,Java技术应用广。其二因为JAVA语言能让学生一开始就能受到面向对象编程风格与思想的熏陶,之后他们可以再倒过来去学C。而不是象现在这样,先学C再学Java,谈到C再顺便说说C++,现在许多院校开设有C++课程,其实这些年来C++应用的领域被不断地压缩,而且C++语法过于复杂,开发效率低,除了部分有需求有兴趣的学生,不适合多数学生学习。

Java入门主要分为两个阶段:一是Java语法与OOP思想的领悟,二是JDK中各个Java类及相关技术(比如多线程、序列化等)的学习。

Java是Android的主要开发语言,因此学生在入门之后,可以进一步地开发基于Android的手机应用,引导学生进入移动互联的时代,具有很强的实用性,这点往往能触发学生学习Java的强劲动力。

Java天生与“开源”两字联系在一起,掌握Java之后,学生可以迈入开源的世界,探索各种丰富的开源应用和技术的奇思妙想,这对于开拓学生的视野非常有好处,并且能直接地帮助其就业。

其实很多院校都开设了Java课程,如果是将其提到大学一年级就讲授,并立即跟上J2EE和Android的后继课程,那会更好些。

最近,台湾知名技术专家蔡学镛先生写了一本《编程ING》,宣称“人人都能学会程序设计”。作为一名IT教育工作者,这本书引发了我的兴趣,翻看之后,共鸣之处不少,结合国内计算机教育的现状,产生了颇多感触,于是就有了这篇小文。一、为什么学生视编程为畏途?先当学生后当老师,不知不觉之中我在大学里己“混”了十多年,我发现,进入计算机专业就读的学生,最初至少有一大半对真实的软件开发根本不了解,是“一张白纸”,不幸的是,学了四年之后,许多张“白纸”又变成了许多罐“浆糊”,带着对软件开发可能是畏惧也可能是无所谓但绝对不是喜欢的感触离开校园。编程真的那么没劲?那么难和枯燥?我写了将近二十年的代码,虽然不靠编程吃饭,但也似乎勉强可算是个老程序员,我对编程的看法可总结为两句:何以解忧,唯有编程!我经常在想一个问题:编程其实是很有趣很好玩很实用并很有成就感的一件事,为什么会有这么多的学生视编程为畏途?而我们的计算机教育,为什么在打掉学生对编程的兴趣方面“如此成功”?蔡学镛先生在《编程ING》给出了一张图:图1 正向兴趣循环是学习的关键我认为这张图道出了问题的关键——学习过程中的“正向”兴趣循环是否成功地建立。强烈的兴趣与不断获得的成就感是整个学习过程的“引擎”,它为学生完成整个学习任务提供源源不断的强大动力。有无数的事实支持这个观点。传统的教学观点认为,本科的主要教育目标之一是为学生在本专业领域未来的发展“打下扎实的理论与实践基础”,所以从一开始就要“严格要求”,“科学训练”。这个观点不能说错,但我认为,我们的计算机教育,尤其是针对初学者的教育,首要的任务是引发兴趣。没有兴趣,一切免谈。我所了解的事实是:计算机专业的学生有不少视编程为畏途。其原因在于我们的现有计算机教学方式从一开始就给了这些学生“痛苦”的编程体验,不幸的是,这种体验在后期枯燥的专业课学习中不断得到强化,学生最终对编程敬而远之或畏之如虎。事实上,教育学研究早己指出,成功的高效的教学应该是这样的:循序渐进,由浅入深,步步为营,兴趣导向。教师的职责,不是将知识“灌入”学生的大脑,首要的任务是引发学生的兴趣,鼓励他们去探索未知的领域,主动地学习和吸收知识,培养技能,积累经验。在这个学习过程中,教师要成为一名优秀的导航员,给学生绘出航线,鼓励他们出海远航,解决他们在航行中所遇到的困难,并帮助学生建立学习的“正向”兴趣循环。对编程的“第一印象”很重要啊!由此,引发了一个很有趣的问题——应该选择哪一门语言作为学生的第一门编程语言?二、你学的第一门编程语言是什么?在国内的大学中,当前大多数选用C作为学生的第一门编程语言。这其实并没有太大的问题,C的重要性无须我多说。其实问题的关键不在于选择C教学,而在于以哪种方式去教。很不幸,国内许多C语言的教材都将主要的精力放在对C语法细节的介绍上,课程考核方式又很古板——很多院校采用闭卷考试,出一堆的选择题和填空题。典型的题目是将一段代码砍掉一两句,让学生“填空”。有哪位高手是通过做这些“填空题”学会编程的?上机也流于形式,让学生反复折腾几个“黑底白字”的“玩具般的”小程序,学了一个学期,学生连一个有点用的程序都写不出来……这种僵化的教学方式,足以毁掉多数学生对编程的兴趣。我个人认为,C不应该成为针对大多数学生所讲授的第一门编程语言,我们的教学体系,应该给学生提供更多的选择。针对初学者所讲授的第一门编程语言,应该具有以下的特点:(1)必须是“有趣”的,能诱导人去“动手”和“思考”。(2)需要对初学者屏蔽不必要的底层技术细节,以免分散他们的注意力。(3)这种语言必须足够简单,但同时又具备足够的能力编写出实用的程序,从而让学生能比较容易地获得成就感,感悟到软件开发的魅力。(4)这种语言必须能充分地体现现代软件开发的基本思想和技术成果,为学生进一步深入学习打下基础(5)花在这门编程语言上的时间和精力是有回报的,掌握了它,就掌握了一个强大的工具,可以在今后的学习中使用这个工具进行实践和创造。另外,这门编程语言的学习,应该有助于初学者正确理解与体会到以下的编程思想:(1)分而治之:将大问题切分为小问题。(2)组件化与模块化:以搭积木的方式“构建”出软件系统。(3)算法思想:针对实际问题建立数学模型,设计计算机算法,最终编程解决问题。同时,这门编程语言的学习,应能有效地培养出以下的编程基本功:(1)调试代码的能力。(2)撰写可读性强、扩充性好、易于复用的优质代码的能力,培养良好的编程习惯。(3)查找技术资源与阅读技术文档的能力。也许一门编程语言的学习无法达到上述的所有要求,但组合几种不同的编程语言就差不多了。下面,我介绍几种适合于初学者入门的编程语言。三、适合于入门的脚本编程语言为了教初学者学会编程,蔡学镛先生的《编程ING》选择了REBOL编程语言,这个语言确实比较简单,而且蔡先生的书图文并貌,用它来训练编程的基本技能很合适,但REBOL这门语言似乎过于小众化了一些,而且书中缺乏有力的能引发初学者兴趣的应用实例。依据我的经验,如果初学者能动手写出几个有用的实例,他喜欢上编程的可能性会大大增加。

作为一本程序类书籍,采用彩板这真是一件大胆而富有创造性的事情。good job!由于采用彩色,图书的价格相对有些偏高。但这并没有减少对于这本图书阅读的兴趣。 本人,非计算机专业,未成学过编程,属于没有技术的电脑技术爱好者。 图书的风格不太像其他传统技术入门类图书,整本书看上去就是PPT叫注脚构成。大量的图片使用对于初学者来说是非常好的,这样更加的生动而易于理解。整本图书有300多页。这个厚度对于学习者来说非常适合,只要坚持一下,就可以把这本书看完,而不会半途而废。其实这点对于技术类图书很重要,至少我是这样觉得的。我曾经试图学习过编程,但是到最后都半途而废,原因有很多,其中一点就是书太厚,对于细节太过于啰嗦,可能作者们忘记了他们编辑的是一本入门图书,他们把入门图书编辑得像手册一般,大而全。这样的结果是当我学了一半放弃以后,我只记得java是面向对象的语言,c是结构化语言。没了。显然蔡先生注意到了这一点,在书的开始就引导我们注意保持住自己对于编程的兴趣,并且利用生动的图片和不太厚的篇幅告诉我们没有多少页了,你马上就快入门REBOL了。 没错,这本书的教学语言是REBOL。实话实说,在初步学习这本书后,我还是无法理解我可以用REBOL来做些更有意思的事情。我尝试着利用谷歌来搜寻更多关于REBOL的信息,遗憾的是,关于他,我们知道的很少。这绝对是一门非常小众的语言。由于我是初步学习,对于REBOL还有很多认识不清的地方,我觉得自己应该更加深入地学习下去。而这本书虽然语言朴实,但绝对值得你反复阅读。每一次阅读,我们对于作者表达的东西理解是不一样的,请相信我,这不是一本一次性阅读丛书,他值得我们反复阅读。 这本书还有一个非常大的特点就是学习非常的平缓,基本上不存在陡坡的现象。这是作为一本入门图书值得说道的地方。这里我想提出一点建议,就是在书的最后蔡老师给给出来我们深入学习的方向,但是这个方向不太明确。如果可以更进一步带读者走一步的话,这会是一个相当不错的选择。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7840479.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存