优秀计算机大学生是怎样炼成的?计算机专业学习的误区(下)
04误区四:重视理论学习,忽视动手实践
计算机专业是一门应用性很强的专业,很多大学生缺乏应用实践的眼光来看待计算机学习。
他们在学习过程中虽然收集了大量资源,看大量的学习资料和视频,但是常常只停留在文字表面,并没有和应用实践相结合。很多教材和视频里面所讲的知识都是一种引导性的知识和例子,很多学生只满足于对这些表层知识的学习,认为只需要把书本相关资料的内容理解就够了。
对这种只顾理论知识而不动手实践的同学来说,他们虽然学了一堆知识,仍然不能解决现实中的实际问题,或者遇到实现问题仍然茫然不知所措。更槽糕的是,学习的计算机理论知识,由于没有动手实践来巩固加强,没过多久,这些理论知识也就忘的差不多了。
学了就忘,其实这些都是很正常的现象。因为理论学习和实际应用是有差别的,只有在实践的过程中才容易发现自己的错误,才能更加灵活和深入的理解这些理论知识。而且人的记忆曲线表示,如果不经过及时的复习,这些学过的东西很快会忘掉,而最好的复习方式就是经常去用它,经常不应用的理论知识和编程技巧肯定是容易忘掉的。
其实解决“学了容易忘”这些问题的办法很简单,就是动手实践的时间一定要多于看书或是看视频的时间。
对于编程来说,花时间把书籍或是视频中的案例全部实现出来,即使感觉自己会了,也要亲手写出来。就像小时候写日记,写作文练笔一样,可以通过编写大量的案例代码,不断培养自己的编程思路和逻辑思维。训练一段时间之后,编程思路就会像写作文一样流畅,这个时候,你开始知道如何用程序来解决实际问题了。编程基本功有了,再在校内或校外参加一些真实的项目实践。这样一来,基本就能具有解决实际问题的应用思维了。
对于计算机硬件或者其他计算机方向来说,动手实践也是很重要的,想从事计算机网络的同学要多动手操作各种网络设备;想从事计算机软件或硬件测试工作的同学来说,要熟悉各种测试方法和测试工具;想成为产品需求分析师的同学来说,要善于市场分析和竞品分析,总结出未来产品的创新功能点和卓越的性能要求。
要注意的是,动手实践的过程不要有一种害怕出错的思想。有一些同学看到自己动手做的东西(比如,编写的代码)没有显示错误信息,就会很开心,并且精心保护好自己做的东西,很怕一不小心动了什么就会报错。
这种害怕出错的学习方法也是危险的。
没有出现错误信息,并不代表实现的东西是能正常工作的,也可能是你的测试数据太少,或者你的测试方法并不完全,也不真正表示你已经充分理解了这个案例的工作原理和掌握了这个案例的知识点。
动手实践时不要害怕出错,失败才能教会我们成功。
真正的计算机高手每天都在处理各种出错信息。只有通过不断出错,才能见识到计算机软硬件系统中出现的各种可能的异常状态。努力解决这些出错的过程,就是一个计算机大学生深入掌握理论知识,提升自己分析问题和解决问题的能力的过程。也只有这样的不断解决实际问题,我们所学习的理论知识,包括操作系统、计算机网络、编译原理、信息安全等知识,就能在实际解决问题过程中加深理解和充分掌握,而且还能把这些知识融会贯通综合应用。
错误给我们带来刺激和进步,学习和成长的道路常常是要经过错误。如果我们要学习,就必须要有所经历,并且允许犯错。正是在错误中我们有所学习,而不是通过成功进行学习。丘吉尔说过:“成功是能够热情不怠地从一个失败走向另一个失败的能力。”
成功人士总是把他们的错误看成未来的投资。如果在年轻时犯错,他们会感到很高兴。错误对他们来说就是思想和知识上的财富。他们从错误中学习,并且试图使这笔投资带来巨大的收益。
05误区五:追求时髦技术,忽视基础
在计算机学习的过程中有很多的同学为了赶时髦,不停地去学习那些新的技术和框架,从而忽视了基础知识的学习,这也是一个很常见的误区。
大多数的人都希望自己的东西能够马上用起来,变成钱。这种想法对一个已经进入职场的计算机从业人员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进新技术就是失业。
但是对于在校计算机大学生来说,完全是一个计算机行业的初学者,学习时间也比较多,眼光一定要长远些,打好扎实的专业基础才是重中之重。一个并未进入到行业竞争中的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习“为什么” 而不是“怎样做”。
时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软硬件系统开发的成本。在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。
基础知识在计算机专业的学习过程中非常重要。计算机专业基础课程,比如数据结构,操作系统、编译原理、计算机组成原理、软件工程等等,这些基础知识的学习可能并没有那么有趣,会有些枯燥,可能会花费很多的时间,而且学习它们不会有立竿见影的效果。这些基础课程的学习虽然不能让你马上就实现一个Linux一样的操作系统,或者一个编译器,但是这些都是将来更深入学习计算机技术的坚实基础。
万丈高楼平地起,勿在浮沙筑高台,所谓的基础知识,就好比是盖房子要打地基一样,没有坚实牢固的地基,房子就没有稳定性。根基不稳,早晚会对自己的发展造成重大的影响。计算机知识的学习过程就好比练功,如果说学习最新的框架技术、最新的编程语言是外功(招式),那么像计算机操作系统、体系结构等基础知识的学习就是练内功,只注重招式而内功不扎实是不可能成为顶尖高手的。
计算机从业人员只有将基础知识牢记在心,才能产生对知识的共鸣与升华;基础打好了,对学习新技术也大有裨益,有利于大大降低学习新技术的难度和节省学习新技术的时间。因为这些时髦技术不论怎么更新,它的底层技术总是离不开这些基础知识。只有在大学期间学好这些基础课程,熟练掌握这些基础知识,才能更好地去了解和学习那些新的技术。而且,对于许多关键的应用领域来说,这些基础知识甚至是至关重要的。
06误区六:只顾自学钻研,不顾交流沟通
在学习的过程中还有这样一种情况,有的同学总是自己埋头苦干,认为只要自己努力自学和钻研就能把技术学好,以自己为中心,也不愿意和别人交流分享,出现了问题只想到自己解决,从没想到与别人交流沟通,请教别人。
自学钻研本身是好事,学习就应该以自己为主。但是,如果极端的自我主义就不太好了,这也是在计算机学习过程中会出现的一个误区。
在大学的学习过程中,这种自我封闭的学习方式会导致很多的问题。如果学习遇到的问题一直得不到解决,问题就会越积越多,给后续的学习带来较大的压力。最常见的就是有些同学在学习时陷入僵局,不愿意寻求他人帮助,花很多时间在一些本来在别人点拨下很容易就能理解的问题或完成的工作上,有时甚至需要自己花费好几天时间才能搞明白或者完成工作。而这些耽误的时间原本自己可以用来做更多的事情和学习更多的知识。
要知道每个人思路不同,对于问题的理解也会不同。可能一个很简单的问题是因为自己把它想复杂了,或者因为自己忽视了一些小错误。在这个时候,如果敢于沟通勇于沟通的话,老师或同伴的一句话可能就能惊醒你这个梦中人,也会让你产生“原来还有这种操作”的感觉。这一句话可能包含一个开发工具,一种学习方法,或是一个你没有访问过的网站。
有效的交流沟通往往能在大学生学习过程中起到莫大的作用,它能让你的学习效率和工作效率大大提升。
这种自我封闭式的学习可能在大学过程中导致的问题还不够突出,产生的后果还不会太严重。因为大学学习的东西相对都是比较基础的或者做的系统都是Demo级的,可能有时候花的时间会多一点,但是一个人的力量也能够解决。一旦进入了社会,基本都是一个团队协同工作的,而且项目团队的任务都是有时间限制的,特别是有些产品的投入市场是要抢占市场先机的,推迟一天可能导致整个产品的市场占有率大大下降。
所以,这种只顾埋头自学钻研,不顾交流沟通的学习和工作方式暴露出来的问题就会被无限放大,随着项目的规模变大,学习和工作的内容就会越多也会越难,一个人的力量往往是做不成事的。这种方式就会导致整个项目团队缺乏凝聚力,也可能会拖整个项目的后腿。更严重的话,可能因为一个人的交流不畅导致整个项目失败。这个时候,团队的交流沟通,团队的协同作战就愈发显得尤其重要了。
计算机专业学习的一个很好的方法就是同行之间的交流。可以不必谈论任何特定的内容,可以是正在学习的技术,可以是认为很酷的技术工具,也可以是你正在研发的系统。你会发现很多人并不只是喜欢交流具体技术,也可以交流很多宏观的关于行业和未来趋势的,你将了解到其他人是如何看待计算机行业以及技术和行业的未来发展。极有可能,你认为理所当然或从来没有考虑过的事情在与人交流沟通过程中会得到一些新颖别样的见解和观点。
计算机大学生要不断培养自学能力和刻苦钻研精神,但是,也要敢于交流,勇于交流,多多分享,虚心请教;在交流的过程中让自己更深入理解技术和知识,发现自身的缺点不足和问题,从而进一步完善自我、提升自我。
完结