高职计算机语言教学中编程素养的养成

2017-03-12 19:07杨舜尧
辽宁高职学报 2017年8期
关键词:阜新程序员代码

杨舜尧

(阜新高等专科学校,辽宁 阜新 123000)

高职计算机语言教学中编程素养的养成

杨舜尧

(阜新高等专科学校,辽宁 阜新 123000)

计算机编程是高职各理工学科的基础课,随着自动化和网络技术的发展,计算机编程在很多领域中都有着重要的应用。但在实际教学中,学生普遍对编程热度不够,兴趣不大,感觉很难入门,学生编程水平有待进一步提高。究其原因,是学生还没有养成比较好的编程素质,入门难度加大,在此就实际教学中学生基本编程素养的养成进行论述,以提高学生的计算机水平,为学生今后自学编程语言打下良好的基础。

计算机编程;计算机教学;编程素养;编程水平

Abstract:Computer programming is a basic course of science and technology in higher vocational colleges,along with the development of automation and network technology,computer programming has been applied in many fields.Yet in the teaching students lack interest in the course,the level of students'programming needs to be further improved.The reason is that students have not developed better programming accomplishment,and this increases the difficulty of entry.This paper discusses the development of basic programming accomplishment in the teaching to improve students'computer skills,and lays a good foundation for students'future programming language learning.

Keywords:computer programming;computer teaching;programming accomplishment;programming level

一、学生学习编程中遇到的实际困难

学生在学习编程中常遇到以下困难:

一是由于大多数学生是第一次接触计算机编程,对于许多语法和编程规范比较生疏,造成变量、常量及其它关键字的错误输入,或者输入的不一致性,对于这些常规低级的错误,学生很难发现。原因是对于编程平台的提示信息不能够读明白。

二是随着教学进度的进行,编程的代码量将逐步增加,代码行数由几行变为几十行,许多学生将会出现代码的堆积现象,让人看得很是不爽,一大堆,没有一个清晰的编程规范和编程习惯,甚至不标清注释。[1]这样给后续的编程造成极大的影响,降低了编程效率。

三是计算机编程看似入门很难,其实很大程度上都是由于积累不够。例如,在做计算机编程题目时,很多学生没有思路,做过的题目还是不会。[2]平时不注重算法的积累,很多时候都要去现场验算或是“发明”新算法,其实就是那十几种的算法,牢记后可极大提高编程效率。当然需要记住的还有很多。[3]

四是不注重总结。计算机教学中,很多内容都是按部就班的,也都是成熟定性的。[4]例如C++和java教学中的很多章节内容上和逻辑上都是相似的,就是具体的写法略有不同,如果平时注重积累,其中的一门学会之后,可以自学另外的一门语言,这些都是有先例的。当然还有其他的方面也要注重总结。

五是代码的可阅读性。很多思路敏捷的学生,写出代码的效率很高,但是可阅读性不高。写代码时跟着感觉走。其他程序员阅读后不知道在写什么,很难读懂,而本人可能感觉很爽,其实在实际工作中这恰恰是编程水平低下的表现。一个优秀的程序员写的代码应该是一目了然,逻辑层次清晰,而不是带着几分“神秘”。

二、结合教学实际,有针对性地改进教学方法

1.重视学生英语学习

由于软件编译平台都来自于西方欧美等国,所以英语的学习显得尤为重要。学生在平时的英语学习中应注重专业名词的积累,对于软件中出现频率较高的词汇应该着重记忆,总结重点单词的“手册”。

2.培养学生良好的程序编写习惯

一个优秀的程序员,编写的程序,首先从外观上应该是专业的,如果看起来比较乱,无论代码多么的优秀,都会被认为是一个低级的程序员。良好的习惯应该从平时的编写训练中得到培养,注重模拟教材,以及编写较规范成熟的代码。在学生编写代码之后相互进行检查,互相指出对方不足,并要添加注释,增加程序的可读性和维护性。

3.代码编写规范化

在实际规范化的开发过程中,实际代码的编写时间占总时间的1/2,正所谓磨刀不误砍柴功。如果设计以及规划过程完成得较好,那么会极大地提高编码效率,不同的程序员之间的不同模块进度协调和协作是很重要的。[5]如果因为编写的代码不规范造成影响整体进度,其他的程序员需要被迫停下工作去等待,这种问题是相当严重的,也是很不值的。

4.注意总结算法,注重复用性,以及模块化思维能力培养[6]

算法是程序的灵魂,好的优秀的算法需要记忆,因为算法的机制几乎是不变的。所以应培养好的算法记忆能力。不同程序之间有很多的算法是相似的,重复率较高,很多时候只要修改一下算法的参数和位置就能重新进行应用,所以代码的重复使用在程序编写中也是提高编程效率的一种重要方法。

5.软件的测试,提高程序健壮性

找bug,是学生自我提高的最佳途径。编程水平的提高过程,就是一个不断犯错误,找错误,纠正错误的过程。如果学习时犯的错误较少,那么在以后会遇到更多的错误,在实际开发中将无从下手。例如:微软公司在很短时间内就会经常发布各种补丁,课件高手们整天都在找bug,修正bug,没有不存在bug的程序。此外要提高对各种异常的处理能力,印度的软件业之所以发达,除了其英语作为官方语言之外,就是异常处理得非常具体详细。异常处理的代码量要占总体的一半甚至三分之二,所以程序几乎是不会崩溃的。

6.注意团队合作精神的培养

对于每个工程项目,一个人完成是不可能的,在实际开发过程中,与人打交道是家常便饭,与其他人的沟通就显得十分重要,而且良好的沟通是提高工作效率的基础。有些程序员是技术高手,但是一旦进入团队,工作就会拖后腿,这就是个很好的例子。因为他与别人的沟通不好,整个项目造成不协调,所以要不断的修改,这会导致效率低下。一旦进入商业化和产品化的开发中,缺乏团队意识的程序员是不合格的。

三、明确高级程序员应具有的能力

1.需求分析的能力

软件是一个庞大的工程,第一个步骤就是需求分析。在商业开发中,软件的设计制作都是以客户为导向的,对用户的要求吃透是开发最基本的前提。对于程序员而言,只需要完成相应的功能代码就可以,但是对于高级程序员来讲,还要制定专业的需求分析,供其他程序员来参考。

对于客户而言,只是直观地提出功能和效率的要求,以及软件要达到的效果,界面的色彩和结构等。由于非计算机专业制定的要求并不是数据专业的需求,这就要求程序员能分析工程背后的架构要求和隐形的需求是否能够转换成软件专业的需求分析,使程序员的思路完整清晰。

2.自学能力的培养

计算机语言是不断更新的语言,各种技术日新月异,大概每半年就有一次语言的技术革新。随着新技术的不断到来,新的开发手段不断在各领域应用,旧的技术不断会被淘汰。如果跟不上流行的语言发展趋势,程序员必将很快被淘汰,所以要不断地学习新的技术,学习新的技能。

四、结语

计算机编程,是一门注重实践能力的学科,好的编程素质是“练”出来的,只有积累了一定的代码量,才能塑造出一个优秀的编程人才,勤学苦练,注重实践,积极沟通,不断学习,才是编程学习的最良好的基本素养。

一个成功的软件人才是不断从实战中磨炼出来的。软件人才的成才过程与作家有相似之处,都是从不断的写作中不断提高的过程。一个写过2年代码的编程人员和8年代码的从业人员境界是不同的,对于程序的理解和整体把握有着更深的技能。从菜鸟变成达人,再变成牛人,最后转变为大师级的人物。在不断升级的过程中,实践是自我提升的最佳途径,当然最好有高人的指点,所谓的各种书籍和官方材料,都只是一种说明而已,宝贵的经验财富还是得通过实践出真知。

不断的尝试,不断追求完美和极致,是编程人员所努力的理想境界。这需要有大量的时间和精力上的付出,只有这样,才能成为互联网时代的弄潮儿。

[1]Graham R L,Knuth D E,Patashnik O.Concrete Mathematics A Foundation for Computer Science(Second Edition)[M].北京:机械工业出版社,2002:28-31.

[2]Knuth D E.计算机程序设计的艺术[M].北京:人民邮电出版社,2012:43-54.

[3]Abelson H,Sussman G J,Sussman J.Structure and Interpretation of Computer Programs(Second Edition)[M].北京:机械工业出版社,2004:345-400.

[4]张立昂.可算性与计算复杂性导引[M].北京:北京大学出版社,2011:89-91

[5]明日科技.java从入门到精通[M].3版.北京:清华大学出版社,2012:123-129.

[6]Nichoias C,Zakas.JavaScripe高级程序设计[M].3版.北京:人民邮电出版社,2012:56-58.

[责任编辑,阜新高专:武艳娟]

The Cultivation of Programming Accomplishment in Higher Vocational Computer Language Teaching

YANG Shun-yao
(Fuxin Higher Training College,Fuxin 123000,China)

G712

A

1009—7600(2017) 08—0110—03

2016-09-23

杨舜尧(1981—),男,辽宁阜新人,讲师。

猜你喜欢
阜新程序员代码
为了让妈妈看懂地图,一位“野生程序员”做了个小程序
浅谈辽宁省高速公路(阜新段)不动产确权登记
阜新元代大玄真宫祖碑碑文新录
怎样成为一名优秀程序员
创世代码
创世代码
创世代码
创世代码
程序员之子
阜新皮革产业开发区再获殊荣