# CS 专业课程系统自学 — Resources

## 通用参考平台

- [OI Wiki](https://oi-wiki.org/)
  虽然是竞赛向，但语言基础、STL、数据结构、算法的讲解非常系统，代码示例丰富。

- [cppreference.com](https://zh.cppreference.com/)
  C/C++ 标准库官方级参考。查语法和库函数时首选。

- [CSDIY](https://csdiy.wiki/)
  北大信科同学整理的 CS 自学指南，涵盖大部分核心课程的学习路径和资源推荐。

- [Teach Yourself Computer Science](https://teachyourselfcs.com/)
  国外知名的 CS 自学路径，每门课推荐一本书+一个视频课程，偏重理论深度。

- [ACM 校队选拔训练计划](reference/acm-training-plan.html)
  自编：面向浙江中医药大学 ACM 校队提前入队的逐周计划 —— 每周 11-20 小时怎么花、比赛清单、入队要拿出的三张凭证、ACM 特有的非算法能力。配合 [学习路线图](reference/roadmap.html) 与 [刷题清单](reference/problem-list.html) 使用。

## 竞赛刷题（ACM 线）

> 目标：浙江中医药大学 ACM 校队提前入队。路线、节律与题单课号映射见 [ACM 校队选拔训练计划](reference/acm-training-plan.html)。

- [牛客「新手上路」题单（语法入门 + 算法入门）](https://www.nowcoder.com/discuss/353159015238672384) — 约 700 题，按知识点与难度排序；题量主线，映射到课号见训练计划第 4 节
- [精简版算法题单](https://ac.nowcoder.com/discuss/926597) — 时间紧时按它刷
- [算法进阶题单](https://ac.nowcoder.com/discuss/828697) — 算法入门专题全部掌握后再进
- [洛谷题单](https://www.luogu.com.cn/problem/list) — 课件配题来源，每课 2-3 题做验收
- [Codeforces](https://codeforces.com/) — div3 / div4 场次最适合现在，赛后必看题解与高分提交
- [牛客竞赛](https://ac.nowcoder.com/acm/contest/vip-index) — 国内场次多、题面中文，10/18 广工月赛就在这里

## 工具链：Git / GitHub · Linux / WSL2

> 并行支线，不占主线课时。目标：能用 Linux 命令行干活、用 Git 管住自己的所有代码。

- [Pro Git（中文版）](https://git-scm.com/book/zh/v2) — Git 官方书，第 1-3 章读完覆盖日常 90% 用法
- [Learn Git Branching](https://learngitbranching.js.org/?locale=zh_CN) — 可视化闯关练 branch / merge / rebase，比看书快
- [GitHub Skills](https://skills.github.com/) — GitHub 官方交互式教程，练 Issue、Pull Request、Actions
- [廖雪峰 Git 教程](https://www.liaoxuefeng.com/wiki/896043488029600) — 中文快速上手，先扫一遍建立印象
- [MIT Missing Semester（中文版）](https://missing-semester-cn.github.io/) — 命令行、Shell 脚本、Git、调试：CS 自学者最该先补的一门课
- [微软 WSL2 安装文档](https://learn.microsoft.com/zh-cn/windows/wsl/install) — Windows 上跑 Ubuntu，一条 `wsl --install`
- [VS Code Remote - WSL](https://code.visualstudio.com/docs/remote/wsl) — 在 VS Code 里直接编辑、调试 WSL 里的代码
- [《命令行的艺术》中文版](https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md) — 命令行技巧速查
- [鸟哥的 Linux 私房菜](https://linux.vbird.org/) — 中文 Linux 经典教材，当字典查

## 各课程核心资源

### 1. 程序设计基础
- [C++ Primer (第5版) — Stanley Lippman](https://book.douban.com/subject/25708312/) — C++ 最权威入门书
- [C 程序设计语言 (第2版) — K&R](https://book.douban.com/subject/1139336/) — C 语言经典，薄而精
- [cppreference.com](https://zh.cppreference.com/) — 日常查询
- [C 与 C++ 的兼容边界（实测速查）](reference/c-cpp-compatibility.html) — 自编：C 代码交给 C++ 编译器会遇到什么、混编为什么必须 `extern "C"`，每条结论都附本机真实报错原文
- [把 C++ 程序改写成 C（实测手册）](reference/cpp-to-c-porting.html) — 自编：该不该转的账、24 条速查对照表、逐项改写（容器/异常/多态/模板/RAII）、Dijkstra 完整案例、借编译器找障碍与迁移后验证清单

### 2. 离散数学
- [离散数学及其应用 (第8版) — Kenneth Rosen](https://book.douban.com/subject/34857844/) — 全球最通用的离散数学教材
- [OI Wiki — 数学部分](https://oi-wiki.org/math/) — 竞赛视角下的离散数学知识点

### 3. 面向对象程序设计
- [C++ Primer (第5版) — 第7、13、15章](https://book.douban.com/subject/25708312/) — 类、拷贝控制、OOP
- [Effective C++ — Scott Meyers](https://book.douban.com/subject/5387403/) — C++ 最佳实践

### 4. 数据结构与算法
- [算法总结（截至 0412）](reference/algorithms-summary.html) — 自编：一张总表回答「看到题该抓哪个工具」——BFS/DFS/拓扑/并查集/四种最短路/排序的复杂度、代码骨架、选型决策与 10 条易错清单，骨架全部编译验证过
- [《算法 (第4版)》— Sedgewick](https://book.douban.com/subject/19952400/) — 图文并茂，Java 实现但思路通用
- [VisuAlgo](https://visualgo.net/) — 算法可视化，直观理解数据结构运作
- [OI Wiki — 数据结构](https://oi-wiki.org/ds/)

### 5. 高级数据结构与算法
- [算法导论 (第4版) — CLRS](https://book.douban.com/subject/35925181/) — 算法圣经，按需查阅
- [算法设计 — Kleinberg & Tardos](https://book.douban.com/subject/35391618/) — 更偏算法设计思维

### 6-7. 数字电路 / 模拟电子
- [Digital Design (第6版) — Mano](https://book.douban.com/subject/30247174/) — 数字电路经典
- [Logisim](http://www.cburch.com/logisim/) — 数字电路模拟器，动手搭电路

### 8. 计算机组成原理
- [计算机组成与设计：硬件/软件接口 (RISC-V版) — Patterson & Hennessy](https://book.douban.com/subject/35285021/)
- [CSAPP (深入理解计算机系统) — Bryant & O'Hallaron](https://book.douban.com/subject/26912767/) — 神书，强烈推荐

### 9. 数据库系统原理
- [数据库系统概念 (第7版) — Silberschatz](https://book.douban.com/subject/34990193/)
- [SQLZoo](https://sqlzoo.net/) — 交互式 SQL 练习
- [SQLite](https://www.sqlite.org/) — 轻量数据库，随手练习

### 10. 操作系统
- [操作系统概念 (第10版) — Silberschatz](https://book.douban.com/subject/35576143/)
- [CSAPP — 第8-12章](https://book.douban.com/subject/26912767/) — 从程序员视角看操作系统
- [xv6](https://github.com/mit-pdos/xv6-riscv) — MIT 教学操作系统，源码精短可读

### 11. 计算机网络
- [计算机网络：自顶向下方法 (第8版) — Kurose & Ross](https://book.douban.com/subject/36081229/)
- [Wireshark](https://www.wireshark.org/) — 抓包实践

### 12. 软件工程
- [软件工程 (第10版) — Sommerville](https://book.douban.com/subject/26889354/)
- [GitHub](https://github.com/) — 实际参与开源项目是最好的软件工程实践

### 13. 编译原理
- [编译原理 (第2版) — 龙书](https://book.douban.com/subject/3296317/) — 经典但厚重
- [Crafting Interpreters](https://craftinginterpreters.com/) — 动手写解释器，循序渐进

## Wisdom (Communities)

- [CSDIY 中文社区](https://csdiy.wiki/) — 国内 CS 自学者聚集地
- [知乎 — 计算机科学话题](https://www.zhihu.com/topic/19557325) — 中文高质量讨论
- [r/learnprogramming](https://reddit.com/r/learnprogramming) — 初学者友好
- [Stack Overflow](https://stackoverflow.com/) — 遇到具体 bug 时首选
- 大学同学 / CS 社团 — 开学后最重要的学习社区

## 视频资源

- [黑马程序员 C++ 全套教程 (B站)](https://www.bilibili.com/video/BV1et411b73Z)
  从零基础到进阶的系统 C++ 视频课，覆盖语法、STL、数据结构、项目实战。
  建议：当课程的补充视频——学完一节 HTML 课想看视频讲解时，定位对应章节 2 倍速看。
  📄 [视频对照表](reference/video-map.html) — 313 节视频按七大部分整理，含每节时长与对应课程。
  对应关系（大概）：
  - 第 1-71 集：C++ 基础（变量、循环、数组、函数）→ 对应 Lesson 0003~0007
  - 第 72-105 集：核心编程（引用、函数重载、类与对象）→ 对应 Lesson 0008~0009
  - 第 106-139 集：提高篇（模板、STL）→ 对应 Lesson 0008、0011
- [CodeFather 编程导航 — C++ 教程](https://www.codefather.cn/course/1952312569338712065)
  从零基础到现代 C++ 的系统课程，涵盖基础语法、现代 C++ 特性、企业级项目实战，附视频/文字教程和面试题解。作为黑马之外的第二个视频参考。
- [C++ Primer Plus (第6版) — Stephen Prata](D:/c++/C++ Primer plus第6版（中文版）.pdf)
  比 C++ Primer 更适合零基础入门，讲解细致、例子多、节奏慢。用作遇到不明白的概念时翻阅，不适合通读。
## 前沿与趋势

- [C++ 参考 - Lambda 表达式](https://zh.cppreference.com/w/cpp/language/lambda)  匿名函数，sort 自定义比较时常用
- [C++ 参考 - 智能指针](https://zh.cppreference.com/w/cpp/memory)  unique_ptr / shared_ptr，告别手动 delete
- [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines)  C++ 之父维护的最佳实践指南
- [awesome-cpp](https://github.com/fffaraz/awesome-cpp)  C++ 开源库大全，了解 C++ 生态能做什么
- [CSDIY - AI / ML 路线](https://csdiy.wiki/)  大二后若有兴趣可参考
