大学计算机的那些事儿 ---写给曾经和我一样迷茫的新生

        还记得大三搬到实验室,有一天上网,看到一个童鞋发帖问,计算机应该怎么学?说实话,当时自己也很茫然,想提笔写点什么,但终究觉得自己能力不够,也就作罢。时间就这么过了好久,渐渐地也能感觉到学计算机的怎么才能很好地提高自己的编程水平,趁着侄女学计算机需要我指点一二,将自己对计算机的领悟做个总结。

        回顾下大学四年的计算机生涯,对自己影响最深的课程当属数据结构了。其他课程诸如计算机操作系统、计算机网络和计算机组成原理也很重要,深入理解,会让你对整个计算机有更深刻的认识。

        我不打算就如何学好这些课程做深入探讨,虽然我以前学习也是囫囵吞枣,不过我还是建议:第一,认真学习数据结构,它是你进入计算机世界的通行证。无论是操作系统还是网络,在实际设计的过程中,都会用到数据结构,比如操作系统的文件系统会用到红黑树等树的知识;第二,无论学习任何一门课程,原理很重要,但是动手实践的能力也很重要。课程设计只是点到为止的知识巩固,要想真正掌握一门技术,必须自己多钻研,学会自己动手编写一些小例子去验证某些原理。你无法想象自己会在动手编程验证的过程中的收获。

        我写这篇博客的原因在于,希望那些真正想提高自己的人不会走弯路。其实学会一门编程语言并不难,语言之间都是相通的,学会了C++,再去学Java,并不会有多大阻碍。编程本身并不难,相反,只要你掌握了门道,它其实是一件很快乐的事情,能带给你很大的成就感,尤其是你编的小程序被别人认可的时候。阻碍我们成为编程高手的,其实是我们自身的惰性。以前室友总是会做一些有用的小程序,比如开关机程序、手机和电脑传文件的程序,我都不以为然,我觉得这些网上都有很成熟的程序了,自己再去做真是浪费时间,我要想个绝佳的创意,然后再去动手实现它。现在我真是后悔有那种想法,在你不是一个绝世高手之前,利用一些小程序练练自己的技术,绝对有益无害。技多不压身,只要你有技术,如何将技术变现就只是时间的问题了。

        假设你已经学好数据结构了,我的建议是,去ACM多练习练习,这时候算法对你很重要,推荐你看看算法导论,经典中的经典。练习ACM的好处在于,你对算法的理解会上一个档次,这对于你今后无论是找工作或者参加计算机类的竞赛,都是脾益良多的。多说几句,大公司在招聘的时候,考的很多都是基本的算法知识,很多基本上属于ACM难度适中的题目。如果你对ACM和算法有很浓厚的兴趣,不妨去学院看看有没有ACM校队,如果有,可以参加他们的集训,争取加入他们;如果没有也不必担心,现在有很多计算机程序设计大赛,只要你够勤奋,总会有让你闪光的舞台。

        假设你对计算机算法已经有了比较深刻的认识,对算法时间/空间复杂度、算法优化有了进一步的理解,恭喜你,现在开始学习一些软件开发工具也不会太晚。现在的移动互联网很热,每个人手上都会有一台Android/Apple手机,网上关于Android开发/IOS开发的教程很多,相信学会其中任何一种都不会很难,只要你自己坚持写下去。这时候,如果你有任何的创意点子,都可以手到擒来,编个程序装到自己手机里,说不定你就是下一个facebook呢。

        假设我们都不是天才,天才也不会需要看这种文章了,我们的编程只是在新手和中手之间徘徊。那我们怎么才能成为高手呢?充其量我也只能算个中手吧,但是我对于如何成为高手还是有一些理解的。在成为高手的路上,学会分享是很重要的。不要吝啬自己的笔墨,隔一段时间看一些专业相关的书籍,学着写博客,分享你对新技术的理解、对知识的总结。如果你想更近一步,加入开源项目组会是一个不错的建议。好的开源项目会有一堆高手在维护,就像linux当年是如何发展壮大的,在这些高手的耳濡目染下,你离高手也就指日可待了。

                

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值