项目简介
该项目精选了一系列高质量的开源计算机科学课程,并提供学习路线和资源指南,帮助初学者通过自学系统掌握计算机基础与进阶内容,涵盖数学、编程、算法、系统、人工智能等方向。
README 预览
\n \n\n\n# CS 自学指南\n\n> _Everyone should enjoy CS if you have a good teacher to teach you a good course._\n\n\n\n[](https://csdiy.wiki)\n[](https://github.com/PKUFlyingPig/cs-self-learning/blob/master/LICENSE)\n[](https://github.com/PKUFlyingPig/cs-self-learning/issues)\n[](https://github.com/PKUFlyingPig/cs-self-learning)\n\n新冠肆虐,网课当道,CS 爆火,这一系列的事件都让自学计算机成为了一种潮流。\n\n随着欧美众多名校将质量极高的计算机课程全部开源,自学 CS 成了一件可操作性极强的事情。毫不夸张地说,只要你有毅力和兴趣,自学的成果完全不亚于你在国内任何一所大学受到的本科 CS 教育(当然,这里单指计算机专业领域,大学带给你的显然不止是专业知识)。\n\n我很庆幸在自己大一的时候就选择了自学 CS 这条路,它让我爱上了计算机这门学科,也无比丰富了我的视野。\n\n但同时,自学这条路也有很多困难和阻力:课程繁多不知如何选择,资料零散甚至残缺,作业难度不知深浅,课内任务还需要花时间应付······这些主客观因素叠加到一起,使得好课虽多,却只能在收藏夹里吃灰。\n\n在大学的第四个年头,我想把这一路自学走来的经验和教训,把那些让我受益终身的课程记录下来,分享给大家,形成了这本 CS 自学指南,以期能给所有想自学计算机的朋友一点帮助。\n\n我的目标是让一个刚刚接触计算机的小白,可以完全凭借这些开源社区的优质资源,少走弯路,在 2-3 年内成长为一个有扎实的数学功底和代码能力,经历过数十个千行代码量的 Project 的洗礼,掌握至少 C/C++/Java/JS/Python/Go/Rust 等主流语言,对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web 开发、云服务、超算等等方面均有所涉猎的全能程序员。此后,无论是选择科研还是就业,我相信你都会有相当的竞争力。\n\n你可以[在线免费阅读这本书](https://csdiy.wiki)。英文版请移步[这里](https://csdiy.wiki/en/)。\n\n## 如何成为贡献者\n\n一个人的力量终究是有限的,对于书中任意章节你若有想要补充的内容,欢迎各位提出 [Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)。如果你想贡献一门新的课程,可以参考目前 repo 中的 [template](./template.md) 文件作为模版,并在 [mkdocs.yml](./mkdocs.yml) 文件中添加其 navigation,当然你还可以在 [CS 学习规划](./docs/CS学习规划.md) 里的对应模块为其添加言简意赅的导语。如果你有想推荐的书籍,请参考 [好书推荐](https://raw.githubusercontent.com/PKUFlyingPig/cs-self-learning/master/docs/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90.md) 模块上方的注释按相应格式添加内容。\n\n对于中英混合排版的要点规范,可以参考[这个仓库](https://github.com/sparanoid/chinese-copywriting-guidelines/blob/master/README.zh-Hans.md),我们将会对您的 Pull Request 做相应的校对,具体原因参见这个 [issue](https://github.com/PKUFlyingPig/cs-self-learning/issues/114)。\n\n本书支持英文版,因此贡献的内容需要提供对应的英文翻译,具体流程可以参考这个 [issue](https://github.com/PKUFlyingPig/cs-self-learning/issues/222)。\n\n同时由于个人水平有限,书中难免有笔
常见问题 (5)
故障排除如何修复在 Windows 上克隆 Git 仓库时因文件名包含冒号导致的 'invalid filename' 错误?
出现该错误是因为 NTFS(Windows 的默认文件系统)将半角冒号(:)视为非法文件名字符,因此在 Windows 上克隆仓库时,Git 无法拉取包含该字符的文件。
解决方法:
1. 在远程仓库中重命名受影响的文件:可以将半角冒号替换为全角冒号(:),例如将 Create Neural Networks: Zero to Hero.md 重命名为 Create Neural Networks:Zero to Hero.md;或者使用下划线命名,例如重命名为 zero_to_hero.md。
2. 合并包含文件名修改的 pull request。
修复后,Windows 用户即可正常克隆和拉取该仓库。
故障排除如何修复文档中已过期的 MIT 18.330 教材链接?
将过时的“课程教材”/textbook URL 替换为作者的新地址:https://fncbook.com/。同时更新 docs/数学进阶/numerical.md 和 docs/数学进阶/numerical.en.md 两个文件,然后验证该链接是否打开了新的书籍网站。
故障排除如果 csdiy.wiki 上的 Z-Library 链接被屏蔽或无法使用,我该怎么办?
使用更新后的 Z-Library URL:https://singlelogin.re/。中文版请使用 https://zh.singlelogin.re。在相关页面或配置中,用此地址替换旧的已被屏蔽的 Z-Library 链接。
故障排除为什么 ASU CSE365 pwn.college 课程链接显示"not found"错误?
旧网址 https://dojo.pwn.college/cse365/ 已过时。请使用当前课程页面 https://pwn.college/cse365-f2023/。你还可以通过 pwn.college 官方 YouTube 播放列表访问课程资料:https://www.youtube.com/@pwncollege/playlists。如果该链接存储在代码仓库或文档中,请通过拉取请求(pull request)进行更新。
故障排除如何修复仅在一个页面上出现的 GitHub Pages 500 "The Unicorns have taken over" 错误?
这通常是该特定路径的 GitHub Pages/服务器端部署问题,而不是本地浏览器问题——清除缓存或更换浏览器都无济于事。作为一种变通方法,可以打开存档快照:https://web.archive.org/web/https://csdiy.wiki/%E5%BF%85%E5%A4%87%E5%B7%A5%E5%85%B7/workflow/。对于网站维护者,请验证页面文件是否存在于仓库中,检查确切的路径/大小写/中文字符,查看 GitHub Pages/Jekyll 构建日志,然后重新部署或重新提交受影响的页面。该问题后来被标记为已解决,因此重试原始 URL 也可能有效。