1. 研发入门V0.1
2. 前言
想到即将要看这篇文章的你,我的心情似乎突然复杂起来,好像时间回到了大一刚入门C语言的时候,抱着一本谭浩强的《C语言程序设计》将书中的代码一个个敲到IDE然后编译运行,转眼几年过去了。不过还是要怀着忐忑的心情给你们写(抄&编)一个(可能不那么正确)入门指导。因为不同人的思维方式和接触能力不一样,适合自己的学习入门方法才是最好的。
3. 希望获得的能力
- 能够学会通过搜索引擎解决问题
- 有一定的计算机基础,并且能够写一些简单的C语言程序
- 对计算机系统有一个基础的了解
4. 启蒙
完成Harvard CS50x (哈佛大学:计算机科学这里放B站)。教学语言涉及 C, PHP, JavaScript + SQL, HTML + CSS,内容的广度与深度十分合理,还能够了解到最新的一些科技成果,可以很好激发学习计算机的兴趣。支线任务:阅读《编码》
5. 计算机基础
如果有兴趣可以读一下这本书Computer Systems: A Programmer's Perspective, 3/E《深入理解计算机系统》
如果觉得自己的学习进度不够快也可以直接开始学习《C语言程序设计》,学的差不多了再回去看《深入理解计算机系统》,这本书对于理解计算机系统是有很大帮助的。
6. 数据结构与算法
学完了C语言和计算机系统之后,可以学习一下数据结构和算法吧。 推荐一下这个课浙江大学的数据结构,如果能够看完而且做完PAT上的习题,你的编程水平会有一个很大的提升。
7. 其他
- 学会提问:学习中肯定会遇到问题,应该学会正确的使用搜索引擎。当单靠检索无法解决问题时,去 Stack Overflow或知乎提问,提问前读读这篇文章:能有效解决问题的提问方法。
- 不要做一匹独狼:尝试在与他人交流想法。尝试搭建一个像这样简单的个人网站。试着在博客上记录自己的想法。收藏自己喜欢的编程类博客。
- 学好英语:英语是你获取高质量学习资源的主要工具,但在入门阶段,所看的那些翻译书信息损耗也没那么严重,以你自己情况权衡吧。
8. 参考资料
有许多内容是摘自以下资料,(如果你有空)强烈推荐去阅读原文