关于从0开始学习计算机的看法

在我看来,其实不应该是从0开始的,不说天赋与智商,但是基础要有:数学和英语不能太差(要想走得远爬的高,这两个是必要的)
大学前三年对计算机不感兴趣,到了快大四了,没办法,去找工作,实习,渐渐地入了计算机的坑。

我是从web前端开发开始,html + css + javascript。

前端开发中最重要的是js,作为图灵完备的语言,从基础学起,数据类型,函数,等等...

学了一阵,去一些大公司面试和笔试,发现基础,数学,数据结构与算法是非常重要的。
当一个项目很大,注重效率与性能,要求很高,这几个东西就发挥了无可替代的作用。
于此,我反思了许久,写下这篇文章,为自己指明方向,也为千千万万想学计算机的同学指明一下方向吧。
学计算机,在英语和数学不差的情况下,还得有兴趣,有耐心。。因为路程的确比较长。
智商高记忆力好,学得快是非常好的,但是对于像我这种学的慢的,只能好好脚踏实地一步一步走了。

好了,不扯了,说说怎么学。


0.兴趣
兴趣很重要。闲暇的时候,多捣鼓捣鼓计算机,重装系统,清灰啊,拆卸啊,清理垃圾,研究分析什么的,不能惧怕它,记得以前我就是非常怕,毕竟是几千块的东西,弄 坏了怎么办?!
后来到大三的时候,才第一次装系统,我把我计算机装了win7,win8,win10,linux四个系统 = =  
然后就是多关注互联网新闻,多逛专业的论坛,比如互联网公司曝漏洞,新浪tech新闻,最近很火的技术,以及比较热的互联网方向,可以多激发自己兴趣。
*1.语言
C语言基础,Java,C++,javascript等;从面向过程到面向对象。
C语言到高阶可以有ACM(这要涉及到算法导论、数据结构、离散数学了....)
语言是你基础学习知识的实现,也就是“学以致用”那个“用”
这些语言学的时候可以做些小项目,小游戏,聊天室之类的。
*2.数据结构与算法
这在许多公司都是非常喜欢考的,什么复杂度啊,快排啊,这些是最simple的。
还是那句话,要想走得远,这两个是比较重要的
书籍:《算法导论》等等
*3.操作系统,计算机组成原理 (数字逻辑与数字电路,汇编语言)
当你开发的时候,接触到底层的知识,就需要这些了。。
比如我在node.js学习的时候,就遇到了IO,阻塞,同步异步等等问题。
这些底层的东西,能让你从最根本的地方想起(程序开始),到整个程序结束。
书籍:《深入理解计算机系统》,《计算机组成原理》(唐朔飞)
4.离散数学,线性代数,概率论
这个其实跟 2.数据结构与算法 关系比较紧密,在数据结构与算法中要求较高的数学功底。
如果数学底子很好,学习数据结构与算法会得心应手。
5.计算机网络,HTTP,TCP/IP
这些让你认识什么是network,服务器与客户端是如何工作,之间的数据是如何传输的。
举个例子,打开你的chrome浏览器,F12开发人员工具,看看下面的network,你知道是怎么一步步来的吗?
书籍:《HTTP权威指南》等

学好以上这些,可以说基本有比较完整的计算机基础了。(以上5条对开发人员尤其适用)
其实,我们来看看,1,2,3,4,5 与英语 都是我们的大学课程啊!
1,2,3,4,5 与英语 也是计算机考研408方向的绝大多数科目啊!
如果要应对软件开发工作的话,1是第一位的,然后想进好公司,必须得有 2,3 才行。
另外,当你阅读国外文档,wikipedia,api,文章,博客以及相关资料的时候,当你开发中起变量名的时候,你就会知道英语的重要性了...
还有就是,工作需要的话,数据库可能也要学一学,编程语言的话,就要看你做的方向而论了。
至于买书的话,我一般是上网(知乎,豆瓣等)查看对应方面的好书,然后核对亚马逊,当当网的销量和评分,最后在amazon上买的

多看书,多动手,才行!

附上其他类似文章链接: 

 http://www.zhihu.com/question/19628851  作为计算机专业学生,最应该学习的课程前五位是什么?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值