上文说道木鹏飞声明计算机学习的第二宗罪是学习浮躁,只流于表面而不肯深入底层学习,并指出了编程的三重境界。木鸿飞则继续咨询第三宗罪。
“第三宗罪就是偏科。具体来讲有两种表现,一是动手编程和理论学习二选一,二是专业知识偏好严重,喜欢一门,不喜欢另一门。”
“纵观计算机专业的学生,大概可以分为四类:喜欢编程也喜欢理论的,只喜欢编程不喜欢理论的,不喜欢编程只喜欢理论的,和不喜欢编程也不喜欢理论的。呵呵,很拗口是吧,姑且不讨论第一种和最后一种,只谈谈中间两种:只喜欢编程的和只喜欢理论的。”
“有的同学喜欢编程,经常动手实践,今天编个程序,明天搞个系统,老师要求课程设计总是第一个交,而且设计得真是一个好字了得!……”
“我就要做这样的人!”木鸿飞打断哥哥的话。
“但是,相当令人想不通的是,他们虽然课程设计做的好,不过考试成绩通常却只有60多一点,要不就是在60分边缘徘徊。老师有时看在课程设计的面子上睁只眼,闭只眼给个及格了事。更有甚者只有30~40分,令老师想放水也不知如何放起。”哥哥无比的惋惜道。
“这个我听说了,这个我听说了!”木鸿飞大声说道:“60分万岁,61分浪费。呵呵,据前几届的老乡说,大学的考试根本就考不出真实水平,有的动手能力很强的人考不及格,而很多完全不编程的人却可以考高分,属于动手能力与理论知识严重脱节!”
“这种思想严重错误!”哥哥连忙说道:“虽然目前的考试形式存在一定局限性,考试得了高分,并不能代表真正掌握了知识。但是有一点是可以确定的,那就是考试没有及格的,肯定没有真正学懂!”
“举个例子,大三有个学生,用foxpro(编者注:以前的一种数据库及数据库编程语言)编了很多程序,是大家公认的数据库编程高手,但是数据库考试就是不及格,实在是不应该。还有《数据结构》,很多所谓编程高手的数据结构都没有考好,为什么呢?我曾经专门查阅过他们的试卷,发现情况很类似:一些编程时可能使用过的,或者相当简单的算法,比如链表、队列和栈的实现,都能得分;但是一些概念和程序中不易接触的算法,则失分严重,比如树、图的概念,图的各种算法,查询和排序算法等等。这充分说明他们在学习计算机专业知识全凭自己的喜好和编程的需要,如果程序涉及则去学习,否则一问三不知!其实,能上经典教科书的内容都是经典,都是需要熟练掌握了。而同学们由于自身的局限性不可能马上就在编程中应用全部的内容,但在将来的工作和学习中迟早会见面。与其那时在重新学习,不如现在就掌握。书到用时方恨少,倘若真随性而学习,待到工作中急需却不知道时,已经迟了!”
“以上同学可以称为编程派,与之对应的就是理论派,这类学生只看书本,背算法,从不动手编程。有的甚至连编程工具是什么都不知道,比如说虽然C语言特别的普遍,但是咱们系里暂时没有开设C语言课,所以很多理论派的学生肯定没有自学C语言,他们估计连Main函数都没有听说!”
“理论派认为是理论知识推动计算机前进的关键,而编程仅仅是工程应用而已,他们常常以某某知名计算机教授上课不会用PPT为例来证实自己。他们或者瞧不起编程,认为输入代码是很简单的事情,给他们点时间,肯定能做得更好,或者特别惧怕编程,不敢动手实践。他们书本知识学的好,考试一般能打高分,论述某个程序设计话题时往往够口若悬河,设计思路一环套一环,仿佛特别清晰。但是一旦动手操作就傻眼了,不知道从何入手,倘若硬着头皮编程,才发现编码的道路到处是障碍。所以这种人在课程设计时常常与别人合组,尤其是与编程派合组,美其名曰‘团队合作’,其实就是别人编程他署名。”
“理论派也是不正确的!我们承认理论知识对推动计算机的发展相当有效,很多论文都是理论知识。但问题是,你一个小小的本科生就能达到那种推动计算机发展的理论高度?本科所知道的理论,都是基础的、经典的、而且并不高深的,引导时代潮流子言似乎为之过早。当然我们不排除有极个别才华横溢的大学生,以本科之身就知晓了博士都不了解的知识,但毕竟是极少数,不具备推广价值。所以咱们本科生暂时不要梦想能够发明什么大理论,还是老老实实的走‘理论联系实践’这一条有前途的路吧!所以……”
“所以,理论学习和编程实践两手都要抓,两手都要硬!”木鸿飞插嘴道,“但是怎么体现对二者都重视呢?”
“很简单,一边做好课程设计,成为同学眼中的公认的编程高手,一边在计算机专业考试上拿高分,就可以了!”
“哦。动手编程和理论偏科,我明白了。专业知识偏科也是什么?”木鸿飞问道。
“专业偏科就是喜欢一门知识,不喜欢另一门知识。比如经常有学生说:我特别喜欢C++,毕业后找C++的工作,所以不学Java。或者说:我喜欢网络,不喜欢数据库,所以不学数据库,将来只做网络工作。”
“这样不行吗?专心学习一门知识,以后成为这方面的专家,将来找工作也方便些。”木鸿飞觉得似乎正确。
“三个原因决定了这样不行。”哥哥开始反驳,“第一,专注于某一个专业的确很重要,比如硕士、博士都是只研究一个方向的。但是请注意,他们都是研究生,而你是本科生,请大家不要太高估自己了,目前大家还远远没有到达专注某一个狭窄区域的时候。第二,大部分学生将来从事什么工作还是个未知数,也许你的工作恰恰就需要你不喜欢的学科。第三,计算机各门知识之间都是相互关联的,一个项目往往涉及很多们专业课程,比如既需要Java的简洁,又需要C语言的效率,既有windows设计,又有Unix开发,既设计网络,又操作数据库,所以知晓计算机各个专业知识,成为所谓的计算机复合型人才,对将来的工作大有裨益。”
“大学四年学习这么多课程,会不会精力不够呢?”木鸿飞又提出一个疑问。
“足够了!”哥哥不同意,“大学学习的是些基础和应用,并没有涉及相当高深的专业技术。而且总共才十几门专业课,平均下来一个学期只有几门,所以完全有精力和时间!”
“呵呵,这么说来应该有时间。”木鸿飞不好意思的挠挠头,然后总结道:“你讲这三宗罪,我总结一下,好像都围绕计算机专业基础课程。第一宗罪号召我们必须要学专业基础课程,第二宗罪告诉我们如何学习专业基础课程,第三宗罪则要求我们必须学习所有的专业基础课程,不得遗漏。哥哥,你说是不是。”
“完全正确,加十分!顺便在讲一句,对于计算机专业来说,学好外语也是相当重要!”哥哥说道。
“哦,为什么?”木鸿飞问道。
“其实这是由当前国际大环境造成的。首先现在各行业都需要外语,外国的东西还是比较吃香的,目前海龟还是比土鳖有地位。其次我们不得不承认,发达国家的计算机真的比我国要进步,所以为了看到他们的文档,你必须懂得计算机。”
“看翻译的不行吗?”木鸿飞见缝插针问道。
“翻译的东西总会慢一些,而且好多文档也没有人翻译,另外由于翻译的内容是别人的理解,甚至有部分还可能是错误的,所以不如自己理解的好。”哥哥接着说:“找工作时,如果既懂计算机又懂外语,哪怕精通程度稍微低一点,也要比只精通一门的竞争优势大得多,1加1远远大于2。而且精通外语,说不定能够出国工作,虽然这么说有的崇洋媚外,但增加见识是真实的。”
“这么说,我还得努力学习英语啦。”木鸿飞说。
“对啊,所以很多学校要求毕业必须过四级呢!当然,也可以考虑学习一下日语。”哥哥说道。
“日语?你的米西米西大大的约西?为什么学日语,有什么好处?”木鸿飞问。
“好处多着呢。首先,对日软件外包比较火热,比如上海就有多计算机相关职位需要日语3级以上水平,懂点日语后再找计算机工作要比单纯懂计算机容易的多。其次,学习日语入门相当简单,过一个日语3级不是什么困难的事情。”
“哦,既然日语简单,为什么不学高深一点,直接过个日语6级?”木鸿飞问道。
“呵呵,日语是1级最难,没有6级。再说你也别把它想象的太简单了,日语入门容易,精通很难。有人这么评价日语:笑着进去,哭着出来。”哥哥说道。
“怎么评价英语呢?”木鸿飞又问。
“哭着进去,笑着出来。”哥哥回答,“其实学英语和学日语就好有一比,你应该看了武侠小说,它们就如同少林和魔教,进入少林学习功夫慢,大部分人武功平平,但是如果能够坚持下来,肯定有收获,绝顶高手一定出自少林。相反进入魔教这学习功夫可以速成,大部分人的功夫在江湖上处于中上水平,但是想再进一步深造就很困难了,所以魔教一般鲜有绝顶高手。”
“我还是入少林吧。我要成为绝顶高手!”木鸿飞决定学英语。
今天,哥哥详细的告诫了木鸿飞一番,在网络尚未普及的时代,得到计算机学习方法的机会少之又少,木鸿飞在正式学习前得到了一次洗礼。这些经验都是过来人的肺腑之言,只是如木鸿飞等尚未经历之人,又能听懂几成,牢记几成,应用几成?至少当时木鸿飞没有听见去,于是有了后面的麻烦。
上一篇 目录 下一篇
本文出自 “编程浪子朱云翔” 博客,转载请与作者联系!