全系列路线

计算机学习路线

依次学习编程、算法、计算机组成、操作系统、网络与数据库。

约 30 小时精选 42 个教材章节适合具备基础代数知识、准备学习计算机专业课程的读者。
本地学习进度0/42 节完成
0%

进入路线前

本路线不要求额外的站内先修,可从第一个精选章节开始。

路线目标

  1. 01程序设计、数据表示、数组计算、测试、版本管理与数值实验。
  2. 02数据结构、排序、动态规划、图算法、复杂度与可计算性。
  3. 03数据清理、变换记录、实验设计、统计比较与环境管理。
  4. 04二进制表示、数字逻辑、指令集、流水线、缓存与输入输出。
  5. 05进程、调度、线程同步、虚拟内存与文件系统。
  6. 06网络分层、以太网、IP 路由、传输协议与网络测量。
  7. 07关系模型、SQL、数据规范化、索引、事务与恢复。

分阶段学习顺序

01

编程与科学计算基础

程序设计、数据表示、数组计算、测试、版本管理与数值实验。

  1. 01
    C00 · 编程与科学计算基础 · 第 1 章 · 第一编 程序与数据 · 难度 2

    程序、类型、控制流与函数

    程序、类型、控制流与函数:从表达式、变量和类型建立程序状态,使用分支、循环与函数分解问题,并通过前置条件、返回值和作用域说明计算契约。

    未开始
    阅读本章
  2. 02
    C00 · 编程与科学计算基础 · 第 2 章 · 第一编 程序与数据 · 难度 2

    集合数据、文件与错误处理

    集合数据、文件与错误处理:使用序列、映射和集合组织数据,设计文本与结构化文件读写流程,并用异常、资源清理和输入验证处理失败路径。

    未开始
    阅读本章
  3. 03
    C00 · 编程与科学计算基础 · 第 3 章 · 第二编 科学编程 · 难度 2

    数组、向量化与数值精度

    数组、向量化与数值精度:用形状、轴、广播和切片表示批量数值计算,比较向量化与循环的语义及成本,并识别浮点表示、溢出和舍入误差。

    未开始
    阅读本章
  4. 04
    C00 · 编程与科学计算基础 · 第 4 章 · 第二编 科学编程 · 难度 2

    数据可视化与计算实验

    数据可视化与计算实验:实验变量、图形编码、参数扫描,以及数据和随机种子的记录。

    未开始
    阅读本章
  5. 05
    C00 · 编程与科学计算基础 · 第 5 章 · 第三编 工程基础与综合复习 · 难度 2

    测试、版本控制与环境管理

    测试、版本控制与环境管理:用单元测试、性质检查和回归样例验证程序,使用版本控制组织可审查变更,并锁定依赖、运行命令和环境以支持复现。

    未开始
    阅读本章
  6. 06
    C00 · 编程与科学计算基础 · 第 6 章 · 第三编 工程基础与综合复习 · 难度 2

    编程与科学计算综合项目

    编程与科学计算综合项目:程序分解、数据结构、数组计算、可视化、异常处理、测试与版本管理。

    未开始
    阅读本章
02

数据结构、算法与复杂度

数据结构、排序、动态规划、图算法、复杂度与可计算性。

  1. 07
    C01 · 数据结构、算法与复杂度 · 第 1 章 · 第一编 数据结构 · 难度 3

    序列、栈、队列、树与堆

    序列、栈、队列、树与堆:以抽象数据类型和不变量比较数组、链表、栈、队列、搜索树及堆,分析基本操作的正确性、时间复杂度和存储代价。

    未开始
    阅读本章
  2. 08
    C01 · 数据结构、算法与复杂度 · 第 2 章 · 第一编 数据结构 · 难度 3

    哈希表、图与并查集

    哈希表、图与并查集:用散列函数与冲突策略实现字典,以邻接结构表示图,并通过并查集和摊还分析支持动态连通性。

    未开始
    阅读本章
  3. 09
    C01 · 数据结构、算法与复杂度 · 第 3 章 · 第二编 算法设计 · 难度 3

    分治、贪心与排序

    分治、贪心与排序从子问题结构建立递推和合并步骤,证明比较排序的复杂度,并用交换论证或切分性质验证贪心选择。

    未开始
    阅读本章
  4. 10
    C01 · 数据结构、算法与复杂度 · 第 4 章 · 第二编 算法设计 · 难度 3

    动态规划与图算法

    动态规划与图算法:通过状态、转移和最优子结构构造动态规划,使用遍历、最短路和最小生成树算法处理图问题并证明正确性。

    未开始
    阅读本章
  5. 11
    C01 · 数据结构、算法与复杂度 · 第 5 章 · 第三编 复杂度与综合复习 · 难度 3

    渐近复杂度、归约与可计算性

    渐近复杂度、归约与可计算性:用渐近上界、下界和摊还成本比较算法,通过多项式时间归约理解困难性,并由停机问题说明可计算性的根本边界。

    未开始
    阅读本章
  6. 12
    C01 · 数据结构、算法与复杂度 · 第 6 章 · 第三编 复杂度与综合复习 · 难度 3

    数据结构与算法综合复习

    数据结构与算法综合复习围绕问题建模、不变量、正确性和复杂度选择方法,比较分治、贪心、动态规划与图算法的适用条件。

    未开始
    阅读本章
03

数据处理、实验设计与可复现计算

数据清理、变换记录、实验设计、统计比较与环境管理。

  1. 13
    C02 · 数据处理、实验设计与可复现计算 · 第 1 章 · 第一编 数据管线 · 难度 3

    数据质量、清理与模式验证

    数据质量、清理与模式验证从研究问题定义质量规则,检查类型、范围、唯一性、缺失和重复,保留原始值与清理决策并避免把异常机械删除。

    未开始
    阅读本章
  2. 14
    C02 · 数据处理、实验设计与可复现计算 · 第 2 章 · 第一编 数据管线 · 难度 3

    数据变换、血缘与版本

    数据变换、血缘与版本:把筛选、连接、聚合和派生变量组织为可重复管线,记录输入版本、模式、变换参数和血缘以支持回溯与重算。

    未开始
    阅读本章
  3. 15
    C02 · 数据处理、实验设计与可复现计算 · 第 3 章 · 第二编 实验设计 · 难度 3

    对照、随机化与功效分析

    对照、随机化与功效分析由研究问题和处理单元出发,设计随机分配、阻断与盲法,并使用效应量、方差、显著性水平和功效规划样本量。

    未开始
    阅读本章
  4. 16
    C02 · 数据处理、实验设计与可复现计算 · 第 4 章 · 第二编 实验设计 · 难度 3

    指标、统计比较与多重检验

    指标、统计比较与多重检验:预先定义主指标和比较单位,选择与设计匹配的区间和检验,报告效应量与不确定度并控制重复比较带来的错误率。

    未开始
    阅读本章
  5. 17
    C02 · 数据处理、实验设计与可复现计算 · 第 5 章 · 第三编 可复现工作流与综合复习 · 难度 3

    实验追踪、环境封装与制品

    实验追踪、环境封装与制品:把代码、配置、数据版本、随机种子、运行环境、指标和产物绑定为可查询记录,以清单、校验和与复现命令封装制品。

    未开始
    阅读本章
  6. 18
    C02 · 数据处理、实验设计与可复现计算 · 第 6 章 · 第三编 可复现工作流与综合复习 · 难度 3

    数据处理与实验设计综合复习

    数据处理与实验设计综合复习围绕一个可审计研究问题,串联质量检查、变换血缘、随机化设计、统计比较、实验追踪和制品发布,并区分探索与确认。

    未开始
    阅读本章
04

计算机组成

二进制表示、数字逻辑、指令集、流水线、缓存与输入输出。

  1. 19
    C03 · 计算机组成 · 第 1 章 · 数据与电路 · 难度 3

    二进制与数值表示

    二进制与数值表示:说明位宽、无符号整数、补码、溢出、字节序与定点比例,并计算编码转换和内存字段。

    未开始
    阅读本章
  2. 20
    C03 · 计算机组成 · 第 2 章 · 数据与电路 · 难度 3

    数字逻辑与时序电路

    数字逻辑与时序电路:用真值表、全加器、寄存器和状态机分析数字电路,并计算同步路径的周期和时序余量。

    未开始
    阅读本章
  3. 21
    C03 · 计算机组成 · 第 3 章 · 指令与处理器 · 难度 3

    指令集与汇编程序

    指令集与汇编程序:按寄存器、内存和程序计数器跟踪汇编指令,计算地址偏移,并分析循环和函数调用。

    未开始
    阅读本章
  4. 22
    C03 · 计算机组成 · 第 4 章 · 指令与处理器 · 难度 3

    处理器与流水线

    处理器与流水线:分析五级流水线的执行顺序、转发和暂停,计算延迟、吞吐率以及分支引入的周期代价。

    未开始
    阅读本章
  5. 23
    C03 · 计算机组成 · 第 5 章 · 存储与设备 · 难度 3

    存储层次与缓存

    存储层次与缓存:分解缓存地址并跟踪访问序列,比较映射冲突、平均访问时间、写策略与数组访问局部性。

    未开始
    阅读本章
  6. 24
    C03 · 计算机组成 · 第 6 章 · 存储与设备 · 难度 3

    输入输出与性能分析

    输入输出与性能分析:比较轮询、中断和设备传输开销,统一延迟与带宽的单位,并计算完整任务的执行时间和加速比。

    未开始
    阅读本章
05

操作系统

进程、调度、线程同步、虚拟内存与文件系统。

  1. 25
    C04 · 操作系统 · 第 1 章 · 进程与调度 · 难度 3

    进程与系统调用

    进程与系统调用:介绍进程状态、用户态与内核态、创建和替换进程、文件描述符以及管道通信,分析执行顺序和资源关闭条件。

    未开始
    阅读本章
  2. 26
    C04 · 操作系统 · 第 2 章 · 进程与调度 · 难度 3

    处理器调度

    处理器调度:定义周转、响应与等待时间,比较先到先服务、短任务优先和时间片轮转,并讨论反馈队列、饥饿与多核亲和性。

    未开始
    阅读本章
  3. 27
    C04 · 操作系统 · 第 3 章 · 并发与资源 · 难度 3

    线程与同步

    线程与同步:分析线程共享状态和读改写交错,使用互斥锁、条件变量与信号量维护队列不变量,并区分同步安全性与进展条件。

    未开始
    阅读本章
  4. 28
    C04 · 操作系统 · 第 4 章 · 并发与资源 · 难度 3

    死锁与资源分配

    死锁与资源分配:使用等待图分析锁依赖,计算多实例资源的剩余需求和安全序列,区分当前死锁与不安全状态,并说明预防和恢复的约束。

    未开始
    阅读本章
  5. 29
    C04 · 操作系统 · 第 5 章 · 内存与文件 · 难度 3

    虚拟内存与分页

    虚拟内存与分页:计算虚拟页号、偏移和物理地址,估计页表容量与地址转换成本,区分转换缓存未命中和缺页,并分析页面置换与工作集。

    未开始
    阅读本章
  6. 30
    C04 · 操作系统 · 第 6 章 · 内存与文件 · 难度 3

    文件系统与崩溃恢复

    文件系统与崩溃恢复:介绍文件、目录与块索引,计算直接和间接索引的容量,分析多块更新、重做日志及同步接口,并检查不同中断位置的恢复结果。

    未开始
    阅读本章
06

计算机网络

网络分层、以太网、IP 路由、传输协议与网络测量。

  1. 31
    C05 · 计算机网络 · 第 1 章 · 链路与时延 · 难度 3

    网络分层与时延

    网络分层与时延:说明协议封装与网络分层,计算发送、传播、排队和多跳时延,并区分链路速率、有效吞吐量与往返时间。

    未开始
    阅读本章
  2. 32
    C05 · 计算机网络 · 第 2 章 · 链路与时延 · 难度 3

    以太网与交换

    以太网与交换:分析以太网帧、MAC 地址学习和广播范围,结合 ARP 与 VLAN 说明链路转发,并计算帧开销和有效数据速率。

    未开始
    阅读本章
  3. 33
    C05 · 计算机网络 · 第 3 章 · 路由与传输 · 难度 3

    IP 地址与路由

    IP 地址与路由:用二进制前缀计算 IPv4 子网与地址聚合,执行最长前缀匹配,并比较 IPv4 和 IPv6 的逐跳转发与分片规则。

    未开始
    阅读本章
  4. 34
    C05 · 计算机网络 · 第 4 章 · 路由与传输 · 难度 3

    UDP 与 TCP

    UDP 与 TCP:比较数据报与字节流服务,推算 TCP 序号和累计确认,说明连接状态、接收窗口、拥塞窗口与应用消息边界。

    未开始
    阅读本章
  5. 35
    C05 · 计算机网络 · 第 5 章 · 应用与测量 · 难度 3

    DNS、HTTP 与 TLS

    DNS、HTTP 与 TLS:说明 DNS 查询和缓存、HTTP 请求及条件验证、TLS 身份认证,按明确的握手假设计量首次 HTTPS 请求的时间。

    未开始
    阅读本章
  6. 36
    C05 · 计算机网络 · 第 6 章 · 应用与测量 · 难度 3

    网络测量与故障排查

    网络测量与故障排查:明确网络测量的端点、协议和时间范围,计算时延分位数与有效吞吐量,并结合地址、连接、ICMP 和抓包结果定位问题。

    未开始
    阅读本章
07

数据库

关系模型、SQL、数据规范化、索引、事务与恢复。

  1. 37
    C06 · 数据库 · 第 1 章 · 关系与查询 · 难度 3

    关系模型与键

    关系模型与键:介绍关系、元组、候选键与完整性约束,通过选课数据说明复合主键、外键、空值和投影查询。

    未开始
    阅读本章
  2. 38
    C06 · 数据库 · 第 2 章 · 关系与查询 · 难度 3

    SQL 查询与聚合

    SQL 查询与聚合:用学生成绩数据分析等值连接、外连接、分组聚合、空值与重复行,说明筛选位置和统计粒度对结果的影响。

    未开始
    阅读本章
  3. 39
    C06 · 数据库 · 第 3 章 · 设计与索引 · 难度 3

    函数依赖与规范化

    函数依赖与规范化:根据函数依赖计算属性闭包和候选键,分析无损连接、BCNF、第三范式与依赖保持,并给出分解反例。

    未开始
    阅读本章
  4. 40
    C06 · 数据库 · 第 4 章 · 设计与索引 · 难度 3

    索引与查询计划

    索引与查询计划:从数据页和索引高度估算访问数量,比较扫描与连接算法,说明选择率、执行计划和统计误差的关系。

    未开始
    阅读本章
  5. 41
    C06 · 数据库 · 第 5 章 · 事务与恢复 · 难度 3

    事务与隔离

    事务与隔离:分析事务边界、丢失更新、写偏差和冲突依赖,结合 PostgreSQL 隔离语义说明加锁、重试与提交确认。

    未开始
    阅读本章
  6. 42
    C06 · 数据库 · 第 6 章 · 事务与恢复 · 难度 3

    数据库日志与恢复

    数据库日志与恢复:说明缓冲页、预写日志和提交顺序,计算重做恢复结果,并区分检查点、日志归档、备份与时间点恢复。

    未开始
    阅读本章

路线检查点

  1. 完成 C00 · 编程与科学计算综合项目

    完成《编程与科学计算基础》后,检查各章练习的解答,并说明计算中使用的条件。

  2. 完成 C01 · 数据结构与算法综合复习

    完成《数据结构、算法与复杂度》后,检查各章练习的解答,并说明计算中使用的条件。

  3. 完成 C02 · 数据处理与实验设计综合复习

    完成《数据处理、实验设计与可复现计算》后,检查各章练习的解答,并说明计算中使用的条件。

  4. 完成 C03 · 输入输出与性能分析

    完成《计算机组成》后,检查各章练习的解答,并说明计算中使用的条件。

  5. 完成 C04 · 文件系统与崩溃恢复

    完成《操作系统》后,检查各章练习的解答,并说明计算中使用的条件。

  6. 完成 C05 · 网络测量与故障排查

    完成《计算机网络》后,检查各章练习的解答,并说明计算中使用的条件。

  7. 完成 C06 · 数据库日志与恢复

    完成《数据库》后,检查各章练习的解答,并说明计算中使用的条件。

路线综合练习

练习完成进度:0/7

难度 3/5

《编程与科学计算基础》综合练习

设计函数 sumFiniteIntegers(tokens),输入 ["1","2","bad","3"] 时采用“发现非法项即失败”策略。写出返回契约、失败结果和至少三个边界测试。

查看提示

解析与求和分开;失败对象要保留非法项索引,且失败时不得发布部分总和。

展开分步解答

契约可定义成功返回 {ok:true,sum:number,count:number},失败返回 {ok:false,index:number,token:string}。逐项解析到索引 2 时 "bad" 不是有限整数,因此返回 {ok:false,index:2,token:"bad"},不返回部分和 3。边界测试至少覆盖空数组成功得 0、负数可求和、首项非法立即失败以及超出安全整数范围失败。

结果核验:把 bad 改为 4 后应成功得到 sum=10、count=4;原输入的失败索引按零起始计数确为 2,且输出中没有可误用的 partialSum。

难度 4/5

《数据结构、算法与复杂度》综合练习

无向正权图边为 AB=1、AC=4、BC=2、BD=5、CD=1。用 Dijkstra 算法求从 A 到各点最短距离和到 D 的路径,并给出二叉堆实现复杂度。

查看提示

每次固定当前距离最小的未访问点,按 A、B、C、D 的顺序松弛。

展开分步解答

初始 d(A)=0。由 A 得 d(B)=1、d(C)=4;固定 B 后把 d(C) 改为 3、d(D) 改为 6;固定 C 后把 d(D) 改为 4;最后固定 D。距离为 A:0、B:1、C:3、D:4,到 D 的路径 A-B-C-D。邻接表加二叉堆复杂度为 O((V+E)logV)。

结果核验:路径权重 1+2+1=4;其余显然候选 A-C-D=5、A-B-D=6 都更长,所有边权为正满足 Dijkstra 前提。

难度 4/5

《数据处理、实验设计与可复现计算》综合练习

A/B 实验两组各 100 人,A 转化 20 人、B 转化 25 人。计算转化率差、合并比例标准误和 z 值,并判断是否达到双侧 1.96 阈值。

查看提示

合并比例 p=(20+25)/200;标准误为 √[p(1-p)(1/100+1/100)]。

展开分步解答

两组转化率为 0.20、0.25,差为 0.05。合并比例 p=0.225,标准误 √[0.225·0.775·0.02]≈0.0591,故 z=0.05/0.0591≈0.85,小于 1.96,不能按该预设阈值宣称差异显著。

结果核验:近似 95% 差值区间为 0.05±1.96·0.0591≈[-0.066,0.166],包含 0,与 z 判断一致。

难度 4/5

《计算机组成》综合练习

一个任务执行2000000 条指令,平均每条1.5 周期,频率为1.5 GHz;随后串行传输200000 字节,启动时间0.1 毫秒,带宽每秒 100000000 字节。求总时间以及处理器计算加速两倍后的总时间。

查看提示

先由指令数和频率求处理器时间,再把启动和数据传输时间相加。两阶段按题设串行执行。

展开分步解答

处理器时间为两毫秒,传输阶段为零点一加二,等于两点一毫秒,因此总计四点一毫秒。计算加速两倍后,计算阶段为一毫秒,传输阶段仍为两点一毫秒,总计三点一毫秒。

结果核验:两种方案的时间差均来自计算阶段减少的一毫秒;总加速比为四点一除以三点一,约一点三二。

难度 4/5

《操作系统》综合练习

两个线程各把同一计数器增加一次,初值为 0。说明未经同步的读改写为何可能只留下计数一,并设计既保护内存更新又向文件提交最终计数的顺序。假设写入成功后还要求文件同步完成。

查看提示

列出两个线程先后读取零的交错;锁保护共享内存的整个读改写,同步文件还需要单独的系统接口。

展开分步解答

若两个线程都先读到零,各自加一再写回,最终值为一。用同一互斥锁保护读取、加一和写回后,两次操作顺序执行,最终值为二。等待两线程完成后,由单一写入者把二写入文件,检查写入返回值,再调用文件同步接口并处理错误。

结果核验:互斥后的两次状态变化为零到一、一到二;若文件写入或同步失败,应保留失败状态,不能把内存计数二当作已经持久保存的证据。

难度 4/5

《计算机网络》综合练习

一条单向链路速率为每秒 100000000 位,传播时延为两毫秒。发送1000 字节分组,忽略排队、处理和协议头,求单向到达时间。说明两次不同时间测得的往返时延能否直接推导单向传播时延。

查看提示

先把字节换成位,计算发送时延,再叠加传播时间;往返测量还包含反向路径与应答处理。

展开分步解答

分组为八千位,发送时延为零点零八毫秒,加上两毫秒传播,单向到达时间为两点零八毫秒。往返结果还受反向路径、排队和响应端处理影响;只有额外假设路径对称且其他开销已知时才能按相应模型估计单向传播。

结果核验:八千除以一亿等于零点零零零零八秒,换算为零点零八毫秒。若链路速率加倍,传播时延保持两毫秒,单向总时间降为两点零四毫秒。

难度 4/5

《数据库》综合练习

账户甲余额 100 元,账户乙余额 50 元,事务把 20 元从甲转入乙。写出事务成功后的余额与总额不变量,并说明日志已提交但部分数据页尚未写回时,重做恢复需要达到什么结果。

查看提示

扣款和入款属于同一事务;持久提交记录决定事务结果,恢复需把已提交修改反映到数据页。

展开分步解答

成功后甲为八十、乙为七十,总额仍为一百五十。若持久日志完整记录了该事务且提交已经持久化,恢复应重做尚未反映到数据页的修改,最终恢复到八十与七十。重复应用日志需要依靠日志位置或幂等操作避免重复扣款。

结果核验:恢复后的余额和为八十加七十等于一百五十。只保留扣款会使总额变成一百三十,直接暴露事务原子性被破坏。