2021-12-10 00:24:25 +08:00

4.3 KiB
Raw Blame History

一个仅供参考的CS学习规划

计算机领域方向庞杂,知识浩如烟海,每个细分领域如果深究下去都可以说学无止境。因此,一个清晰明确的学习规划是非常重要的。这一节的内容是对后续整本书的内容的一个概览,你可以将其看作是这本书的目录,按需选择自己感兴趣的内容进行学习。

必学工具

俗话说磨刀不误砍柴工。如果你是一个刚刚接触计算机的24k纯小白学会一些工具将会让你事半功倍。

MIT-Missing-Semester这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。

翻墙由于一些众所周知的原因谷歌、Github等网站在大陆无法访问。然而很多时候谷歌和Stackoverflow可以解决你在开发过程中遇到的95%的问题。因此学会翻墙几乎是一个内地CSer的必备技能。考虑到法律问题这个文档提供的翻墙方式仅对拥有北大邮箱的用户适用

IDEIntegrated Development Environment集成开发环境说白了就是你写代码的地方。作为一个码农IDE的重要性不言而喻一个轻便的编辑器可以让你从产生一个编程点子到开始写代码之间只隔了一个快捷键。个人推荐常用的IDE是VSCode和Sublime准确的说Sublime只是一个编辑器但丰富的插件使它基本满足了我的轻量级编程需求。当然对于大型项目我还是会采用略重型的IDE例如PycharmPythonIDEAJava等等免责申明所有的IDE都是世界上最好的IDE

Vim一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器不过学会它我觉得是非常有必要的因为它将极大地提高你的开发效率。现在绝大多数IDE也都支持Vim插件让你在享受现代开发环境的同时保留极客的炫酷yue

Git一款代码版本控制工具。Git的学习曲线可能更为陡峭但出自Linux之父Linus之手的Git绝对是每个学CS的童鞋必须掌握的神器之一。

Github基于Git的代码托管平台。全世界最大的代码开源社区大佬集聚地。

Makefile一款工程构建工具。善用Makefile会让你养成代码模块化的习惯同时也能让你熟悉一些大型工程的编译链接流程。

LaTex逼格提升论文排版工具。

实用工具箱:除了上面提到的这些在开发中使用频率极高的工具之外,我还收集了很多实用有趣的免费工具,例如一些下载工具、设计工具、学习网站等等。

环境配置

你以为的开发 —— 在IDE里疯狂码代码数小时。

实际上的开发 —— 配环境配几天还没开始写代码。

under construction.

主线课程

under construction.

数学类

编程入门

系统入门

体系结构

操作系统

网络

编译原理

软件工程

人工智能

机器学习

深度学习

定制属于你的课程地图

授人以鱼不如授人以渔。

以上的课程规划难免有强烈的个人倾向和喜好,不一定适合所有人,更多的是抛砖引玉的作用。如果你想挑选自己感兴趣的方向和内容加以学习,可以参考我在下面列出来的资源。