mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-21 00:47:16 +08:00
Merge branch 'PKUFlyingPig:master' into master
This commit is contained in:
commit
63daea1b9e
61 changed files with 682 additions and 95 deletions
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
学会提问:也许你会惊讶,提问也算计算机必备技能吗,还放在第一条?我觉得在开源社区中,学会提问是一项非常重要的能力,它包含两方面的事情。其一是会变相地培养你自主解决问题的能力,因为从形成问题、描述问题并发布、他人回答、最后再到理解回答这个周期是非常长的,如果遇到什么鸡毛蒜皮的事情都希望别人最好远程桌面手把手帮你完成,那计算机的世界基本与你无缘了。其二,如果真的经过尝试还无法解决,可以借助开源社区的帮助,但这时候如何通过简洁的文字让别人瞬间理解你的处境以及目的,就显得尤为重要。推荐阅读[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)这篇文章,这不仅能提高你解决问题的概率和效率,也能让开源社区里无偿提供解答的人们拥有一个好心情。
|
||||
|
||||
[MIT-Missing-Semester](编程入门/MIT-Missing-Semester.md) 这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。
|
||||
[MIT-Missing-Semester](编程入门/MIT-Missing-Semester.md) 这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。不过需要注意的一点是,在课程中会不时提到一些与开发流程相关的术语。因此推荐至少在学完计算机导论级别的课程之后进行学习。
|
||||
|
||||
[翻墙](必学工具/翻墙.md):由于一些众所周知的原因,谷歌、GitHub 等网站在大陆无法访问。然而很多时候,谷歌和 StackOverflow 可以解决你在开发过程中遇到的 99% 的问题。因此,学会翻墙几乎是一个内地 CSer 的必备技能。(考虑到法律问题,这个文档提供的翻墙方式仅对拥有北大邮箱的用户适用)。
|
||||
|
||||
|
|
@ -20,6 +20,8 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是
|
|||
|
||||
[Vim](必学工具/Vim.md):一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器,不过学会它我觉得是非常有必要的,因为它将极大地提高你的开发效率。现在绝大多数 IDE 也都支持 Vim 插件,让你在享受现代开发环境的同时保留极客的炫酷(yue)。
|
||||
|
||||
[Emacs](必学工具/Emacs.md):与 Vim 齐名的经典编辑器,同样具有极高的开发效率,同时具有更为强大的扩展性,它既可以配置为一个轻量编辑器,也可以扩展成一个个人定制的 IDE,甚至可以有更多奇技淫巧。
|
||||
|
||||
[Git](必学工具/Git.md):一款代码版本控制工具。Git的学习曲线可能更为陡峭,但出自 Linux 之父 Linus 之手的 Git 绝对是每个学 CS 的童鞋必须掌握的神器之一。
|
||||
|
||||
[GitHub](必学工具/GitHub.md):基于 Git 的代码托管平台。全世界最大的代码开源社区,大佬集聚地。
|
||||
|
|
@ -58,7 +60,9 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是
|
|||
|
||||
### 服务器端环境配置
|
||||
|
||||
推荐一个非常不错的 GitHub 项目 [DevOps-Guide](https://github.com/Tikam02/DevOps-Guide),其中涵盖了非常多的运维方面的基础知识和教程,例如 Docker, Kubernetes, Linux, CI-CD, GitHub Actions 等等。
|
||||
服务器端的运维需要掌握 Linux(或者其他类 Unix 系统)的基本使用以及进程、设备、网络等系统相关的基本概念,小白可以参考中国科学技术大学 Linux 用户协会编写的[《Linux 101》在线讲义](https://101.lug.ustc.edu.cn/)。如果想深入学习系统运维相关的知识,可以参考 [Aspects of System Administration](https://stevens.netmeister.org/615/) 这门课程。
|
||||
|
||||
另外,如果需要学习某个具体的概念或工具,推荐一个非常不错的 GitHub 项目 [DevOps-Guide](https://github.com/Tikam02/DevOps-Guide),其中涵盖了非常多的运维方面的基础知识和教程,例如 Docker, Kubernetes, Linux, CI-CD, GitHub Actions 等等。
|
||||
|
||||
## 课程地图
|
||||
|
||||
|
|
@ -143,6 +147,7 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是
|
|||
|
||||
#### Python
|
||||
|
||||
- [CS50P: CS50's Introduction to Programming with Python](编程入门/CS50P.md)
|
||||
- [Harvard CS50: This is CS50x](编程入门/CS50.md)
|
||||
- [UCB CS61A: Structure and Interpretation of Computer Programs](编程入门/CS61A.md)
|
||||
|
||||
|
|
@ -177,7 +182,11 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是
|
|||
|
||||
### 数据结构与算法
|
||||
|
||||
算法是计算机科学的核心,也是几乎一切专业课程的基础。如何将实际问题通过数学抽象转化为算法问题,并选用合适的数据结构在时间和内存大小的限制下将其解决是算法课的永恒主题。如果你受够了老师的照本宣科,那么我强烈推荐伯克利的 [UCB CS61B: Data Structures and Algorithms](数据结构与算法/CS61B.md) 和普林斯顿的 [Coursera: Algorithms I & II](数据结构与算法/Algo.md),这两门课的都讲得深入浅出并且会有丰富且有趣的编程实验将理论与知识结合起来。此外,对一些更高级的算法以及 NP 问题感兴趣的同学可以学习伯克利的算法设计与分析课程 [UCB CS170: Efficient Algorithms and Intractable Problems](数据结构与算法/CS170.md)。
|
||||
算法是计算机科学的核心,也是几乎一切专业课程的基础。如何将实际问题通过数学抽象转化为算法问题,并选用合适的数据结构在时间和内存大小的限制下将其解决是算法课的永恒主题。如果你受够了老师的照本宣科,那么我强烈推荐伯克利的 [UCB CS61B: Data Structures and Algorithms](数据结构与算法/CS61B.md) 和普林斯顿的 [Coursera: Algorithms I & II](数据结构与算法/Algo.md),这两门课的都讲得深入浅出并且会有丰富且有趣的编程实验将理论与知识结合起来。
|
||||
|
||||
以上两门课程都是基于 Java 语言,如果你想学习 C/C++ 描述的版本,可以参考斯坦福的数据结构与基础算法课程 [Stanford CS106B/X: Programming Abstractions](编程入门/CS106B_CS106X.md)。偏好 Python 的同学可以学习 MIT 的算法入门课 [MIT 6.006: Introduction to Algorithms](数据结构与算法/6.006.md)
|
||||
|
||||
对一些更高级的算法以及 NP 问题感兴趣的同学可以学习伯克利的算法设计与分析课程 [UCB CS170: Efficient Algorithms and Intractable Problems](数据结构与算法/CS170.md) 或者 MIT 的高阶算法 [MIT 6.046: Design and Analysis of Algorithms](数据结构与算法/6.046.md)。
|
||||
|
||||
### 软件工程
|
||||
|
||||
|
|
@ -215,7 +224,7 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是
|
|||
|
||||
[MIT 6.S081: Operating System Engineering](操作系统/MIT6.S081.md),MIT 著名 PDOS 实验室出品,11 个 Project 让你在一个实现非常优雅的类Unix操作系统xv6上增加各类功能模块。这门课也让我深刻认识到,做系统不是靠 PPT 念出来的,是得几万行代码一点点累起来的。
|
||||
|
||||
[UCB CS162: Operating System](操作系统/CS162.md),伯克利的操作系统课,采用和 Stanford 同样的 Project —— 一个教学用操作系统 Pintos。我作为北京大学2022年春季学期操作系统实验班的助教,引入并改善了这个 Project,课程资源也会全部开源,具体参见[课程网站](https://https://pku-os.github.io/sp22/)。
|
||||
[UCB CS162: Operating System](操作系统/CS162.md),伯克利的操作系统课,采用和 Stanford 同样的 Project —— 一个教学用操作系统 Pintos。我作为北京大学2022年和2023年春季学期操作系统实验班的助教,引入并改善了这个 Project,课程资源也会全部开源,具体参见[课程网站](https://pku-os.github.io)。
|
||||
|
||||
[NJU: Operating System Design and Implementation](操作系统/NJUOS.md),南京大学的蒋炎岩老师开设的操作系统课程。蒋老师以其独到的系统视角结合丰富的代码示例将众多操作系统的概念讲得深入浅出,此外这门课的全部课程内容都是中文的,非常方便大家学习。
|
||||
|
||||
|
|
@ -239,6 +248,10 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是
|
|||
|
||||
[UCB CS161: Computer Security](系统安全/CS161.md) 是伯克利的系统安全课程,会涵盖栈攻击、密码学、网站安全、网络安全等等内容。
|
||||
|
||||
[ASU CSE365: Introduction to Cybersecurity](系统安全/CSE365.md) 亚利桑那州立大学的 Web 安全课程,主要涉及注入、汇编与密码学的内容。
|
||||
|
||||
[ASU CSE466: Computer Systems Security](系统安全/CSE466.md) 亚利桑那州立大学的系统安全课程,涉及内容全面。门槛较高,需要对 Linux, C 与 Python 充分熟悉。
|
||||
|
||||
#### 实践课程
|
||||
|
||||
掌握这些理论知识之后,还需要在实践中培养和锻炼这些“黑客素养”。[CTF 夺旗赛](https://ctf-wiki.org/)是一项比较热门的系统安全比赛,赛题中会融会贯通地考察你对计算机各个领域知识的理解和运用。北大今年也成功举办了[第 0 届和第 1 届](https://geekgame.pku.edu.cn/),鼓励大家后期踊跃参与,在实践中提高自己。下面列举一些我平时学习(摸鱼)用到的资源:
|
||||
|
|
|
|||
|
|
@ -15,5 +15,5 @@ Within a month, you will master the core content of designing, building, beautif
|
|||
## Resources
|
||||
|
||||
- Course Website: <https://weblab.mit.edu/schedule/>
|
||||
- Recordings: refer to the course website
|
||||
- Assignments: refer to the course website
|
||||
- Recordings: refer to the course website.
|
||||
- Assignments: refer to the course website.
|
||||
|
|
|
|||
BIN
docs/images/favicon.ico
Normal file
BIN
docs/images/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 963 B |
BIN
docs/images/mobile_icon.png
Normal file
BIN
docs/images/mobile_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
|
|
@ -4,9 +4,7 @@
|
|||
|
||||
# 前言
|
||||
|
||||
**最近更新:英文版正在[建设中](https://github.com/PKUFlyingPig/cs-self-learning/issues/222),增加陈天奇[机器学习编译](机器学习系统/MLC.md),增加 CMU [机器学习系统](机器学习系统/CMU10-414.md), 增加 [学习工作流](必学工具/workflow.md)**
|
||||
<!-- **最近更新:增加[Caltech CS 122: Database System Implementation](./数据库系统/CS122.md) ,重新整理[好书推荐](./%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90.md)模块 ~** -->
|
||||
<!-- **最近更新:增加南京大学[操作系统课程](操作系统/NJUOS.md),增加毕业论文[写作教程](必学工具/thesis.md) ~** -->
|
||||
**最近更新:[Release v1.0.1](https://github.com/PKUFlyingPig/cs-self-learning/releases/tag/v1.0.1) 已发布 🎉**
|
||||
|
||||
这是一本计算机的自学指南,也是对自己大学三年自学生涯的一个纪念。
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://inst.eecs.berkeley.edu/~cs188/fa18/index.html>
|
||||
- 课程视频:<https://inst.eecs.berkeley.edu/~cs188/fa18/index.html>,每节课的链接详见课程网站
|
||||
- 课程网站:[Fall 2022](https://inst.eecs.berkeley.edu/~cs188/fa22/),[Fall 2018](https://inst.eecs.berkeley.edu/~cs188/fa18/index.html)
|
||||
- 课程视频:[Fall 2022](https://inst.eecs.berkeley.edu/~cs188/fa22/),[Fall 2018](https://inst.eecs.berkeley.edu/~cs188/fa18/index.html),每节课的链接详见课程网站
|
||||
- 课程教材:Artificial intelligence: A Modern Approach
|
||||
- 课程作业:<https://inst.eecs.berkeley.edu/~cs188/fa18/index.html>,14个在线测评书面作业和 6 个Project
|
||||
- 课程作业:在线测评书面作业和 Projects,详见课程网站
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
## 课程简介
|
||||
|
||||
- 所属大学:Harvard
|
||||
- 先修要求:基本概率论 + Python基础
|
||||
- 先修要求:基本概率论 + Python 基础
|
||||
- 编程语言:Python
|
||||
- 课程难度:🌟🌟🌟
|
||||
- 预计学时:30 小时
|
||||
|
||||
一门非常基础的AI入门课,让人眼前一亮的是12个设计精巧的编程作业,都会用学到的AI知识去实现一个简易的游戏AI,比如用强化学习训练一个Nim游戏的AI,用alpha-beta剪枝去扫雷等等,非常适合新手入门或者大佬休闲。
|
||||
一门非常基础的 AI 入门课,让人眼前一亮的是 12 个设计精巧的编程作业,都会用学到的 AI 知识去实现一个简易的游戏 AI,比如用强化学习训练一个 Nim 游戏的 AI,用 alpha-beta 剪枝去扫雷等等,非常适合新手入门或者大佬休闲。
|
||||
|
||||
## 课程资源
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ In a word, this is the best computer architecture course I have ever taken.
|
|||
- Course Website: <https://cs61c.org/su20/>
|
||||
- Recordings: [Youtube](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqgoMQvogzmf7CKiSMSUS3M)
|
||||
- Textbook: None
|
||||
- Assignments: 11 Labs, 4 Projects, the course website has specific requirements
|
||||
- Assignments: 11 Labs, 4 Projects, the course website has specific requirements.
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS61C-summer20 - GitHub](https://github.com/PKUFlyingPig/CS61C-summer20)
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS61C-summer20 - GitHub](https://github.com/PKUFlyingPig/CS61C-summer20).
|
||||
|
|
|
|||
|
|
@ -23,6 +23,6 @@ After completing this course, your understanding of computer systems will defini
|
|||
- Course Website: <http://csapp.cs.cmu.edu/>
|
||||
- Recordings: <https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22>
|
||||
- Textbook: Computer Systems: A Programmer's Perspective, 3/E
|
||||
- Assignments: 11 Projects, [skeleton code all open source](http://csapp.cs.cmu.edu/3e/labs.html)
|
||||
- Assignments: 11 Projects, [skeleton code all open source](http://csapp.cs.cmu.edu/3e/labs.html).
|
||||
|
||||
If you have trouble with Chapter 7 Linking, I recommend reading the book *Programmer's Self-Cultivation*, subtitled link. load and library. This book can complete our understanding of program linking, and I believe after reading this book you will have a deeper comprehension of program linking, ELF files, and dynamic libraries. It is highly recommended to be read as a supplementary material after reading CSAPP and having a certain understanding of computer systems.
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@ There are 9 labs in the course. You will use the Basys 3 FPGA board and [Vivado]
|
|||
- Recordings: <https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2>
|
||||
- Textbook1: Patt and Patel, Introduction to Computing Systems
|
||||
- Textbook2: Harris and Harris, Digital Design and Computer Architecture (MIPS Edition)
|
||||
- Assignments: refer to the course website
|
||||
- Assignments: refer to the course website.
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
- 课程网站:[Nand2Tetris I](https://www.coursera.org/learn/build-a-computer/home/week/1), [Nand2Tetris II](https://www.coursera.org/learn/nand2tetris2/home/welcome)
|
||||
- 课程视频:详见课程网站
|
||||
- 课程教材:[计算机系统要素:从零开始构建现代计算机](book)
|
||||
- 课程教材:[计算机系统要素:从零开始构建现代计算机][book]
|
||||
- 课程作业:10 个 Project 带你造台计算机,具体要求详见课程网站
|
||||
|
||||
[book]: https://github.com/PKUFlyingPig/NandToTetris/blob/master/%5B%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E8%A6%81%E7%B4%A0%EF%BC%9A%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%8E%B0%E4%BB%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%5D.(%E5%B0%BC%E8%90%A8).%E5%91%A8%E7%BB%B4.%E6%89%AB%E6%8F%8F%E7%89%88.pdf
|
||||
|
|
|
|||
|
|
@ -51,12 +51,13 @@
|
|||
|
||||
- [Architecture of a Database System](https://dsf.berkeley.edu/papers/fntdb07-architecture.pdf) [[豆瓣](https://book.douban.com/subject/17665384/)]
|
||||
- [Readings in Database Systems](http://www.redbook.io/) [[豆瓣](https://book.douban.com/subject/2256069/)]
|
||||
- Database System Concepts [[豆瓣](https://book.douban.com/subject/10548379/)]
|
||||
- Database System Concepts : 7th Edition [[豆瓣](https://book.douban.com/subject/30345517/)]
|
||||
|
||||
## 编译原理
|
||||
|
||||
- Engineering a Compiler [[豆瓣](https://book.douban.com/subject/5288601/)]
|
||||
- Compilers: Principles, Techniques, and Tools [[豆瓣](https://book.douban.com/subject/1866231/)]
|
||||
- [Crafting Interpreters](https://craftinginterpreters.com/contents.html)[[豆瓣]](https://book.douban.com/subject/35548379/)[[开源中文翻译]](https://github.com/GuoYaxiang/craftinginterpreters_zh)
|
||||
|
||||
## 计算机编程语言
|
||||
|
||||
|
|
@ -113,7 +114,7 @@
|
|||
|
||||
- 设计模式: 可复用面向对象软件的基础 [[豆瓣](https://book.douban.com/subject/1052241/)]
|
||||
- 大话设计模式 [[豆瓣](https://book.douban.com/subject/2334288/)]
|
||||
- [Head First 设计模式](https://awesome-programming-books.github.io/design-pattern/HeadFirst%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.pdf) [[豆瓣](https://book.douban.com/subject/2243615/)]
|
||||
- Head First Design Patterns 2nd ed. [[豆瓣](https://book.douban.com/subject/35097022/)]
|
||||
|
||||
## 深度学习
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ The goal of this course is to provide a deep understanding of the fundamental pr
|
|||
- Course Website: [CMU15418](http://15418.courses.cs.cmu.edu/spring2016/), [CS149](https://gfxcourses.stanford.edu/cs149/fall21)
|
||||
- Recordings: <http://15418.courses.cs.cmu.edu/spring2016/lectures>
|
||||
- Textbook: None
|
||||
- Assignments: <https://gfxcourses.stanford.edu/cs149/fall21>, 5 assignments
|
||||
- Assignments: <https://gfxcourses.stanford.edu/cs149/fall21>, 5 assignments.
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS149-parallel-computing - GitHub](https://github.com/PKUFlyingPig/CS149-parallel-computing)
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS149-parallel-computing - GitHub](https://github.com/PKUFlyingPig/CS149-parallel-computing).
|
||||
|
|
|
|||
|
|
@ -17,12 +17,12 @@ This course is so famous that you can easily have access to the project solution
|
|||
## Resources
|
||||
|
||||
- Course Website: <https://pdos.csail.mit.edu/6.824/schedule.html>
|
||||
- Assignments: refer to the course website
|
||||
- Assignments: refer to the course website.
|
||||
- Textbook: None
|
||||
- Assignments: 4 torturing projects, the course website has specific requirements
|
||||
- Assignments: 4 torturing projects, the course website has specific requirements.
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/MIT6.824 - GitHub](https://github.com/PKUFlyingPig/MIT6.824)
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/MIT6.824 - GitHub](https://github.com/PKUFlyingPig/MIT6.824).
|
||||
|
||||
@[OneSizeFitsQuorum](https://github.com/OneSizeFitsQuorum) has written a [Lab Documentation](https://github.com/OneSizeFitsQuorum/MIT6.824-2021) that quite clearly describes many of the details to be considered when implementing lab 1-4 and challenge 1-2, you can read when you encounter bottlenecks ~ ~
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
- 课程网站:<https://pdos.csail.mit.edu/6.824/schedule.html>
|
||||
- 课程视频:参见课程网站链接
|
||||
- 课程视频中文翻译:<https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/>
|
||||
- 课程教材:无,以阅读论文为主
|
||||
- 课程作业:4 个非常虐的 Project,具体要求参见课程网站
|
||||
|
||||
|
|
|
|||
25
docs/必学工具/Emacs.en.md
Normal file
25
docs/必学工具/Emacs.en.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Emacs
|
||||
|
||||
## Why Emacs
|
||||
|
||||
Emacs is a powerful editor as famous as Vim. Emacs has almost all the benefits of Vim, such as:
|
||||
|
||||
- Everything can be done with keyboard only, as there are a large number of shortcuts to improve the efficiency of code editing.
|
||||
- Supporting both graphical and non-graphical interface in various scenarios.
|
||||
|
||||
Besides, the biggest difference between Emacs and most other editors lies in its powerful extensibility. Emacs kernel imposes no restrictions on users behaviors. With Emacs Lisp programming language, users is able to write any plugins to extend the functionality. After decades of development, Emacs' plugin ecosystem is arguably one of the richest and most powerful in the editor world. There is a joke saying that "Emacs is an OS that lacks a decent text editor". Futhermore, you can also write your own Emacs extensions with only a small amount of effort.
|
||||
|
||||
Emacs is friendly to Vim users as there is an extension called [evil](https://github.com/emacs-evil/evil) that migrate Vim operations into Emacs. Users can switch from Vim to Emacs with minimum effort. Statistics show that a considerable number of users would switch from Vim to Emacs, but there were almost no users who would switch from Emacs to Vim. In fact, the only weaknesss of Emacs is that it is not as efficient as Vim in pure text editing because of Vim's multi-modal editing. However, with Emacs' powerful extensibility, it can make up for its weaknesses by combining the strengths of both.
|
||||
|
||||
## How to learn Emacs
|
||||
|
||||
Same as Vim, Emacs also has a steep learning curve. But once you understand the basic underlying logic, you will never live without it.
|
||||
|
||||
There are plenty of tutorials for Emacs. Since Emacs is highly customizable, every user has their own learning path. Here are some good starting points:
|
||||
|
||||
- [This tutorial](https://www.masteringemacs.org/article/beginners-guide-to-emacs) is a brief guide to the basic logic of Emacs.
|
||||
- [Awesome Emacs](https://github.com/emacs-tw/awesome-emacs) lists a large number of useful Emacs packages, utilities, and libraries.
|
||||
|
||||
## Keyboard remapping
|
||||
|
||||
One of the most shortcomings of Emacs is the excessive use of the Ctrl key, which is a burden on your left little finger. It is highly recommended to change the keyboard mapping of the Ctrl key. Please refer to [Vim](Vim.en.md) for details to remapping.
|
||||
23
docs/必学工具/Emacs.md
Normal file
23
docs/必学工具/Emacs.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Emacs
|
||||
|
||||
## 为什么学习 Emacs
|
||||
|
||||
Emacs 是一个与 Vim 齐名的强大编辑器,事实上 Emacs 几乎具有 Vim 的所有好处,例如:
|
||||
|
||||
- 只需要键盘就可以完成所有操作,大量使用快捷键,具有极高的编辑效率。
|
||||
- 既可以在终端无图形界面的场景下使用,也可使用有图形界面的版本获得更现代、更美观的体验。
|
||||
|
||||
此外,Emacs 与其它大部分编辑器最大的不同就在于其强大的扩展性。Emacs 的内核没有对用户做出任何限制,使用 Emacs Lisp 编程语言可以为 Emacs 编写任意逻辑的插件来扩展 Emacs 的功能。经过几十年的积累,Emacs 的插件生态可谓编辑器中最为丰富和强大的生态之一。有一种说法是,“Emacs 表面上是个编辑器,其实是一个操作系统”。只要稍作学习,你也可以编写属于自己的 Emacs 扩展。
|
||||
|
||||
Emacs 对 Vim 用户也十分友好,有一个叫 [evil](https://github.com/emacs-evil/evil) 的插件可以让用户在 Emacs 中使用 Vim 的基本操作,只需要很低的迁移成本即可从 Vim 转到 Emacs。曾经有统计显示有相当一部分用户会从 Vim 转到 Emacs,但几乎没有用户从 Emacs 转到 Vim。事实上,Emacs 相对 Vim 最大的不足是纯文本编辑方面不如 Vim 的多模态编辑效率高,但凭借其强大的扩展性,Emacs 可以扬长避短,把 Vim 吸收进来,结合了二者的长处。
|
||||
|
||||
## 如何学习 Emacs
|
||||
|
||||
与 Vim 相同,Emacs 的学习曲线也比较陡峭,但一旦理解了 Emacs 的使用逻辑,就会爱不释手。然而,网上的 Emacs 资料大多不细致、不够准确,甚至有哗众取宠的嫌疑。
|
||||
|
||||
这里给大家推荐一个较新的中文教程[《专业 Emacs 入门》](https://www.zhihu.com/column/c_1440829147212279808),这篇教程比较系统和全面,且讲述相对比较耐心细致,在讲解 Emacs 基本逻辑的同时也给出了成套的插件推荐,读完后可以获得一个功能完善的、接近 IDE 的 Emacs,因此值得一读。学完教程只是刚刚开始,学会之后要经常使用,在使用中遇到问题勤于搜索和思考,最终才能得心应手。
|
||||
|
||||
## 关于键位映射
|
||||
|
||||
Emacs 的唯一缺点便是对 Ctrl 键的使用过多,对小手指不是很友好,强烈建议更改 Ctrl 键的键盘映射。更改映射的方式与 [Vim 教程](Vim.md)中的方法相同,这里不做赘述。
|
||||
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
LaTeX 是一种基于 TeX 的排版系统,由图灵奖得主 Lamport 开发,而 Tex 则是由 Knuth 最初开发,这两位都是计算机界的巨擘。当然开发者强并不是我们学习 LaTeX 的理由,LaTeX 和常见的所见即所得的 Word 文档最大的区别就是用户只需要关注写作的内容,而排版则完全交给软件自动完成。这让没有任何排版经验的普通人得以写出排版非常专业的论文或文章。
|
||||
|
||||
Berkeley计算机系教授 Christos Papadimitriou 曾说过一句半开玩笑的话:
|
||||
Berkeley 计算机系教授 Christos Papadimitriou 曾说过一句半开玩笑的话:
|
||||
|
||||
> Every time I read a LaTeX document, I think, wow, this must be correct!
|
||||
|
||||
|
|
@ -22,3 +22,11 @@ Berkeley计算机系教授 Christos Papadimitriou 曾说过一句半开玩笑的
|
|||
[Part-1]: https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-1
|
||||
[Part-2]: https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-2
|
||||
[Part-3]: https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-3
|
||||
|
||||
其他值得推荐的入门学习资料如下:
|
||||
|
||||
- 一份简短的安装 LaTeX 的介绍 [[GitHub](https://github.com/OsbertWang/install-latex-guide-zh-cn)] 或者 TEX Live 指南(texlive-zh-cn)[[PDF](https://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf)] 可以帮助你完成安装和环境配置过程
|
||||
- 一份(不太)简短的 LaTeX2ε 介绍(lshort-zh-cn)[[PDF](https://mirrors.ctan.org/info/lshort/chinese/lshort-zh-cn.pdf)] [[GitHub](https://github.com/CTeX-org/lshort-zh-cn)] 是由 CTEX 开发小组翻译的,可以帮助你快速准确地入门,建议通读一遍
|
||||
- 刘海洋的《LaTeX 入门》,可以当作工具书来阅读,有问题再查找,跳过 CTEX 套装部分
|
||||
- [现代 LaTeX 入门讲座](https://github.com/stone-zeng/latex-talk)
|
||||
- [一份其实很短的 LaTeX 入门文档](https://liam.page/2014/09/08/latex-introduction/)
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Scoop 社区仅维护安装配置,所有的软件都是从该软件官方提
|
|||
对于已经过时弃用的软件,Scoop 社区会将其从 [ScoopInstaller/Main](https://github.com/ScoopInstaller/Main) 中移除并将其添加到 [ScoopInstaller/Versions](https://github.com/ScoopInstaller/Versions) 中。如果你需要这些软件的话需要手动添加 bucket:
|
||||
|
||||
```powershell
|
||||
scoop bucket add version
|
||||
scoop bucket add versions
|
||||
scoop install python27
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,13 @@ Ctrl and Esc keys are probably two of the most used keys in Vim. However, these
|
|||
In order to make it easier to reach these keys, you can remap CapsLock to Esc or Ctrl.
|
||||
|
||||
On Windows, [Powertoys](https://learn.microsoft.com/en-us/windows/powertoys/) or [AutoHotkey](https://www.autohotkey.com/) can be used to achieve this goal.
|
||||
On macOS, you can remap keys in system settings, see this [page](https://vim.fandom.com/wiki/Map_caps_lock_to_escape_in_macOS).
|
||||
On macOS, you can remap keys in system settings, see this [page](https://vim.fandom.com/wiki/Map_caps_lock_to_escape_in_macOS). [Karabiner-Elements](https://karabiner-elements.pqrs.org/) also works.
|
||||
|
||||
A better solution is to make CapsLock function as Esc and Ctrl simultaneously. Click CapsLock to send Esc, hold CapsLock to use it as Ctrl key.
|
||||
A better solution is to make CapsLock function as Esc and Ctrl simultaneously. Click CapsLock to send Esc, hold CapsLock to use it as Ctrl key. Here's how to do it on different systems:
|
||||
|
||||
On Windows, this [AutoHotKey gist](https://gist.github.com/sedm0784/4443120) does just this.
|
||||
On macOS, this [karabiner rule](https://ke-complex-modifications.pqrs.org/#caps_lock_tapped_escape_held_left_control) does the magic.
|
||||
- [Windows](https://gist.github.com/sedm0784/4443120)
|
||||
- [MacOS](https://ke-complex-modifications.pqrs.org/#caps_lock_tapped_escape_held_left_control)
|
||||
- [Linux](https://www.jianshu.com/p/6fdc0e0fb266)
|
||||
|
||||
## Recommended References
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
Vim 的学习资料浩如烟海,但掌握它最好的方式还是将它用在日常的开发过程中,而不是一上来就去学各种花里胡哨的高级 Vim 技巧。个人推荐的学习路线如下:
|
||||
|
||||
- 先阅读[这篇 tutorial](https://missing.csail.mit.edu/2020/editors/),掌握基本的 Vim 概念和使用方式。
|
||||
- 先阅读[这篇 tutorial](https://missing.csail.mit.edu/2020/editors/),掌握基本的 Vim 概念和使用方式,不想看英文的可以阅读[这篇教程](https://github.com/wsdjeg/vim-galore-zh_cn)。
|
||||
- 用 Vim 自带的 `vimtutor` 进行练习,安装完 Vim 之后直接在命令行里输入 `vimtutor` 即可进入练习程序。
|
||||
- 最后就是强迫自己使用 Vim 进行开发,IDE 里可以安装 Vim 插件。
|
||||
- 等你完全适应 Vim 之后新的世界便向你敞开了大门,你可以按需配置自己的 Vim(修改 `.vimrc` 文件),网上有数不胜数的资源可以借鉴。
|
||||
|
|
@ -29,10 +29,11 @@ Vim 的学习资料浩如烟海,但掌握它最好的方式还是将它用在
|
|||
Windows 系统可以使用 [Powertoys](https://learn.microsoft.com/en-us/windows/powertoys/) 或者 [AutoHotkey](https://www.autohotkey.com/) 重映射键位。
|
||||
MacOS 系统提供了重映射键位的[设置](https://vim.fandom.com/wiki/Map_caps_lock_to_escape_in_macOS),另外也可以使用 [Karabiner-Elements](https://karabiner-elements.pqrs.org/) 重映射。
|
||||
|
||||
但更佳的做法是同时将 CapsLock 映射为 Ctrl 和 Esc,点按为 Esc,按住为 Ctrl。
|
||||
但更佳的做法是同时将 CapsLock 映射为 Ctrl 和 Esc,点按为 Esc,按住为 Ctrl。这是不同系统下的实现方法:
|
||||
|
||||
Windows 系统下,这个[AutoHotKey gist](https://gist.github.com/sedm0784/4443120) 实现了这个功能。
|
||||
MacOS 可以导入[这个 karabiner rule](https://ke-complex-modifications.pqrs.org/#caps_lock_tapped_escape_held_left_control) 重映射。
|
||||
- [Windows](https://gist.github.com/sedm0784/4443120)
|
||||
- [MacOS](https://ke-complex-modifications.pqrs.org/#caps_lock_tapped_escape_held_left_control)
|
||||
- [Linux](https://www.jianshu.com/p/6fdc0e0fb266)
|
||||
|
||||
## 推荐参考资料
|
||||
|
||||
|
|
|
|||
|
|
@ -2,21 +2,30 @@
|
|||
|
||||
## 下载工具
|
||||
|
||||
- [Libgen](http://libgen.is/): PDF电子书下载网站。
|
||||
- [z-epub](https://z-epub.com/): ePub电子书下载网站。
|
||||
- [bitdownloader](https://bitdownloader.io/): 油管视频下载器。
|
||||
- [zlibrary](https://z-lib.is/): 电子书下载网站(可能需要翻墙)。
|
||||
- [Sci-Hub](https://sci-hub.se/): Elbakyan 女神向你挥手,旨在打破知识壁垒的革命性网站。
|
||||
- [Library Genesis](http://libgen.is/): 电子书下载网站。
|
||||
- [Z-library](https://z-lib.is/): 电子书下载网站(在 [Tor](https://www.torproject.org/) 下运行较佳,[链接](http://loginzlib2vrak5zzpcocc3ouizykn6k5qecgj2tzlnab5wcbqhembyd.onion/))。
|
||||
- [Z-ePub](https://z-epub.com/): ePub 电子书下载网站。
|
||||
- [PDF Drive](https://www.pdfdrive.com/): PDF 电子书搜索引擎。
|
||||
- [MagazineLib](https://magazinelib.com/): PDF 电子杂志下载网站。
|
||||
- [BitDownloader](https://bitdownloader.io/): 油管视频下载器。
|
||||
- [qBittorrent](https://www.qbittorrent.org/download.php): BitTorrent 客户端。
|
||||
- [uTorrent](https://www.utorrent.com): BitTorrent 客户端。
|
||||
- [全国标准信息公共服务平台](https://std.samr.gov.cn/):各类标准查询和下载官方平台。
|
||||
- [标准知识服务系统](http://www.standards.com.cn/):检索与阅读所需标准。
|
||||
|
||||
## 设计工具
|
||||
|
||||
- [excalidraw](https://excalidraw.com/): 一款手绘风格的绘图工具,非常适合绘制课程报告或者PPT内的示意图。
|
||||
- [tldraw](https://www.tldraw.com/): 一个绘图工具,适合画流程图,架构图等。
|
||||
- [draw.io](https://app.diagrams.net/): 强大简洁的在线的绘图网站,支持流程图,UML图,架构图,原型图等等,支持 Onedrive, Google Drive, Github 导出,同时提供离线客户端。
|
||||
- [origamiway](https://www.origamiway.com/paper-folding-crafts-step-by-step.shtml): 手把手教你怎么折纸。
|
||||
- [thingiverse](https://www.thingiverse.com/): 囊括各类 2D/3D 设计资源,其 STL 文件下载可直接 3D 打印。
|
||||
- [iconfont](https://www.iconfont.cn/): 国内最大的图标和插画资源库,可用于开发或绘制系统架构图。
|
||||
- [turbosquid](https://www.turbosquid.com/): 可以购买各式各样的模型。
|
||||
- [flaticon](https://www.flaticon.com/): 可下载免费且高质量的图标。
|
||||
- [标准地图服务系统](http://bzdt.ch.mnr.gov.cn/): 可以下载官方标准地图。
|
||||
- [PlantUML](https://plantuml.com/zh/): 可以使用代码快速编写 UML 图。
|
||||
|
||||
## 编程相关
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Although it is tough, Stanford, Berkeley, JHU and many other top U.S. colleges h
|
|||
- Course Website: <https://cs162.org/>
|
||||
- Lecture Videos: <https://www.youtube.com/watch?v=YfHY0pvpRkk>, videos for each lecture can be found on the course website.
|
||||
- Textbook: [Operating Systems: Principles and Practice (2nd Edition)](http://ospp.cs.washington.edu/)
|
||||
- Assignments: <https://cs162.org/>, 6 Homework, 3 Projects, the course website has specific requirements
|
||||
- Assignments: <https://cs162.org/>, 6 Homework, 3 Projects, the course website has specific requirements.
|
||||
|
||||
## Personal Resources
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
Gilbert Strang, a great mathematician at MIT, still insists on teaching in his eighties. His classic text book [Introduction to Linear Algebra](https://math.mit.edu/~gs/linearalgebra/) has been adopted as an official textbook by Tsinghua University. After reading the PDF version, I felt deeply guilty and spent more than 200 yuan to purchase a genuine version in English as collection. The cover of this book is attached below. If you can fully understand the mathematical meaning of the cover picture, then your understanding of linear algebra will definitely reach a new height.
|
||||
|
||||

|
||||

|
||||
|
||||
In addition to the course materials, the famous Youtuber **3Blue1Brown**'s video series [The Essence of Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) are also great learning resources.
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
数学大牛 Gilbert Strang 老先生年逾古稀仍坚持授课,其经典教材 [Introduction to Linear Algebra](https://math.mit.edu/~gs/linearalgebra/) 已被清华采用为官方教材。我当时看完盗版 PDF 之后深感愧疚,含泪花了两百多买了一本英文正版收藏。下面附上此书封面,如果你能完全理解封面图的数学含义,那你对线性代数的理解一定会达到新的高度。
|
||||
|
||||

|
||||

|
||||
|
||||
配合油管数学网红 **3Blue1Brown** 的[线性代数的本质](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)系列视频食用更佳。
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# The Information Theory, Patter Recognition, and Neural Networks
|
||||
# The Information Theory, Pattern Recognition, and Neural Networks
|
||||
|
||||
## Descriptions
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# The Information Theory, Patter Recognition, and Neural Networks
|
||||
# The Information Theory, Pattern Recognition, and Neural Networks
|
||||
|
||||
## 课程简介
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ The course project [Bustub](https://github.com/cmu-db/bustub) is an educational
|
|||
## Resources
|
||||
|
||||
- Course Website: [Fall2019](https://15445.courses.cs.cmu.edu/fall2019/schedule.html), [Fall2020](https://15445.courses.cs.cmu.edu/fall2020/schedule.html), [Fall2021](https://15445.courses.cs.cmu.edu/fall2021/schedule.html)
|
||||
- Assignments: refer to the course website
|
||||
- Recording: refer to the course website.
|
||||
- Textbook: Database System Concepts
|
||||
- Assignments: 4 Projects
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ If you have more time you can try them all, and when you do not understand the t
|
|||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by [@ysj1173886760](https://github.com/ysj1173886760) in this course are maintained in [ysj1173886760/Learning:db - GitHub](https://github.com/ysj1173886760/Learning/tree/master/db)
|
||||
All the resources and assignments used by [@ysj1173886760](https://github.com/ysj1173886760) in this course are maintained in [ysj1173886760/Learning:db - GitHub](https://github.com/ysj1173886760/Learning/tree/master/db).
|
||||
|
||||
Due to Andy's request, the repository does not contain the source code for the project, only the solution for homework. In particular, for Homework1, [@ysj1173886760](https://github.com/ysj1173886760) wrote a shell script to help you evaluate your solution automatically.
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:[Fall2019](https://15445.courses.cs.cmu.edu/fall2019/schedule.html), [Fall2020](https://15445.courses.cs.cmu.edu/fall2020/schedule.html), [Fall2021](https://15445.courses.cs.cmu.edu/fall2021/schedule.html)
|
||||
- 课程网站:[Fall2019](https://15445.courses.cs.cmu.edu/fall2019/schedule.html), [Fall2020](https://15445.courses.cs.cmu.edu/fall2020/schedule.html), [Fall2021](https://15445.courses.cs.cmu.edu/fall2021/schedule.html), [Fall2022](https://15445.courses.cs.cmu.edu/fall2022/schedule.html)
|
||||
- 课程视频:课程网站免费观看
|
||||
- 课程教材:Database System Concepts
|
||||
- 课程作业:4 个 Project
|
||||
|
|
@ -24,6 +24,8 @@
|
|||
|
||||
在 Fall2021 中,第一个 Project 是做缓存池管理,第二个 Project 是做哈希索引,第四个 Project 是做并发控制。
|
||||
|
||||
在 Fall2022 中,与 Fall2021 相比只有哈希索引换成了 B+ 树索引,其余都一样。
|
||||
|
||||
如果大家有精力的话可以都去尝试一下,或者在对书中内容理解不是很透彻的时候,尝试用代码写一个会加深你的理解。
|
||||
|
||||
## 资源汇总
|
||||
|
|
|
|||
31
docs/数据库系统/15799.md
Normal file
31
docs/数据库系统/15799.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# CMU 15-799: Special Topics in Database Systems
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:CMU
|
||||
- 先修要求:CMU 15-445
|
||||
- 编程语言:C++
|
||||
- 课程难度:🌟🌟🌟
|
||||
- 预计学时:80 小时
|
||||
|
||||
这门课目前只开了两次:fall2013 和 spring2022,讨论了数据库领域的一些前沿主题。fall2013 讨论了 Streaming、Graph DB、NVM 等,spring2022 主要讨论 Self-Driving DBMS,都提供有相关论文。
|
||||
|
||||
spring2022 版课程任务:
|
||||
|
||||
任务一:基于 `PostgreSQL` 进行手动性能调优;
|
||||
|
||||
任务二:基于 [NoisePage Pilot](https://github.com/cmu-db/noisepage-pilot) 改进 Self-Driving DBMS,不限特性。
|
||||
|
||||
授课更贴近讲座的形式,编程任务较少。对一般同学可以开拓一下视野,对专精数据库的同学可能帮助较大。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程主页
|
||||
|
||||
- [CMU15-799 - Special Topics in Database Systems](https://15799.courses.cs.cmu.edu/fall2013)
|
||||
|
||||
- [CMU15-799 - Special Topics: Self-Driving Database Management Systems](https://15799.courses.cs.cmu.edu/spring2022/)
|
||||
|
||||
- 课程视频:暂无
|
||||
|
||||
- 课程作业:2 Projects + 1 Group Project
|
||||
|
|
@ -8,20 +8,23 @@
|
|||
- 课程难度:🌟🌟🌟🌟🌟
|
||||
- 预计学时:150 小时
|
||||
|
||||
RedBase 是 cs346 的一个项目,实现了一个简易的数据库系统,项目是高度结构化的。整个项目能够被分为以下几个部分(同时也是 4 个 lab 需要进行完善):
|
||||
RedBase 是 cs346 的一个项目,实现了一个简易的数据库系统,项目是高度结构化的。整个项目能够被分为以下几个部分(同时也是 4 个需要完善的 lab):
|
||||
|
||||
1. The record management component:记录管理组件。
|
||||
|
||||
2. The index component:B+ 索引管理。
|
||||
|
||||
3. The System Management Component:ddl语句、命令行工具、数据加载命令、元数据管理。
|
||||
|
||||
4. The Query Language Component:在这个部分需要实现 RQL Redbase 查询语言。RQL 要实现 select、insert、delete、update 语句。
|
||||
5. Extension Component:除了上述数据库系统的基本功能组件,还需要实现一个扩展组件,可以是Blob类型、 网络模块、连接算法、CBO优化器、OLAP、事务等。
|
||||
|
||||
5. Extension Component:除了上述数据库系统的基本功能组件,还需要实现一个扩展组件,可以是 Blob 类型、 网络模块、连接算法、CBO 优化器、OLAP、事务等。
|
||||
|
||||
RedBase 适合在学完 CMU-15445 后继续学习数据库系统中的其他组件,因为其代码量不多,可以方便的根据需要扩展代码。同时代码完全由 C++ 编写,也可以用于练习 C++ 编程技巧。
|
||||
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://web.stanford.edu/class/cs346/2015/>
|
||||
- 课程代码:<https://github.com/junkumar/redbase.git>
|
||||
- 课程教材:无
|
||||
- 课程作业:4 Projects + 1 Extension
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
## Description
|
||||
|
||||
- Offered by: UC Berkeley
|
||||
- Prerequisites: CS61A, Linear Algebra
|
||||
- Prerequisites: Data8, CS61A, Linear Algebra
|
||||
- Programming Languages: Python
|
||||
- Difficulty: 🌟🌟🌟
|
||||
- Class Hour: 80 hours
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
This is Berkeley's introductory course in data science, covering the basics of data cleaning, feature extraction, data visualization, machine learning and inference, as well as common data science tools such as Pandas, Numpy, and Matplotlib. The course is also rich in interesting programming assignments, which is one of the highlights of the course.
|
||||
|
||||
## Resources
|
||||
- Course Website: <https://ds100.org/fa21/>
|
||||
- Course Website: <https://ds100.org>
|
||||
- Records: refer to the course website
|
||||
- Textbook: <https://www.textbook.ds100.org/intro.html>
|
||||
- Assignments: refer to the course website
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
## 课程简介
|
||||
|
||||
- 所属大学:UC Berkeley
|
||||
- 先修要求:CS61A,线性代数
|
||||
- 先修要求:Data8, CS61A,线性代数
|
||||
- 编程语言:Python
|
||||
- 课程难度:🌟🌟🌟
|
||||
- 预计学时:80 小时
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://ds100.org/fa21/>
|
||||
- 课程网站:<https://ds100.org/>
|
||||
- 课程视频:参见课程网站
|
||||
- 课程教材:<https://www.textbook.ds100.org/intro.html>
|
||||
- 课程作业:参见课程网站
|
||||
|
|
|
|||
20
docs/数据结构与算法/6.006.en.md
Normal file
20
docs/数据结构与算法/6.006.en.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# MIT 6.006: Introduction to Algorithms
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: MIT
|
||||
- Prerequisites: Introductory level courses of programming (CS50/CS61A/CS106A or equivalent)
|
||||
- Programming Languages: Python
|
||||
- Difficulty: 🌟🌟🌟🌟🌟
|
||||
- Class Hour: 100 hours+
|
||||
|
||||
Probably the most precious course from the EECS department of MIT. Taught by Erik Demaine, one of the geniuses in Algorithms.
|
||||
|
||||
Compared with CS106B/X (Data structures and algorithms using C++), 6.006 emphasizes the algorithms more. It also covers several classical data structures such as AVL trees. You may use it to learn more about algorithms after CS106B/X.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: [Fall 2011](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/)
|
||||
- Recordings: [Fall 2011](https://www.bilibili.com/video/BV1b7411e7ZP)
|
||||
- Textbooks: Introduction to Algorithms (CLRS)
|
||||
- Assignments: [Fall 2011](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/pages/assignments/)
|
||||
20
docs/数据结构与算法/6.006.md
Normal file
20
docs/数据结构与算法/6.006.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# MIT 6.006: Introduction to Algorithms
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:MIT
|
||||
- 先修要求:计算机导论(CS50/CS61A or equivalent)
|
||||
- 编程语言:Python
|
||||
- 课程难度:🌟🌟🌟🌟🌟
|
||||
- 预计学时:100h+
|
||||
|
||||
MIT-EECS 系的瑰宝。授课老师之一是算法届的奇才 Erik Demaine. 相比较于斯坦福的 [CS106B/X](../编程入门/CS106B_CS106X.md)(基于 C++ 的数据结构与算法课程),该课程更侧重于算法方面的详细讲解。课程也覆盖了一些经典的数据结构,如 AVL 树等。个人感觉在讲解方面比 CS106B 更加详细,也弥补了 CS106B 在算法方面讲解的不足。适合在 CS106B 入门之后巩固算法知识。
|
||||
|
||||
不过该课程也是出了名的难,大家需要做好一定的心理准备。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:[Fall 2011](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/)
|
||||
- 课程视频:[Fall 2011](https://www.bilibili.com/video/BV1b7411e7ZP)
|
||||
- 课程教材:Introduction to Algorithms (CLRS)
|
||||
- 课程作业:[Fall 2011](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/pages/assignments/)
|
||||
22
docs/数据结构与算法/6.046.en.md
Normal file
22
docs/数据结构与算法/6.046.en.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# MIT 6.046: Design and Analysis of Algorithms
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: MIT
|
||||
- Prerequisites: Introductory level courses of Algorithms (6.006/CS61B/CS106B/CS106X or equivalent)
|
||||
- Programming Languages: Python
|
||||
- Difficulty: 🌟🌟🌟🌟🌟
|
||||
- Class Hour: 100 hours+
|
||||
|
||||
Part 2 of the MIT Algorithms Trilogy. Taught by Erik Demaine, Srini Devadas, and Nancy Lynch.
|
||||
|
||||
Compared with 6.006 where you just learn and use the algorithms directly, in 6.046 you will be required to learn a methodology to "Design and analyze" algorithms to solve certain problems. There are few programming exercises in this course, and most of the assignmnets are about proposing an algorithm and do some mathematical proofs. Therefore, it would be much harder than 6.006.
|
||||
|
||||
Part 3 of the MIT Algorithms Trilogy is 6.854 Advanced Algorithms. But for the most of the exercises you'll encounter in tests and job-hunting, 6.046 is definitely enough.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: [Spring 2015](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/)
|
||||
- Recordings: [Spring 2015](https://www.bilibili.com/video/BV1A7411E737)
|
||||
- Textbooks: Introduction to Algorithms (CLRS)
|
||||
- Assignments: [Spring 2015](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/pages/assignments/)
|
||||
22
docs/数据结构与算法/6.046.md
Normal file
22
docs/数据结构与算法/6.046.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# MIT 6.046: Design and Analysis of Algorithms
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:MIT
|
||||
- 先修要求:算法入门(6.006/CS61B/CS106B/CS106X or equivalent)
|
||||
- 编程语言:Python
|
||||
- 课程难度:🌟🌟🌟🌟🌟
|
||||
- 预计学时:100h+
|
||||
|
||||
6.006的后续课程。授课老师依旧是 Erik Demaine 和 Srini Devadas,此外还有一位新老师 Nancy Lynch.
|
||||
|
||||
相比较于“现学现用”的6.006,6.046更加侧重于如何运用课上所学到的内容举一反三,设计出一套完备的算法并能够证明该算法能解决相应的问题。虽然该课程在板书以及作业中的编程语言为 Python,但基本上没有编程作业;绝大部分的作业都是提出要求,然后需要学生进行算法设计以及合理性证明。所以该课程的难度又提高了一大截:)
|
||||
|
||||
在该门课程后还有一门 6.854 高级算法,但对于绝大多数考试以及应聘来说,学完该课程基本上已经能覆盖99%的题目了。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:[Spring 2015](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/)
|
||||
- 课程视频:[Spring 2015](https://www.bilibili.com/video/BV1A7411E737)
|
||||
- 课程教材:Introduction to Algorithms (CLRS)
|
||||
- 课程作业:[Spring 2015](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/pages/assignments/)
|
||||
22
docs/机器学习/CS229.en.md
Normal file
22
docs/机器学习/CS229.en.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# CS229: Machine Learning
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: Stanford
|
||||
- Prerequisite requirements: Advanced Mathematics, Probability Theory, Python, Solid mathematics skills
|
||||
- Programming Languages: None
|
||||
- Difficulty:🌟🌟🌟🌟
|
||||
- Class Hour: 100 hours
|
||||
|
||||
This is another ML course offered by Andrew Ng. Since it is graduate-level, it focuses more on the mathematical theory behind machine learning. If you are not satisfied with using off-the-shelf tools but want to understand the essence of the algorithm, or aspire to engage in theoretical research on machine learning, you can take this course. All the lecture notes are provided on the course website, written in a professional and theoretical way, requiring a solid mathematical background.
|
||||
|
||||
## Resources
|
||||
|
||||
- Course Website: <http://cs229.stanford.edu/syllabus.html>
|
||||
- Recordings: <https://www.bilibili.com/video/BV1JE411w7Ub>
|
||||
- Textbook: None, but the lecture notes is excellent.
|
||||
- Assignments: Not open to the public.
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS229 - GitHub](https://github.com/PKUFlyingPig/CS229).
|
||||
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
- 所属大学:CMU
|
||||
- 先修要求:系统入门(eg.15-213)、深度学习入门、基本的数学知识
|
||||
- 编程语言:N/A(据课程主页,要求熟悉Python、C/C++)
|
||||
- 课程难度:N/A
|
||||
- 预计学时:N/A
|
||||
- 编程语言:Python, C++
|
||||
- 课程难度:🌟🌟🌟
|
||||
- 预计学时:100小时
|
||||
|
||||
<!-- 用一两段话介绍这门课程,内容包括但不限于:
|
||||
(1)课程覆盖的知识点范围
|
||||
|
|
@ -15,15 +15,20 @@
|
|||
(4)自学这门课的注意点(踩过的坑、难度预警等等)
|
||||
(5)... ...
|
||||
-->
|
||||
这是 CMU 2022年秋季学期开设的一门新课,聚焦于深度学习框架的具体实现,课程 Project 会实现一个迷你的类似于 Pytorch 深度学习框架。课程免费提供了面向非 CMU 学生的在线版本,9月13日正式授课,作者持续跟进中。
|
||||
深度学习的快速发展和广泛使用很大程度上得益于一系列简单好用且强大的编程框架,例如 Pytorch 和 Tensorflow 等等。但大多数从业者只是这些框架的“调包侠”,对于这些框架内部的细节实现却了解甚少。如果你希望从事深度学习底层框架的开发,或者只是像我一样好奇这些框架的内部实现,那么这门课将会是一个很好的起点。
|
||||
|
||||
课程的内容大纲覆盖了深度学习系统“全栈”的知识体系。从现代深度学习系统框架的顶层设计,到自微分算法的原理和实现,再到底层硬件加速和实际生产部署。为了更好地掌握理论知识,学生将会在5个课程作业中从头开始设计和实现一个完整的深度学习库 Needle,使其能对计算图进行自动微分,能在 GPU 上实现硬件加速,并且支持各类损失函数、数据加载器和优化器。在此基础上,学生将实现几类常见的神经网络,包括 CNN,RNN,LSTM,Transformer 等等。
|
||||
|
||||
即使你是深度学习领域的小白也不必过于担心,课程将会循序渐进地从简单分类问题和反向传播优化讲起,一些相对复杂的神经网络都会有配套的 jupyter notebook 详细地描述实现细节。如果你有一定的相关基础知识,那么在学习完自微分部分的内容之后便可以直接上手课程作业,难度虽然不大但相信一定会给你带来新的理解。
|
||||
|
||||
这门课两位授课教师 [Zico Kolter](https://zicokolter.com/) 和 [Tianqi Chen](https://tqchen.com/) 将所有课程内容都发布了对应的开源版本,但在线评测账号和课程论坛的注册时间已经结束,只剩下框架代码里的本地测试供大家调试代码。或许可以期待明年秋季学期的课程还会发布相应的在线版本供大家学习。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://dlsyscourse.org>
|
||||
- 课程视频:N/A
|
||||
- 课程教材:N/A
|
||||
- 课程作业:TBA
|
||||
- 课程视频:<https://www.youtube.com/watch?v=qbJqOFMyIwg>
|
||||
- 课程作业:<https://dlsyscourse.org/assignments/>
|
||||
|
||||
## 资源汇总
|
||||
|
||||
TBA
|
||||
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/CMU10-714 - GitHub](https://github.com/PKUFlyingPig/CMU10-714) 中。
|
||||
|
|
|
|||
38
docs/系统安全/CSE365.en.md
Normal file
38
docs/系统安全/CSE365.en.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# ASU CSE365: Introduction to Cybersecurity
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: Arizona State University
|
||||
- Prerequisites: None
|
||||
- Programming Languages: C, Python, x86 assembly
|
||||
- Difficulty: 🌟🌟🌟🌟
|
||||
- Class Hour: Varying from person to person
|
||||
|
||||
An introductory course on web security at Arizona State University, the course contains several modules, mainly including:
|
||||
|
||||
- Program Misuse: Linux commandline, privilege escalation
|
||||
- Web fundamentals: http, server, intercept
|
||||
- Assembly: registers, memory, control flow
|
||||
- Cryptography: Symmetric/Asymmetric encryption, hashing, trust
|
||||
- Web security: Command/HTML/SQL/Stack injection
|
||||
|
||||
The course is mainly based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order.
|
||||
|
||||
For hackers with weak foundations, getting stuck is a normal phenomenon. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: <https://dojo.pwn.college/cse365/>
|
||||
- Recordings: See course website
|
||||
- Textbooks: None
|
||||
- Assignments: 7 modules (167 challenges)
|
||||
|
||||
## Personal Resources
|
||||
|
||||
- Lectures on YouTube: <https://youtube.com/pwncollege>
|
||||
- Live Broadcasts on Twitch: <https://twitch.tv/pwncollege>
|
||||
- Chat on Discord: <https://pwn.college/discord>
|
||||
- Open Source on GitHub: <https://github.com/pwncollege>
|
||||
- Contact us via Email: <pwn-college@asu.edu>
|
||||
|
||||
In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module.
|
||||
38
docs/系统安全/CSE365.md
Normal file
38
docs/系统安全/CSE365.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# ASU CSE365: Introduction to Cybersecurity
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:Arizona State University
|
||||
- 先修要求:无
|
||||
- 编程语言:C, Python, x86 assembly
|
||||
- 课程难度:🌟🌟🌟🌟
|
||||
- 预计学时:因人而异
|
||||
|
||||
亚利桑那州立大学 Web 安全的导论课,课程以模块化的形式构成,主要包含以下方面:
|
||||
|
||||
- Program Misuse: Linux commandline, privilege escalation
|
||||
- Web fundamentals: http, server, intercept
|
||||
- Assembly: registers, memory, control flow
|
||||
- Cryptography: Symmetric/Asymmetric encryption, hashing, trust
|
||||
- Web security: Command/HTML/SQL/Stack injection
|
||||
|
||||
课程以 Challenge 为主,Lectures and Reading 为辅。Challenge 中的习题以 CTF 的形式展开,难度依次递增。
|
||||
|
||||
对于基础较弱的学习者,卡关是正常现象。如果在解题过程中遇到困难,可以在首页 Chat 栏目中给出的 Discord Server 寻求帮助。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://dojo.pwn.college/cse365/>
|
||||
- 课程视频:参见课程网站
|
||||
- 课程教材:无
|
||||
- 课程作业:7 个模块(167 个 challenge)
|
||||
|
||||
## 资源汇总
|
||||
|
||||
- Lectures on YouTube: <https://youtube.com/pwncollege>
|
||||
- Live Broadcasts on Twitch: <https://twitch.tv/pwncollege>
|
||||
- Chat on Discord: <https://pwn.college/discord>
|
||||
- Open Source on GitHub: <https://github.com/pwncollege>
|
||||
- Contact us via Email: <pwn-college@asu.edu>
|
||||
|
||||
另外,出于评定 ASU 学生课程成绩的重要因素,官方不鼓励上传解题思路,每个模块的前两题除外。
|
||||
39
docs/系统安全/CSE466.en.md
Normal file
39
docs/系统安全/CSE466.en.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# ASU CSE466: Computer Systems Security
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: Arizona State University
|
||||
- Prerequisites: None
|
||||
- Programming Languages: C, Python, x86 assembly
|
||||
- Difficulty: 🌟🌟🌟🌟🌟
|
||||
- Class Hour: Varying from person to person
|
||||
|
||||
A hard-core course on system security at Arizona State University, the course contains several modules, mainly including:
|
||||
|
||||
- Linux commandline: Program misuse, program interaction
|
||||
- Shellcoding: Assembly, shellcode injection, prevention
|
||||
- Reverse Engineering: Function frame, static/dynamic reversing tools
|
||||
- Program Exploitation: Hijacking to shellcode, JIT spray
|
||||
- System Exploitation: Kernel modules, privilege escalation
|
||||
- Miscellaneous: Sandboxing, Memory Errors, Race conditions
|
||||
|
||||
Like CSE365, the course is also based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order.
|
||||
|
||||
The quality of the exercises is excellent, but some modules are quite difficult, especially the parts involving the kernel. Sometimes you'll spend a whole day struggling at one challenge with no progress. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: <https://dojo.pwn.college/cse466/>
|
||||
- Recordings: See course website
|
||||
- Textbooks: None
|
||||
- Assignments: 13 modules (358 challenges)
|
||||
|
||||
## Personal Resources
|
||||
|
||||
- Lectures on YouTube: <https://youtube.com/pwncollege>
|
||||
- Live Broadcasts on Twitch: <https://twitch.tv/pwncollege>
|
||||
- Chat on Discord: <https://pwn.college/discord>
|
||||
- Open Source on GitHub: <https://github.com/pwncollege>
|
||||
- Contact us via Email: <pwn-college@asu.edu>
|
||||
|
||||
In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module and challenge 16 in the reversing module.
|
||||
39
docs/系统安全/CSE466.md
Normal file
39
docs/系统安全/CSE466.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# ASU CSE466: Computer Systems Security
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:Arizona State University
|
||||
- 先修要求:无
|
||||
- 编程语言:C, Python, x86 assembly
|
||||
- 课程难度:🌟🌟🌟🌟🌟
|
||||
- 预计学时:因人而异
|
||||
|
||||
亚利桑那州立大学系统安全的核心课,课程以模块化的形式构成,主要包含以下方面:
|
||||
|
||||
- Linux commandline: Program misuse, program interaction
|
||||
- Shellcoding: Assembly, shellcode injection, prevention
|
||||
- Reverse Engineering: Function frame, static/dynamic reversing tools
|
||||
- Program Exploitation: Hijacking to shellcode, JIT spray
|
||||
- System Exploitation: Kernel modules, privilege escalation
|
||||
- Miscellaneous: Sandboxing, Memory Errors, Race conditions
|
||||
|
||||
与 CSE365 相同,课程以 Challenge 为主,Lectures and Reading 为辅。Challenge 中的习题以 CTF 的形式展开,难度依次递增。
|
||||
|
||||
习题质量挺高的,但某些模块难度较大,尤其是涉及到内核的部分,有的时候一天都写不出一道题。如果在解题过程中遇到困难,可以在首页 Chat 栏目中给出的 Discord Server 寻求帮助。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://dojo.pwn.college/cse466/>
|
||||
- 课程视频:参见课程网站
|
||||
- 课程教材:无
|
||||
- 课程作业:13 个模块(358 个 challenge)
|
||||
|
||||
## 资源汇总
|
||||
|
||||
- Lectures on YouTube: <https://youtube.com/pwncollege>
|
||||
- Live Broadcasts on Twitch: <https://twitch.tv/pwncollege>
|
||||
- Chat on Discord: <https://pwn.college/discord>
|
||||
- Open Source on GitHub: <https://github.com/pwncollege>
|
||||
- Contact us via Email: <pwn-college@asu.edu>
|
||||
|
||||
另外,出于评定 ASU 学生课程成绩的重要因素,官方不鼓励上传解题思路,每个模块的前两题与逆向部分的 16 题除外。
|
||||
|
|
@ -24,6 +24,6 @@ In the Final Project, you will build a remote file system, [SecFS](https://www.u
|
|||
## Resources
|
||||
|
||||
- Course Website: <http://css.csail.mit.edu/6.858/2022/>
|
||||
- Assignments: refer to the course website
|
||||
- Assignments: refer to the course website.
|
||||
- Textbook: None
|
||||
- Assignments: 4 Labs + Final Project / Lab5
|
||||
|
|
|
|||
|
|
@ -25,6 +25,6 @@ Personally, I find the concept of "futures" in Rust fascinating and elegant, and
|
|||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS110L - GitHub](https://github.com/PKUFlyingPig/CS110L)
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS110L - GitHub](https://github.com/PKUFlyingPig/CS110L).
|
||||
|
||||
Due to the rapid evolution of Rust, the libraries used in the 2020 version of the course project are obsolete, so [@fung-hwang](https://github.com/fung-hwang) tried to adapt these libraries (in November 2022). His adaptation advice and completed assignments are maintained in [fung-hwang/CS110L-2020spr - GitHub](https://github.com/fung-hwang/CS110L-2020spr). It is possible that Rust and these libraries will have changed again when you start to learn CS110L, but you can still refer to this repo for help.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ This course has been voted the most popular public course by Harvard students fo
|
|||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: <https://cs50.harvard.edu/x/2022/>
|
||||
- Recordings: <https://cs50.harvard.edu/x/2022/>
|
||||
- Assignments: <https://cs50.harvard.edu/x/2022/>
|
||||
- Course Website: [2022](https://cs50.harvard.edu/x/2022/), [2023](https://cs50.harvard.edu/x/2023/)
|
||||
- Recordings: [2022](https://cs50.harvard.edu/x/2022/), [2023](https://cs50.harvard.edu/x/2023/)
|
||||
- Assignments: [2022](https://cs50.harvard.edu/x/2022/), [2023](https://cs50.harvard.edu/x/2023/)
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @mancuoj in this course are maintained in [mancuoj/CS50x - GitHub](https://github.com/mancuoj/CS50x).
|
||||
|
|
@ -12,7 +12,11 @@
|
|||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://cs50.harvard.edu/x/2022/>
|
||||
- 课程视频:<https://cs50.harvard.edu/x/2022/>
|
||||
- 课程网站:[2022](https://cs50.harvard.edu/x/2022/), [2023](https://cs50.harvard.edu/x/2023/)
|
||||
- 课程视频:[2022](https://cs50.harvard.edu/x/2022/), [2023](https://cs50.harvard.edu/x/2023/)
|
||||
- 课程教材:无
|
||||
- 课程作业:<https://cs50.harvard.edu/x/2022/>
|
||||
- 课程作业:[2022](https://cs50.harvard.edu/x/2022/), [2023](https://cs50.harvard.edu/x/2023/)
|
||||
|
||||
## 资源汇总
|
||||
|
||||
@mancuoj 在学习这门课中用到的所有资源和作业实现都汇总在 [mancuoj/CS50x - GitHub](https://github.com/mancuoj/CS50x) 中。
|
||||
24
docs/编程入门/CS50P.en.md
Normal file
24
docs/编程入门/CS50P.en.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# CS50P Introduction to Programming with Python
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: Harvard University
|
||||
- Prerequisites: No prerequisites
|
||||
- Programming Languages: Python
|
||||
- Difficulty: 🌟🌟
|
||||
- Class Hour: 30-40 hours
|
||||
|
||||
One of the CS50 families, taught by David J. Malan. You'll learn how to program in Python and "Pythonic" ways to deal with everthing. The course also introduces libraries, code testing, and handling exceptions.
|
||||
|
||||
No programming experiences are assumed. So it may be appropriate for anyone who wants to learn Python.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: [2022](https://cs50.harvard.edu/python/2022/)
|
||||
- Recordings: [2022](https://www.bilibili.com/video/BV1z5411X7wX)
|
||||
- Textbooks: No textbook required
|
||||
- Assignments: [2022](https://cs50.harvard.edu/python/2022/)
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @mancuoj in this course are maintained in [mancuoj/CS50P - GitHub](https://github.com/mancuoj/CS50P).
|
||||
24
docs/编程入门/CS50P.md
Normal file
24
docs/编程入门/CS50P.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# CS50P Introduction to Programming with Python
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:Harvard University
|
||||
- 先修要求:无
|
||||
- 编程语言:Python
|
||||
- 课程难度:🌟🌟
|
||||
- 预计学时:30-40 hours
|
||||
|
||||
CS50的番外篇,依旧由 David J. Malan 授课。在该课程中你将学会 Python 的基础与进阶语法,以及各种 “Pythonic” 的编程方法。此外对于 Python 特色的代码库、代码测试以及错误处理,该课程也会较为深入地探究。
|
||||
|
||||
该课程无需任何编程基础,且相对平易近人。适合所有想要快速入门 Python 语言的各阶段学生。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:[2022](https://cs50.harvard.edu/python/2022/)
|
||||
- 课程视频:[2022](https://www.bilibili.com/video/BV1z5411X7wX)
|
||||
- 课程教材:无
|
||||
- 课程作业:[2022](https://cs50.harvard.edu/python/2022/)
|
||||
|
||||
## 资源汇总
|
||||
|
||||
@mancuoj 在学习这门课中用到的所有资源和作业实现都汇总在 [mancuoj/CS50P - GitHub](https://github.com/mancuoj/CS50P) 中。
|
||||
|
|
@ -27,6 +27,7 @@ CS61B 和 CS61C 在本书中均有收录。
|
|||
- 课程网站:<https://inst.eecs.berkeley.edu/~cs61a/su20/>
|
||||
- 课程视频: 参见课程网站链接
|
||||
- 课程教材:<http://composingprograms.com/>
|
||||
- 课程教材中文翻译:<https://composingprograms.netlify.app/>
|
||||
- 课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。
|
||||
|
||||
## 资源汇总
|
||||
|
|
|
|||
38
docs/编程入门/Haskell-MOOC.en.md
Normal file
38
docs/编程入门/Haskell-MOOC.en.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Haskell MOOC
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: University of Helsinki
|
||||
- Prerequisites: None
|
||||
- Programming Languages: Haskell
|
||||
- Difficulty: 🌟🌟
|
||||
- Class Hour: Varying according to the learner
|
||||
|
||||
Functional programming is increasingly being integrated into modern programming languages. Streams in Java, Promises in JavaScript, and Record & Tuple in the draft phase of ECMAScript... When I was learning these things, I always felt like I was memorizing the behaviours of their API, and although I was able to write some programs using them, I never felt like I had mastered them. Why do they exist? Why are they like that? What is the idea behind their design? Learning functional programming will give you the answer.
|
||||
|
||||
Its core ingredient is functional programming. Just like Java is probably the default choice for teaching object-oriented programming.
|
||||
|
||||
This course will teach just enough Haskell syntax, library functions, and a small number of tools to explain the core program semantics and the core idea of functional programming. This will save you time not getting bogged down in the details of the language and its ecology, which I think is the biggest advantage of the course.
|
||||
|
||||
Topics covered in the course:
|
||||
|
||||
- Pure Function
|
||||
- Lazy Evaluation
|
||||
- Strongly Typed
|
||||
- Type Inferred
|
||||
- Curry
|
||||
- Monoid / Functor / Monad / Applicative
|
||||
|
||||
If you have some programming experience, part 1 of the course is very easy. Most of the difficulties lie in part 2, after chap 13. Its exercises are great, which can give you a feeling of doing exercise of [CS61A](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/). There are enough hints in the comments and the solutions will be given to you after submission, and you can ask questions or discuss them with others in the official Telegram community.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: <https://haskell.mooc.fi/>
|
||||
- Recordings: None
|
||||
- Textbooks: <https://haskell.mooc.fi/>
|
||||
- Assignments: <https://github.com/moocfi/haskell-mooc>
|
||||
- Community: <https://t.me/haskell_mooc_fi>
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @showtheunli in this course are maintained in [showthesunli/haskell-mooc - GitHub](https://github.com/showthesunli/haskell-mooc). (It is highly discouraged to refer to other people's implementations when working on assignments.)
|
||||
38
docs/编程入门/Haskell-MOOC.md
Normal file
38
docs/编程入门/Haskell-MOOC.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Haskell MOOC
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:University of Helsinki
|
||||
- 先修要求:无
|
||||
- 编程语言:Haskell
|
||||
- 课程难度:🌟🌟
|
||||
- 预计学时:因人而异
|
||||
|
||||
函数式编程正在越来越多的融合入现代编程语言。Java 的 Streams,JavaScript 的 Promises,以及在 ECMAScript 草案阶段的 Record & Tuple。在学习这些内容时,我总是感觉我在死记它们这些 api 的行为,虽然能够使用它们写出一些程序,但总感觉不到掌握了它们。究其原因,它们为什么存在?它们为什么是这样的?设计它们的思想是什么?学完函数式编程会给你答案。
|
||||
|
||||
虽然这门课的名字是 Haskell,但它的核心内容是函数式编程思想。就像学习面向对象程序设计,大概率不会选择 Java 之外的语言。
|
||||
|
||||
学习 Haskell,但重点不在于使用它。这门课会让你用刚刚够用的 Haskell 语法,刚刚够用的库函数,一丁点的工具,去解释核心的程序语义,也就是函数式编程的核心思想。这不会让你浪费时间陷入语言细节以及语言生态中,我觉得它是这门课的最大优势。
|
||||
|
||||
这门课覆盖的内容:
|
||||
|
||||
- Pure Function
|
||||
- Lazy Evaluation
|
||||
- Strongly Typed
|
||||
- Type Inferred
|
||||
- Curry
|
||||
- Monoid / Functor / Monad / Applicative
|
||||
|
||||
如果你有编程经验,课程的 Part1 很简单,难度集中在 Part2 的十三章之后。课程的练习很棒,它有一种在做 [CS61a](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/) 练习的感觉。练习的注释中有足够的提示,作业在你提交之后会给你标准答案,你还可以在官方的 Telegram 中提问或与他人讨论。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:<https://haskell.mooc.fi/>
|
||||
- 课程视频:无
|
||||
- 课程教材:<https://haskell.mooc.fi/>
|
||||
- 课程作业:<https://github.com/moocfi/haskell-mooc>
|
||||
- 社区:<https://t.me/haskell_mooc_fi>
|
||||
|
||||
## 资源汇总
|
||||
|
||||
@showtheunli 在学习这门课中用到的所有资源和作业实现都汇总在 [showthesunli/haskell-mooc - GitHub](https://github.com/showthesunli/haskell-mooc) 中。(非常不建议在作业时,参考别人的实现)
|
||||
|
|
@ -14,5 +14,7 @@
|
|||
## 课程资源
|
||||
|
||||
- 课程网站:<https://missing.csail.mit.edu/2020/>
|
||||
- 课程中文网站: <https://missing-semester-cn.github.io/>
|
||||
- 课程视频:<https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J>
|
||||
- 课程中文字幕视频(未完): <https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click>
|
||||
- 课程作业:一些随堂小练习,具体见课程网站。
|
||||
|
|
|
|||
21
docs/计算机图形学/15462.en.md
Normal file
21
docs/计算机图形学/15462.en.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# CMU 15-462 : COMPUTER GRAPHICS
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: CMU
|
||||
- Prerequisites: Basic vector calculus and linear algebra , basic C/C++ programming skills.
|
||||
- Programming Languages: C/C++
|
||||
- Difficulty: 🌟🌟🌟🌟
|
||||
- Class Hour: 100 hours
|
||||
|
||||
This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: [http://15462.courses.cs.cmu.edu/fall2022/](http://15462.courses.cs.cmu.edu/fall2022/)
|
||||
- Recordings: [Youtube](https://www.youtube.com/watch?v=W6yEALqsD7k&list=PL9_jI1bdZmz2emSh0UQ5iOdT2xRHFHL7E&index=1)
|
||||
- Textbooks: There is no required textbook for 15-462, though a variety of books may provide good supplementary material:
|
||||
- [Fundamentals of Computer Graphics. A K Peters, 2009](http://www.amazon.com/Fundamentals-Computer-Graphics-Peter-Shirley/dp/1568814690)
|
||||
- [Computer Graphics: Principles and Practice](http://www.amazon.com/Computer-Graphics-Principles-Practice-3rd/dp/0321399528/ref=sr_1_2?s=books&ie=UTF8&qid=1440872554&sr=1-2&keywords=foundations+of+3d+computer+graphics)
|
||||
- [Physically Based Rendering: From Theory to Implementation](http://www.amazon.com/gp/product/0123750792?ie=UTF8&tag=pharr-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0123750792)
|
||||
- Assignments: refer to the course website
|
||||
23
docs/计算机图形学/15462.md
Normal file
23
docs/计算机图形学/15462.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# CMU 15-462 : COMPUTER GRAPHICS
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:CMU
|
||||
- 先修要求:基础的向量微积分和线性代数 , 基础的 C/C++ 编程能力。
|
||||
- 编程语言:C/C++
|
||||
- 课程难度:🌟🌟🌟🌟
|
||||
- 预计学时:100 小时
|
||||
|
||||
本课程全面介绍了计算机图形学。它侧重于基本概念和技术,以及它们与图形中多个问题领域(渲染、动画、几何、成像)的交叉关系。主题包括:采样、混叠、插值、光栅化、几何变换、参数化、可见性、合成、过滤、卷积、曲线和曲面、几何数据结构、细分、网格划分、空间层次结构、光线追踪、辐射测量、反射率、光场、几何光学,蒙特卡洛渲染,重要性采样,相机模型,高性能光线追踪,微分方程,时间积分,数值微分,基于物理的动画,优化,数值线性代数,逆运动学,傅立叶方法,数据拟合.
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:[http://15462.courses.cs.cmu.edu/fall2022/](http://15462.courses.cs.cmu.edu/fall2022/)
|
||||
- 课程视频:
|
||||
- [Youtube](https://www.youtube.com/watch?v=W6yEALqsD7k&list=PL9_jI1bdZmz2emSh0UQ5iOdT2xRHFHL7E&index=1)
|
||||
- [bilibili](https://www.bilibili.com/video/BV1QZ4y1K7ga)
|
||||
- 课程教材:15-462 没有唯一的课本, 提供了各种书籍供你参考. 如下:
|
||||
- [Fundamentals of Computer Graphics. A K Peters, 2009](http://www.amazon.com/Fundamentals-Computer-Graphics-Peter-Shirley/dp/1568814690)
|
||||
- [Computer Graphics: Principles and Practice](http://www.amazon.com/Computer-Graphics-Principles-Practice-3rd/dp/0321399528/ref=sr_1_2?s=books&ie=UTF8&qid=1440872554&sr=1-2&keywords=foundations+of+3d+computer+graphics)
|
||||
- [Physically Based Rendering: From Theory to Implementation](http://www.amazon.com/gp/product/0123750792?ie=UTF8&tag=pharr-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0123750792)
|
||||
- 课程作业:参见课程主页
|
||||
|
|
@ -28,6 +28,6 @@ In the 2016 spring, the course open-sourced all of its programming assignments,
|
|||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/ MIT6.031-Software-Engineering - GitHub](https://github.com/PKUFlyingPig/MIT6.031-software-construction)
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/ MIT6.031-Software-Engineering - GitHub](https://github.com/PKUFlyingPig/MIT6.031-software-construction).
|
||||
|
||||
@pengzhangzhi completed the assignments and took some notes, maintained at [pengzhangzhi/self-taught-CS/Software Construction - Github](https://github.com/pengzhangzhi/self-taught-CS/tree/main/Software%20Construction)
|
||||
@pengzhangzhi completed the assignments and took some notes, maintained at [pengzhangzhi/self-taught-CS/Software Construction - Github](https://github.com/pengzhangzhi/self-taught-CS/tree/main/Software%20Construction).
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ This course is available on [Edx](https://www.edx.org/), an online education pla
|
|||
- Course Website: <http://www.saasbook.info/courses>
|
||||
- Recordings: refer to the course website.
|
||||
- Textbook: [Software as a service](https://github.com/PKUFlyingPig/CS169-Software-Engineering/blob/master/saasbook.pdf)
|
||||
- Assignments: refer to the course website
|
||||
- Assignments: refer to the course website.
|
||||
|
||||
## Personal Resources
|
||||
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS169-Software-Engineering - GitHub](https://github.com/PKUFlyingPig/CS169-Software-Engineering)
|
||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS169-Software-Engineering - GitHub](https://github.com/PKUFlyingPig/CS169-Software-Engineering).
|
||||
|
|
|
|||
19
mkdocs.yml
19
mkdocs.yml
|
|
@ -14,7 +14,8 @@ theme:
|
|||
language: zh
|
||||
static_templates:
|
||||
- 404.html
|
||||
favicon: images/favicon16x16.png
|
||||
favicon: images/favicon.ico
|
||||
apple-touch-icon-precomposed: images/mobile_icon.png
|
||||
include_search_page: false
|
||||
search_index_only: true
|
||||
|
||||
|
|
@ -77,6 +78,7 @@ plugins:
|
|||
nav_translations:
|
||||
en:
|
||||
前言: Foreword
|
||||
如何使用这本书: How To Use The Book
|
||||
一个仅供参考的CS学习规划: Guideline
|
||||
必学工具: Productivity Toolkit
|
||||
好书推荐: Book Recommendation
|
||||
|
|
@ -123,6 +125,7 @@ nav:
|
|||
- 必学工具:
|
||||
- 翻墙: "必学工具/翻墙.md"
|
||||
- Vim: "必学工具/Vim.md"
|
||||
- Emacs: "必学工具/Emacs.md"
|
||||
- Git: "必学工具/Git.md"
|
||||
- GitHub: "必学工具/GitHub.md"
|
||||
- "GNU Make": "必学工具/GNU_Make.md"
|
||||
|
|
@ -145,16 +148,18 @@ nav:
|
|||
- "MIT 6.042J: Mathematics for Computer Science": "数学进阶/6.042J.md"
|
||||
- "MIT18.330: Introduction to numerical analysis": "数学进阶/numerical.md"
|
||||
- "Standford EE364A: Convex Optimization": "数学进阶/convex.md"
|
||||
- "The Information Theory, Patter Recognition, and Neural Networks": "数学进阶/The_Information_Theory_Pattern_Recognition_and_Neural_Networks.md"
|
||||
- "The Information Theory, Pattern Recognition, and Neural Networks": "数学进阶/The_Information_Theory_Pattern_Recognition_and_Neural_Networks.md"
|
||||
- 编程入门:
|
||||
- "MIT-Missing-Semester": "编程入门/MIT-Missing-Semester.md"
|
||||
- "Harvard CS50: This is CS50x": "编程入门/CS50.md"
|
||||
- "CS50P: CS50's Introduction to Programming with Python": "编程入门/CS50P.md"
|
||||
- "UCB CS61A: Structure and Interpretation of Computer Programs": "编程入门/CS61A.md"
|
||||
- "Duke University: Introductory C Programming Specialization": "编程入门/Duke-Coursera-Intro-C.md"
|
||||
- "Stanford CS106B/X": "编程入门/CS106B_CS106X.md"
|
||||
- "Stanford CS106L: Standard C++ Programming": "编程入门/CS106L.md"
|
||||
- "Stanford CS110L: Safety in Systems Programming": "编程入门/CS110L.md"
|
||||
- "AmirKabir University of Technology AP1400-2: Advanced Programming": "编程入门/AUT1400.md"
|
||||
- "Haskell MOOC": "编程入门/Haskell-MOOC.md"
|
||||
- 电子基础:
|
||||
- "EE16A&B: Designing Information Devices and Systems I&II": "电子基础/EE16.md"
|
||||
- "UCB EE120 : Signal and Systems": "电子基础/signal.md"
|
||||
|
|
@ -162,6 +167,8 @@ nav:
|
|||
- 数据结构与算法:
|
||||
- "UCB CS61B: Data Structures and Algorithms": "数据结构与算法/CS61B.md"
|
||||
- "Coursera: Algorithms I & II": "数据结构与算法/Algo.md"
|
||||
- "MIT 6.006: Introduction to Algorithms": "数据结构与算法/6.006.md"
|
||||
- "MIT 6.046: Design and Analysis of Algorithms": "数据结构与算法/6.046.md"
|
||||
- "UCB CS170: Efficient Algorithms and Intractable Problems": "数据结构与算法/CS170.md"
|
||||
- 软件工程:
|
||||
- "MIT 6.031: Software Construction": "软件工程/6031.md"
|
||||
|
|
@ -181,6 +188,8 @@ nav:
|
|||
- 计算机系统安全:
|
||||
- "UCB CS161: Computer Security": "系统安全/CS161.md"
|
||||
- "MIT 6.858: Computer System Security": "系统安全/MIT6.858.md"
|
||||
- "ASU CSE365: Introduction to Cybersecurity": "系统安全/CSE365.md"
|
||||
- "ASU CSE466: Computer Systems Security": "系统安全/CSE466.md"
|
||||
- 计算机网络:
|
||||
- "USTC Computer Networking:A Top-Down Approach": "计算机网络/topdown_ustc.md"
|
||||
- "Computer Networking: A Top-Down Approach": "计算机网络/topdown.md"
|
||||
|
|
@ -190,6 +199,7 @@ nav:
|
|||
- "CMU 15-445: Database Systems": "数据库系统/15445.md"
|
||||
- "Caltech CS122: Database System Implementation": "数据库系统/CS122.md"
|
||||
- "Stanford CS346: Database System Implementation": "数据库系统/CS346.md"
|
||||
- "CMU 15-799: Special Topics in Database Systems": "数据库系统/15799.md"
|
||||
- 编译原理:
|
||||
- "Stanford CS143: Compilers": "编译原理/CS143.md"
|
||||
- 计算机图形学:
|
||||
|
|
@ -197,6 +207,7 @@ nav:
|
|||
- "GAMES202": "计算机图形学/GAMES202.md"
|
||||
- "GAMES103": "计算机图形学/GAMES103.md"
|
||||
- "Stanford CS148": "计算机图形学/CS148.md"
|
||||
- "CMU 15-462": "计算机图形学/15462.md"
|
||||
- Web开发:
|
||||
- "MIT web development course": "Web开发/mitweb.md"
|
||||
- "Stanford CS142: Web Applications": "Web开发/CS142.md"
|
||||
|
|
@ -206,14 +217,14 @@ nav:
|
|||
- 人工智能:
|
||||
- "Harvard CS50's Introduction to AI with Python": "人工智能/CS50.md"
|
||||
- "UCB CS188: Introduction to Artificial Intelligence": "人工智能/CS188.md"
|
||||
- "智能计算系统": "人工智能/CYJ.md"
|
||||
- 机器学习:
|
||||
- "Coursera: Machine Learning": "机器学习/ML.md"
|
||||
- "Stanford CS229: Machine Learning": "机器学习/CS229.md"
|
||||
- "UCB CS189: Introduction to Machine Learning": "机器学习/CS189.md"
|
||||
- 机器学习系统:
|
||||
- "Machine Learning Compilation": "机器学习系统/MLC.md"
|
||||
- "智能计算系统": "机器学习系统/AICS.md"
|
||||
- "CMU 10-414/714: Deep Learning Systems": "机器学习系统/CMU10-414.md"
|
||||
- "Machine Learning Compilation": "机器学习系统/MLC.md"
|
||||
- 深度学习:
|
||||
- "Coursera: Deep Learning": "深度学习/CS230.md"
|
||||
- "国立台湾大学:李宏毅机器学习": "深度学习/LHY.md"
|
||||
|
|
|
|||
|
|
@ -1,17 +1,33 @@
|
|||
{% extends "base.html" %} {% block disqus %}
|
||||
<script src="https://giscus.app/client.js"
|
||||
data-repo="PKUFlyingPig/cs-self-learning"
|
||||
data-repo-id="R_kgDOGP67ng"
|
||||
data-category="Announcements"
|
||||
data-category-id="DIC_kwDOGP67ns4COM9Q"
|
||||
data-mapping="title"
|
||||
data-reactions-enabled="1"
|
||||
data-emit-metadata="0"
|
||||
data-input-position="top"
|
||||
data-theme="light"
|
||||
data-lang="zh-CN"
|
||||
data-loading="lazy"
|
||||
crossorigin="anonymous"
|
||||
async>
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block disqus %}
|
||||
<script src="https://giscus.app/client.js" data-repo="PKUFlyingPig/cs-self-learning" data-repo-id="R_kgDOGP67ng"
|
||||
data-category="Announcements" data-category-id="DIC_kwDOGP67ns4COM9Q" data-mapping="title"
|
||||
data-reactions-enabled="1" data-emit-metadata="0" data-input-position="top" data-theme="light_protanopia"
|
||||
data-lang="zh-CN" data-loading="lazy" crossorigin="anonymous" async>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var palette = __get("__palette")
|
||||
if (palette && typeof palette.color === "object") {
|
||||
if (palette.color.scheme === "slate") {
|
||||
const giscus = document.querySelector("script[src*=giscus]")
|
||||
giscus.setAttribute("data-theme", "dark_protanopia")
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const ref = document.querySelector("[data-md-component=palette]")
|
||||
ref.addEventListener("change", function () {
|
||||
var palette = __get("__palette")
|
||||
if (palette && typeof palette.color === "object") {
|
||||
const theme = palette.color.scheme === "slate" ? "dark_protanopia" : "light_protanopia"
|
||||
const frame = document.querySelector(".giscus-frame")
|
||||
frame.contentWindow.postMessage({
|
||||
giscus: { setConfig: { theme } }
|
||||
}, "https://giscus.app")
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
|||
Loading…
Reference in a new issue