一、形成整体的认识
建议读吴军博士的《浪潮之巅》。这本书讲IT产业非常精彩。
二、(1)学好数学:
- 高等数学
- 离散数学
- 线性代数
- 概率论与数理统计
(2)掌握一门编程语言:
- C是一种结构化的编程语言。如果不会C,后面的课程根本学不下去。
- Java是一种典型的面向对象的语言。Java有活跃的社区和数之不尽的开源项目。
- JavaScript 或者Python。这两个语言都是属于动态编程语言的范畴,应用极为广泛。
三、计算机专业基础课程
计算机专业基础课程的学习,和我们在工作中实用技术的学习,这两者是相互促进的。比如计算机网络课程,对web开发框架有帮助;反过来,如果写了web框架,就能更深刻的理解计算机网络这门课程。
(1)专业基础课有十多门,其中最重要的是四门如下(这四个课程也是考研科目,建议按如下顺序学习):
- 数据结构与算法
对于多数人来说,掌握算法,只需要知道算法的思想、应用场景和优缺点就可以。实际开发中,你要设计新算法的机会并不多,并且那些应用很广的算法,都已经在框架里提供了现成的组件。这些组建内部已经实现了算法,你只需要知道是怎么回事,会调用就可以了。比如说加密和解密的算法。
考研和大公司面试,也不会考到复杂的算法,准备前多刷几遍即可。 - 计算机组成原理
主要是介绍计算机由哪些部件组成的,这些部件是如何互相协作、完成处理功能、同时用来满足各种成本和功耗指标的。 - 操作系统
很多操作系统都是用C语言写的,建议在学习操作系统之前,先学习C语言。 - 计算机网络
了解了计算机网络的基本原理,理解实际开发中的各种通信协议和各种网络库,就会比较容易。
掌握相应的网络协议,是开发上层应用软件的关键。比如,如果连http协议都没掌握,就去写web应用, 好比在沙滩上盖楼。
(2)除此之外,计算机基础课还包括:
编译原理
面向对象的方法
关系数据库的理论
软件工程等
原文:https://www.jianshu.com/p/72512b2fcab9