本人对大学本科的计算机类课程的学习顺序进行了排序,纯属个人思考。
- 数学(数学是所有学科的基础)
- 线性代数(矩阵、向量等相当重要)
- 模拟电路(半导体器件工作原理)
- 数字电路(逻辑电路、集成电路)
- 计算机组成原理(了解计算机的组成结构)
- 机器语言(机器能执行的代码,0和1组成)
- 汇编语言(机器代码的助记符)
- 高级语言(C/C++语言与程序设计,更符合人类阅读和编写的语言)
- 编译原理(因为机器最终能执行的是机器语言,把一种语言编译成另外一种语言,比如高级语言对应的编译器可以把高级语言编译成汇编语言或者机器语言,汇编语言编译器可以把汇编语言编译成机器语言)
- 单片机(C语言应用,一块单片机相当于一个完整的小型计算机,可以进行嵌入式开发)
- 数据结构与算法(相当重要,程序代码到处都存在,特别是结构选择与性能优化,线性表、树、图、广义表和它们的相关算法)
- Java语言与程序设计(JVM、设计模式、流行开源前后端框架)
- 操作系统原理(处理器管理、存储器管理、文件管理、设备管理等,建议使用Linux为主)
- 计算机网络(网络结构、TCP/IP协议等)
- 数据库原理(关系模型、SQL、事务、索引,建议使用MySQL结合Java进行实践)
- 电子商务(了解电商系统业务和架构)
- 软件工程(软件的工程化流程)
- 计算机与网络安全(密码学、漏洞、病毒、木马、外挂、黑客)
- 计算机专业英语(毕竟现在硬件和软件很多技术都是国外主导,查看外国网站和源码文档等都需要用到)