如何自学计算机专业课程?

live课程性价比不错,有兴趣可以看看

如何避免“程序员吃青春饭”一说?

  • 通过学习计算机专业课程从普通程序员成为技术高手

怎么学?

  • 学习编程语言(c、java、python、JavaScript,必须四个都会)
  • 学习数学(高等数学、离散数学、线性代数、概率统计),学完可以学习基础课程
  • 学习计算机专业核心课程
  • 学习计算机专业特定领域课程(人工智能、大数据、图形学)

如何学习?

  • 推荐书:学习之道
  • 专注,不要一心多用
  • 多次反复,切忌以为一次就能学会
  • 培训禁忌:强行灌入大量知识,难以消化
  • 学习高阶知识之前要学习预备知识
  • 学习需要有目标
  • 先实践再理论,先感性认识再理性认识
  • 学习需要DFS,切忌BFS,由树根到树叶
  • 如果工作在N层,学习的东西重心放在N-1,N+1层,例如做系统开发需要更多了解硬件而做web开发只需要简单了解更多需要了解浏览器原理

如何选择书籍?

  • 选择适合自己的书,别被“圣经说”迷惑
  • 根据前言或者开头,判断自己是否适合这本书
  • 最好阅读最新英文资源或者中英文对照
  • 由浅到深-从科普实战书籍到专业理论书籍
  • 多遍阅读法:第一遍,研读第一章,后面每章跳着看;第二遍,根据需要和兴趣选读内容;第三遍,看之前没看过的内容;第四遍,看之前不懂的内容,通读全书,反思
  • 很多工具书只需要第一遍第二遍阅读即可,重要的经典书籍才需要四遍
  • 难书、厚书特点,背景要求高,作者技术牛写作水平有限。这种书应对方式:需要提前掌握背景知识;多看此类型不同书籍对照查看;先看视频再看书

数学?

  • 简单搬砖不需要多深数学知识,但是深入成为大牛需要足够数学知识
  • 高等数学,离散数学,线性代数,概率论与数理统计,前两者必学,后两者根据需求选学
  • 选择合适的书,国内很多书理论性强,相比而言国外有些书更优秀。微积分:普林斯顿微积分读本,离散数学及其应用、线性代数及其应用
  • 从易到难学,从科普到教材再到论文
  • 学以致用,学完之后马上使用或者编写相关软件

计算机科学?

  • 树立计算机系统全局观-阅读CSAPP,建立对计算机的整体了解,再根据需求了解特定领域问题

数据结构与算法?

  • 有助于公司面试
  • 提升编程能力
  • 作为背景知识深入特定领域(机器学习或者系统开发)
  • 了解常用数据结构和算法,掌握算法好坏的分析方法
  • 看完书自己实现一遍,去类库(jdk)查看开源实现方式,学习优秀思想
  • 先学离散数学和一门编程语言,再学科普性书籍,再到《数据结构与算法》,再到《算法》和《算法导论》,《算法导论》的证明可以选读
  • 很多高级算法掌握会用即可,根据工作需求来选择是否花时间专研

计算机原理?

  • 作为很多高阶知识的前置基础知识
  • 《编码》-> 《计算机组成与设计》(《计算机存储与外设》和《计算机组成原理》)->《计算机体系结构》

操作系统?

  • 数据结构和算法
  • 计算机组成原理
  • c语言
  • 《操作系统-精简与设计原理》和《深入理解linux内核》(深入解析windows操作系统)

计算机网络?

  • 编程语言(c、java、python)
  • 操作系统
  • 数据结构与算法
  • 《计算机网络教程-自顶向下》、《计算机网络》、《计算机网络-系统方法》
  • 读书、写网络应用、抓包

其他问题

  • 课程电路,不需要深入研究,了解简单概念即可
  • 语言只是工具,不要专注于语法

猜你喜欢

转载自my.oschina.net/u/1378920/blog/1030951