我们都是迷失在璀璨梦境中的繁星,不顾一切只为点亮黑暗。
For English version please check here
点击这里阅读笔记
当我进入北大的物理学院学习以后,我发现对自己所学的专业兴趣不高。在学习与探索的过程中,我惊喜地发现自己对计算机科学兴趣浓厚。于是,我开始自学计算机相关课程,希望以后能在相关领域有所作为。然而,立志容易成志难。在自学的道路上,我遇到了许多令自己感到迷茫的问题。踌躇不前的我开始怀疑自己是否具备自学能力,也担忧自己能否自学成功。
万幸的是,我及时向自己的一位信科老师求助,老师热情的向我指点迷津,又向我推荐两位特别优秀的学长,让他们向我传授自己如何取得成功的经历。一位学长向我讲述自己在学术研究取得成功的秘诀,另一位学长向我推荐了CS自学指南。老师和学长用他们的倾囊相助,点燃我心中希望之光,我开始了自己的漫漫自学之路。
学习中,我详细地记录了学习笔记。随着笔记内容的不断增多,我突发奇想:“如果能把我所有自学的笔记整合起来,发布在自己的网页上,帮助像自己一样曾经止步不前的同行者,该有多好!”于是,这份笔记就幸运地诞生了,它也许并不向您期许的那样精准完美,但我会竭尽全力使这份笔记内容日渐完美。
-
本笔记的作者非计算机科学专业学生,笔记中难免有错误与疏漏,请您多多包涵!
-
本文中部分的图片来自维基百科,出于版权考虑并未对其进行修改,但是其中部分图片没有背景,在夜间模式下阅读效果可能不佳。笔记默认为夜间模式,建议您点击搜索栏左侧的按钮切换至日间模式。
-
本笔记在最终结束后会发布pdf文档,包括中文版,您将在release部分看到。
-
感谢您的阅读!欢迎各位朋友通过邮箱与我交流。
以下列表是我在完成这份笔记时所参考的内容。如果有作者的原创作品被使用却未被声明,或者被错误使用,请通过邮件与我联系删除,谢谢。
-
Algorithms Ⅰ & Ⅱ (Coursera) by Professor Robert Sedgewick & Kevin Wayne.
-
CS61B: Data Structures and Algorithms (UC Berkeley) by Professor Josh Hug and the rest of CS61B staff.
-
MIT 6.006: Introduction to Algorithms (MIT) by Professor Erik Demaine, Justin Solomonm, Dr. Jason Ku (Spring 2020).
-
By The original uploader was Jasampler at Spanish Wikipedia. - Transferred from es.wikipedia to Commons., Public Domain, https://commons.wikimedia.org/w/index.php?curid=1755344.
-
CS106L: Standard C++ Programming (Stanford University) by Professor Avery Wang, Anna Zeng and the rest of CS106L staff.
-
CS61B: Data Structures and Algorithms (UC Berkeley) by Professor Josh Hug and the rest of CS61B staff.
-
CS106B: Programming Abstractions (Stanford University) by Professor Marty Stepp and the rest of CS106B staff.
-
CS61A: Structure and Interpretation of Computer Programs (UC Berkeley) by Professor John DeNero and the rest of CS61A staff.
-
https://learn.microsoft.com/en-us/cpp/standard-library/cpp-standard-library-overview?view=msvc-170.
注意:CS61A和CS61B部分内容被用于面向对象编程部分。
-
CS61A: Structure and Interpretation of Computer Programs (UC Berkeley) by Professor John DeNero and the rest of CS61A staff.
-
CS61C: Great Ideas in Computer Architecture (UC Berkeley) by Professor Dan Garcia, Lecturer Stephan Kaminsky, Sean Farhat, Jenny Song, Peyrin Kao, and the rest of CS61C staff.
-
CMU 15-213: Introduction to Computer Systems (Carnegie Mellon University) by Professor Randal E. Briant, David R. O'Hallaron, Brian Railing, Phillip Gibbons, David Varodayan, Mohamed Farag, and the rest of CMU 15-213 staff.
-
Computer Systems: A Programmer's Perspective (3rd Edition) by Randal E. Bryant & David R. O'Hallaron.
-
By Aeroid - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=137790829.
- CS162: Operating System (UC Berkeley) by Professor John Kubiatowicz and the rest of CS162 staff.
- CS186: Introduction to Database Systems (UC Berkeley) by Professor Alvin Cheung, Joe Hellerstein and the rest of CS186 staff.
- CS110L: Safety in Systems Programming (Stanford University) by Ryan Eberhardt, Julio Ballista, Thea Rossman and the rest of CS110L staff.
笔记中不同颜色对应的含义如下:
- BlueViolet: 代表不同板块的内容。
- OrangeRed: 强调重点内容。
- DarkOrange: 表示定义。
- Fuchsia: 表示列表中不同内容。
- LawnGreen: 代表数学证明。
- IndianRed: 代表示例。
这份笔记致力于帮助更多的人,因此欢迎各种形式的贡献,包括但不限于提出issue,PR!
您可以通过以下方式来帮助提升文档质量:
- 提出issue
- PR
- 通过邮箱与我联系并指出错误:kekeandzeyu@gmail.com
这份笔记使用Writerside完成并发布。如果您不熟悉此软件,你也可以直接提出issue或者通过邮箱与我联系。
这个仓库用来存储发布的html文档;Computer-Science-Study-Notes 仓库 用来存储Writerside编辑时使用的文件。
本笔记遵循MIT License。
引用的其他作者的原创内容遵循原作者的许可证。
首先,我要向以上列表中所有教授、助教等表示感谢,感谢他们将自己渊博的知识无私地传授给我们这些初学者,也感谢他们将学习资料面向公众开放,这些宝贵的知识让我受益匪浅、终生难忘。
其次,我要向在自学过程中给予我帮助的师长和学长们表示感谢。
最后,我想把这部分留给我的母亲。感谢她数十年如一日倾尽心血养育我,为我不辞辛劳地默默的付出。在我自学计算机科学过程中,无论我遇到多么大的困难,她都在背后默默的支持我、鼓励我。这个小小的项目显然不能称作为一种“成功”,但是我想把我所有的小成就都归功于她。感谢她一直以来的陪伴与支持!