这页不替代具体技术专题,也不想复刻某个学校的培养方案。它只回答一个更实用的问题:如果按“大学计算机专业”的课程逻辑去补知识,核心课应该怎样分组、先后怎样衔接、每门课分别回到仓库里的哪条技术主线。
按课程逻辑看,大学计算机专业的核心主干可以先收成三层。
微积分、线性代数、概率统计、离散数学、逻辑与证明。这一层负责把“直觉”变成“能推理、能建模、能分析复杂度”的语言。
C/C++、Java 或 Python 只是入口,真正的主干是数据结构、算法、复杂度分析、递归、图和动态规划。
组成原理、体系结构、操作系统、编译原理、网络、数据库。这一层解释程序为什么能跑、为什么会慢、为什么会错。
不同学校课表不同,但如果目标是建立理解力,下面这条顺序通常最不容易断层。
| 专业课程 | 它主要回答什么 | 建议先修 | 仓库里的主要承接页 |
|---|---|---|---|
| 程序设计 / 编程语言基础 | 怎样把问题翻译成变量、控制流、函数、对象、模块和可调试程序 | 基础数学思维 + 真实小项目练习 | 程序设计与编程语言基础课群 / 编程基本结构 |
| 离散数学 | 逻辑、证明、图、组合、递归关系 | 基础编程思维 | 大学数学 |
| 理论计算机科学 | 什么能被计算,怎样形式化语言和机器,哪些问题很难高效求解 | 离散数学 + 程序设计 + 数据结构基础 | 理论计算机科学课群 / 编程语言设计 |
| 数据结构与算法 | 怎样组织数据,怎样分析时间和空间代价 | 离散数学 + 编程基础 | 数据结构、算法设计与复杂度课群 / 算法技术底座 |
| 计算机组成原理 | 指令、寄存器、Cache、内存层级、流水线 | 编程基础 + 一点离散 | 组成原理、体系结构与数字硬件课群 / 计算机体系结构底座 |
| 操作系统 | 进程线程、调度、虚拟内存、文件系统、系统调用 | 组成原理 | 操作系统、进程线程、内存与并发课群 / 操作系统内核机制底座 |
| 编译原理 | 源代码怎样变成可执行形式,运行时怎样协助执行 | 数据结构 + 形式语言基础 | 编译原理、运行时与语言实现课群 / 编译运行时底座 |
| 计算机网络 | 主机之间怎样传输、路由、重传、建立连接 | 操作系统基础更好 | 网络、互联网协议与分布式通信课群 / 网络与流量工程 |
| 数据库系统 | 数据怎样存、查、索引、事务化和复制 | 数据结构 + 系统基础 | 数据库系统、SQL、事务与存储课群 / 数据库图谱 |