课程学习引导 · 全 40 门
不告诉你「要努力」,而是告诉你每一门课读哪本书的第几章、看哪个网课、写什么代码、面试会被问什么。
共 40 门课程,按类别分组。每门课包含:课程定位、为什么必须学好、核心知识清单、学习方法、真实教材、公开课、网站、GitHub 仓库、实践任务、面试考法与期末应试点。
高等数学以极限为基石,系统讲授一元与多元微积分、无穷级数与常微分方程,是整个理工科知识体系的地基。它训练的是用连续量刻画变化的思维方式:导数描述瞬时变化率,积分把无…
线性代数研究向量、矩阵与线性变换,是数据、图形、优化、信号处理共同的语言。课程主线是:用矩阵统一表示线性方程组,用行列式判断解的存在与唯一,用向量空间的基与维数理解…
离散数学研究离散结构:集合与关系、数理逻辑、组合计数、图论与代数结构,是计算机科学的数学基础课,也是唯一一门与计算机对象直接同构的数学课。它把无限与连续换成有限与可…
概率论与数理统计研究随机现象的规律:从随机事件与概率公理出发,建立随机变量及其分布,研究多维随机变量、数字特征与极限定理,再进入统计推断、参数估计与假设检验。它把不…
数值分析研究用计算机求解数学问题的近似方法与误差控制:包括误差与条件数分析、非线性方程求根、线性方程组与矩阵分解的数值解法、插值与拟合、数值积分与微分、常微分方程数…
计算机导论是全专业的入口课,负责画出整张地图:计算机发展史与冯诺依曼体系结构、数据的二进制表示与编码、数字逻辑与硬件层次、操作系统与软件的层次关系、算法与程序的基本…
数字逻辑电路讲授计算机硬件的最底层:数制与编码、布尔代数与逻辑门、组合逻辑电路的分析与设计、时序逻辑电路(触发器与状态机)、以及可编程逻辑器件与硬件描述语言入门。它…
数据结构与算法研究数据如何组织、算法如何设计才能高效运行:线性表、栈与队列、串与模式匹配、树与二叉树、堆与优先队列、图、查找结构(哈希表、平衡树、跳表)以及排序与分…
计算机组成原理回答计算机是怎么造出来的:以冯诺依曼结构为主线,讲运算器与浮点运算、指令系统与寻址方式、CPU 的数据通路与控制器(硬布线与时序逻辑)、流水线与指令级…
算法设计与分析在数据结构之上更进一步:以算法设计范式为骨架,系统讲授分治、动态规划、贪心、回溯与分支限界、随机化与近似算法,并配以正确的证明与渐近分析(主定理、摊还…
汇编语言是机器指令的人类可读形式,课程以 x86(或 MIPS/RISC-V)为主线,讲寄存器与寻址方式、数据传送与算术逻辑指令、标志位与条件跳转、子程序与调用约定…
编译原理研究如何把源程序翻译成目标代码,主线是前端与后端两段:词法分析(有限自动机与正则表达式)、语法分析(上下文无关文法、LL 与 LR 分析、自顶向下与自底向上…
Python 程序设计以最少的语法噪音带你进入编程世界:变量与数据类型、流程控制、函数与参数、列表元组字典集合四大容器、文件与异常、模块与包、面向对象入门,并延伸到…
C 语言程序设计是多数高校的第一门编程课,也是理解计算机工作方式的最佳入口。内容包括变量与数据类型、运算符与表达式、分支与循环、数组与字符串、指针与内存地址、函数与…
C++ 程序设计在 C 的基础上引入面向对象与泛型编程:类与对象、构造与析构、拷贝与移动语义、运算符重载、继承与虚函数与多态、模板与 STL 容器算法、异常处理、智…
Java 程序设计讲授面向对象语言的完整体系:语言基础与数据类型、类与对象、继承与接口、异常处理、集合框架、泛型、I/O 与 NIO、多线程与并发、Lambda 与…
Linux 系统与 Shell 是最贴近工程日常的一门课:Linux 文件系统与权限模型、常用命令(文件、文本处理、进程、网络、压缩)、Shell 脚本编程(变量、…
操作系统研究如何管理硬件资源并向上提供抽象:进程与线程、CPU 调度、同步与互斥(信号量、管程、经典同步问题)、死锁的检测与避免、内存管理(虚拟内存、分页与分段、页…
计算机网络以分层体系为主线,讲清数据如何在世界范围内可靠传递:应用层(HTTP、DNS、SMTP)、传输层(TCP 与 UDP、可靠传输、流量与拥塞控制)、网络层(…
数据库系统原理研究数据如何被可靠、高效地组织与访问:关系模型与关系代数、SQL 语言(查询、连接、聚合、子查询、视图)、数据库设计与规范化(函数依赖、范式、ER 建…
云计算与分布式系统研究多台机器如何协同完成单机做不到的事:分布式系统基础模型与时钟与一致性问题、CAP 与 BASE、复制与共识(Paxos 与 Raft)、分区与…
Git 与版本控制是最早需要掌握的职业基本功:版本库与工作区与暂存区三区模型、提交与历史查看、分支与合并(fast-forward 与三方合并)、冲突解决、变基与挑…
面向对象分析与设计讲授如何把需求转化为可实现的软件结构:以 UML 为表达语言,学习用例图、类图、时序图、活动图、状态图、组件与部署图;以对象职责分配为核心思想,掌…
软件工程导论回答一个问题:如何把一个人的编程变成一群人的工程。内容包括软件生命周期与过程模型(瀑布、迭代、敏捷与 Scrum)、需求获取与分析、软件设计(体系结构与…
软件需求工程聚焦项目最昂贵也最容易出错的环节——需求:需求获取与启发技术(访谈、观察、问卷、原型、工作坊)、需求分析与建模(用例、场景、数据流、状态建模)、需求规格…
软件测试讲授如何系统性地发现缺陷并建立质量信心:测试的基本概念与原则(测试显示缺陷存在而非不存在)、测试层次(单元、集成、系统、验收)、黑盒方法(等价类划分、边界值…
人机交互研究人与计算系统之间的交互设计:以用户为中心的设计流程(用户研究与需求、任务分析、概念设计、原型、可用性评估)、交互设计原则与启发式规则(一致性、可见性、反…
设计模式总结面向对象设计中反复出现的解决方案:以 GoF 二十三种模式为框架,涵盖创建型(单例、工厂方法、抽象工厂、建造者、原型)、结构型(适配器、装饰器、代理、外…
软件体系结构研究系统的高层结构与关键决策:架构的定义与作用、质量属性(性能、可用性、可修改性、安全性、可测试性)与场景分析、经典架构风格(分层、管道与过滤器、事件驱…
重构与代码质量关注代码长期可维护性:以坏味道(重复代码、过长函数、过大类、长参数列表、发散式变化、霰弹式修改、依恋情结、数据泥团、switch 语句、临时字段、异曲…
软件项目管理讲如何让项目在时间与资源约束下按质交付:项目启动与章程、范围管理与工作分解结构(WBS)、进度计划(网络图、关键路径、甘特图、里程碑)、成本估算与预算(…
人工智能导论给出 AI 的全景地图:智能体与问题求解(状态空间搜索、A 星、对抗搜索与博弈)、知识表示与推理(命题与一阶逻辑、产生式规则、知识图谱初步)、不确定性推…
机器学习研究如何从数据中自动获得规律:以统计学习为基础,讲模型评估与选择(交叉验证、偏差方差、过拟合与正则化)、线性模型(回归与对数几率回归)、决策树与集成学习(B…
深度学习研究多层神经网络的学习方法与应用:从感知机与多层网络讲到反向传播与自动求导、激活函数与初始化、优化器(SGD 家族、Adam)与学习率调度、正则化(Drop…
大数据技术基础讲授数据规模超出单机处理能力后的技术体系:分布式文件系统 HDFS 与计算框架 MapReduce 与 Spark 的内存计算模型、数据仓库与分层建模…
Web 前端开发讲授浏览器端界面与交互的完整技术栈:HTML 语义化结构与表单、CSS 盒模型与布局(Flexbox 与 Grid)与响应式与动画、JavaScri…
Web 后端开发讲授服务端应用的完整技术栈:HTTP 与 RESTful 接口设计、路由与中间件、参数校验与统一响应与全局异常处理、鉴权与会话(Session 与 …
移动应用开发讲授在手机端构建应用的完整流程:平台特性与开发环境、声明式 UI 与组件化(Flutter 的 Widget 或 Android 的 Compose 或…