22 Commits

Author SHA1 Message Date
Junda Chen
9519b3a667 [COURSE] Add UCSD CSE234 Data Systems for Machine Learning (#713)
* Add CSE234 UCSD

* update contents to contain more details

* update extended materials

* Update mkdocs.yml

* change a bit

* make it better

* update

* update
2026-02-02 12:07:11 +08:00
C. Yin
fbf8f26a2b [Update] update MIT-missing-semester lecture recordings link with 2026 version (#836)
* update MIT-Missing-Semester.md
* update MIT-Missing-Semester.en.md
2026-01-30 10:39:16 +08:00
Luyu Zhang
27586ff904 [TOOL] add encyclopedic websites in tools (#832) 2026-01-21 21:18:08 +08:00
Bojun Ren
ac0cef182a [UPDATE] Update SJTU-Compiler Course (#830)
* update SJTU compilers

* update SJTU compilers (English)
2026-01-18 19:29:55 +08:00
Yinmin Zhong
542a7f4a9b [README] remove warp logo (#828) 2026-01-08 22:29:23 +08:00
John Luo
188a8f88c3 docs: update automq readme link (#816) 2025-11-28 10:53:24 +08:00
John Luo
5956926395 [Sponsor] Add AutoMQ Banner to README (#813) 2025-11-14 23:50:07 +08:00
Mashirl
ddc06bd6e5 [FIX] fix broken nav bar link (#809) 2025-11-13 12:59:44 +08:00
C. Yin
c116aae45e [Update] Add Stanford CS231n latest lecture videos (#811) 2025-11-13 12:58:33 +08:00
onnonn
cf393ddff2 [FIX] fix spelling errors in cs220 docs (#801) 2025-10-09 15:13:18 +08:00
Yinmin Zhong
8c9db49c96 [Fix] Fix link (#800)
* [Support] Add warp support

* fix nits

* fix link
2025-09-29 22:05:39 +08:00
Yinmin Zhong
9f68cb64d0 [Support] Add warp support (#799)
* [Support] Add warp support

* fix nits
2025-09-29 21:54:29 +08:00
Aaron
3bb5a900e7 [Update] Add SP2021 public access information for CS61B (#788)
- Add SP2021 course website link
  - Add Gradescope course code MB7ZPY for public access
  - Update both Chinese and English versions
2025-08-31 08:42:31 +08:00
Tci Gravifer Fang
25e0b34359 [UPDATE] add latest CS242 website (#784)
* [UPDATE] add new CS242 site (zh-cn)

* [UPDATE] add new CS242 site (en)
2025-08-19 22:17:57 +08:00
Das1Zhang
c9365b2ed9 [FIX] Fix the link for CS149.en (#776)
Synchronize CS149.en.md with CS149.md
2025-07-28 23:09:56 +08:00
LiAlH4
6162cd1b9c [FIX] Fix course video link of NJU Compilers (#775)
* [FIX] NJU Compilers course video link

bilibili video collection link schama may changed, original link will only show the collections overview instead of this collection

* [FIX] course video link in NJU-Compilers.en.md
2025-07-28 23:07:57 +08:00
Yinmin Zhong
0e793039d8 [COURSE] Add MIT 6.S184 (#772)
* Add course

* add nav
2025-07-11 00:52:24 +08:00
小牛仔
5d57ab9b4e [FIX] Rename the illegal filename in NTFS (#765) 2025-06-24 12:29:14 +08:00
小牛仔
816342af1b [GIT] Add learning website for Git (#759)
* Update Git.md

* Update Git.en.md

* Update Git.en.md

* Update Git.md
2025-06-16 21:24:25 +08:00
Das1Zhang
43a37646ab [UPDATE] Update CMU 15-418 course website and recordings (#756)
Update CMU 15-418 course website and recordings
2025-06-14 18:02:57 +08:00
Zhaorong Zhu
95fc541954 [ENHANCE] Fix typo and add resource in SJTU Compiler Course (#755)
* 修改明显错误

* 补充课程代码仓库

* 补充课本链接

* 修改格式
2025-06-14 18:01:54 +08:00
Crazy-Ryan
3432316a0d [UPDATE] Add assignment implementation for CMU-10-714(24 Fall) (#751)
* add assignment implementation for 24 Fall offering

* correct punctuation
2025-06-09 19:39:46 +08:00
32 changed files with 284 additions and 53 deletions

View File

@@ -1,10 +1,27 @@
<div align="center" markdown="1">
<sup>Special thanks to:</sup>
<br>
<a href="https://opensource.automq.com">
<img alt="AutoMQ sponsorship" width="400" src="https://github.com/user-attachments/assets/3bfff2bc-8da2-4936-9354-8834a347a70c">
</a>
### [学了那么多分布式理论,“工业级”的代码长什么样?](https://opensource.automq.com)
[AutoMQ 带你深入一线代码,直观理解数据结构与分布式系统的工程实践。](https://opensource.automq.com)
<br>
</div>
---
<div align="center"> <div align="center">
<img src=./docs/images/title.png > <img src=./docs/images/title.png >
</div> </div>
# CS 自学指南 # CS 自学指南
> *Everyone should enjoy CS if you have a good teacher to teach you a good course.* > _Everyone should enjoy CS if you have a good teacher to teach you a good course._
<a href="https://trendshift.io/repositories/4643" target="_blank"><img src="https://trendshift.io/api/badge/repositories/4643" alt="PKUFlyingPig%2Fcs-self-learning | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> <a href="https://trendshift.io/repositories/4643" target="_blank"><img src="https://trendshift.io/api/badge/repositories/4643" alt="PKUFlyingPig%2Fcs-self-learning | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
@@ -13,7 +30,6 @@
[![Issues](https://img.shields.io/github/issues/PKUFlyingPig/cs-self-learning)](https://github.com/PKUFlyingPig/cs-self-learning/issues) [![Issues](https://img.shields.io/github/issues/PKUFlyingPig/cs-self-learning)](https://github.com/PKUFlyingPig/cs-self-learning/issues)
[![Stars](https://img.shields.io/github/stars/PKUFlyingPig/cs-self-learning)](https://github.com/PKUFlyingPig/cs-self-learning) [![Stars](https://img.shields.io/github/stars/PKUFlyingPig/cs-self-learning)](https://github.com/PKUFlyingPig/cs-self-learning)
新冠肆虐网课当道CS 爆火,这一系列的事件都让自学计算机成为了一种潮流。 新冠肆虐网课当道CS 爆火,这一系列的事件都让自学计算机成为了一种潮流。
随着欧美众多名校将质量极高的计算机课程全部开源,自学 CS 成了一件可操作性极强的事情。毫不夸张地说,只要你有毅力和兴趣,自学的成果完全不亚于你在国内任何一所大学受到的本科 CS 教育(当然,这里单指计算机专业领域,大学带给你的显然不止是专业知识)。 随着欧美众多名校将质量极高的计算机课程全部开源,自学 CS 成了一件可操作性极强的事情。毫不夸张地说,只要你有毅力和兴趣,自学的成果完全不亚于你在国内任何一所大学受到的本科 CS 教育(当然,这里单指计算机专业领域,大学带给你的显然不止是专业知识)。
@@ -22,7 +38,7 @@
但同时,自学这条路也有很多困难和阻力:课程繁多不知如何选择,资料零散甚至残缺,作业难度不知深浅,课内任务还需要花时间应付······这些主客观因素叠加到一起,使得好课虽多,却只能在收藏夹里吃灰。 但同时,自学这条路也有很多困难和阻力:课程繁多不知如何选择,资料零散甚至残缺,作业难度不知深浅,课内任务还需要花时间应付······这些主客观因素叠加到一起,使得好课虽多,却只能在收藏夹里吃灰。
在大学的第四个年头我想把这一路自学走来的经验和教训把那些让我受益终身的课程记录下来分享给大家形成了这本CS自学指南以期能给所有想自学计算机的朋友一点帮助。 在大学的第四个年头,我想把这一路自学走来的经验和教训,把那些让我受益终身的课程记录下来,分享给大家,形成了这本 CS 自学指南,以期能给所有想自学计算机的朋友一点帮助。
我的目标是让一个刚刚接触计算机的小白,可以完全凭借这些开源社区的优质资源,少走弯路,在 2-3 年内成长为一个有扎实的数学功底和代码能力,经历过数十个千行代码量的 Project 的洗礼,掌握至少 C/C++/Java/JS/Python/Go/Rust 等主流语言对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web 开发、云服务、超算等等方面均有所涉猎的全能程序员。此后,无论是选择科研还是就业,我相信你都会有相当的竞争力。 我的目标是让一个刚刚接触计算机的小白,可以完全凭借这些开源社区的优质资源,少走弯路,在 2-3 年内成长为一个有扎实的数学功底和代码能力,经历过数十个千行代码量的 Project 的洗礼,掌握至少 C/C++/Java/JS/Python/Go/Rust 等主流语言对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web 开发、云服务、超算等等方面均有所涉猎的全能程序员。此后,无论是选择科研还是就业,我相信你都会有相当的竞争力。
@@ -30,7 +46,7 @@
## 如何成为贡献者 ## 如何成为贡献者
一个人的力量终究是有限的,对于书中任意章节你若有想要补充的内容,欢迎各位提出 [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) 模块上方的注释按相应格式添加内容。 一个人的力量终究是有限的,对于书中任意章节你若有想要补充的内容,欢迎各位提出 [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) 模块上方的注释按相应格式添加内容。
对于中英混合排版的要点规范,可以参考[这个仓库](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)。 对于中英混合排版的要点规范,可以参考[这个仓库](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)。
@@ -49,6 +65,7 @@
## ✨ 鸣谢 ## ✨ 鸣谢
特别感谢 @[AlfredThiel](https://github.com/AlfredThiel) 为项目制作了精美的 Logo。 特别感谢 @[AlfredThiel](https://github.com/AlfredThiel) 为项目制作了精美的 Logo。
<!-- support by https://contrib.rocks --> <!-- support by https://contrib.rocks -->
<a href="https://github.com/PKUFlyingPig/cs-self-learning/graphs/contributors"> <a href="https://github.com/PKUFlyingPig/cs-self-learning/graphs/contributors">
<img src="https://contrib.rocks/image?repo=PKUFlyingPig/cs-self-learning"/> <img src="https://contrib.rocks/image?repo=PKUFlyingPig/cs-self-learning"/>

View File

@@ -21,4 +21,4 @@ Karpathy holds a **PhD from Stanford University**, where he worked on convolutio
- **Lecture Videos:** [YouTube Playlist](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ) - **Lecture Videos:** [YouTube Playlist](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ)
- **Assignments:** Self-guided projects and code implementation exercises available throughout the lectures - **Assignments:** Self-guided projects and code implementation exercises available throughout the lectures
For more information, watch the full playlist on YouTube. For more information, watch the full playlist on YouTube.

View File

@@ -21,4 +21,4 @@ Karpathy 拥有 **斯坦福大学博士学位**,师从 **Fei-Fei Li李飞
- **课程视频:** [YouTube 播放列表](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ) - **课程视频:** [YouTube 播放列表](https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ)
- **作业:** 课程中提供的代码实践和项目练习 - **作业:** 课程中提供的代码实践和项目练习
更多信息请访问 YouTube 观看完整课程视频。 更多信息请访问 YouTube 观看完整课程视频。

View File

@@ -14,8 +14,8 @@ The goal of this course is to provide a deep understanding of the fundamental pr
## Resources ## Resources
- Course Website: [CMU15418](http://15418.courses.cs.cmu.edu/spring2016/), [CS149](https://gfxcourses.stanford.edu/cs149/fall21) - Course Website: [CMU15418](https://www.cs.cmu.edu/afs/cs/academic/class/15418-s18/www/index.html), [CS149](https://gfxcourses.stanford.edu/cs149/fall21)
- Recordings: [CMU15418](http://15418.courses.cs.cmu.edu/spring2016/lectures), [CS149](https://youtube.com/playlist?list=PLoROMvodv4rMp7MTFr4hQsDEcX7Bx6Odp&si=txtQiRDZ9ZZUzyRn) - Recordings: [CMU15418](https://www.cs.cmu.edu/afs/cs/academic/class/15418-s18/www/schedule.html), [CS149](https://youtube.com/playlist?list=PLoROMvodv4rMp7MTFr4hQsDEcX7Bx6Odp&si=txtQiRDZ9ZZUzyRn)
- Textbook: None - Textbook: None
- Assignments: <https://gfxcourses.stanford.edu/cs149/fall21>, 5 assignments. - Assignments: <https://gfxcourses.stanford.edu/cs149/fall21>, 5 assignments.

View File

@@ -14,8 +14,8 @@
## 课程资源 ## 课程资源
- 课程网站:[CMU15418](http://15418.courses.cs.cmu.edu/spring2016/), [CS149](https://gfxcourses.stanford.edu/cs149/fall21) - 课程网站:[CMU15418](https://www.cs.cmu.edu/afs/cs/academic/class/15418-s18/www/index.html), [CS149](https://gfxcourses.stanford.edu/cs149/fall21)
- 课程视频:[CMU15418](http://15418.courses.cs.cmu.edu/spring2016/lectures), [CS149](https://youtube.com/playlist?list=PLoROMvodv4rMp7MTFr4hQsDEcX7Bx6Odp&si=txtQiRDZ9ZZUzyRn) - 课程视频:[CMU15418](https://www.cs.cmu.edu/afs/cs/academic/class/15418-s18/www/schedule.html), [CS149](https://youtube.com/playlist?list=PLoROMvodv4rMp7MTFr4hQsDEcX7Bx6Odp&si=txtQiRDZ9ZZUzyRn)
- 课程教材:无 - 课程教材:无
- 课程作业:<https://gfxcourses.stanford.edu/cs149/fall21>5 个编程作业 - 课程作业:<https://gfxcourses.stanford.edu/cs149/fall21>5 个编程作业

View File

@@ -13,7 +13,8 @@ Git is a powerful tool and when you finally master it, you will find all the eff
Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path: Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path:
1. Read this [Git tutorial](https://missing.csail.mit.edu/2020/version-control/) in English, or you can watch this [Git tutorial (by 尚硅谷)](https://www.bilibili.com/video/BV1vy4y1s7k6) in Chinese. 1. Read this [Git tutorial](https://missing.csail.mit.edu/2020/version-control/) in English, or you can watch this [Git tutorial (by 尚硅谷)](https://www.bilibili.com/video/BV1vy4y1s7k6) in Chinese.
2. Read Chap1 - Chap5 of this open source book [Pro Git](https://git-scm.com/book/en/v2). Yes, to learn Git, you need to read a book. 2. Read Chap1 - Chap5 of this open source book [Pro Git](https://git-scm.com/book/en/v2). Yes, to learn Git, you need to read a book.
3. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/). 3. [Learn Git Branching](https://learngitbranching.js.org/) is an interactive Git learning website that can help you quickly get started with using Git.
4. You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. [This tutorial](https://wyag.thb.lt/) will satisfy you! 4. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
5. What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, [build-your-own-x](https://github.com/danistefanovic/build-your-own-x) and [project-based-learning](https://github.com/tuvtran/project-based-learning), collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on. 5. You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. [This tutorial](https://wyag.thb.lt/) will satisfy you!
6. What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, [build-your-own-x](https://github.com/danistefanovic/build-your-own-x) and [project-based-learning](https://github.com/tuvtran/project-based-learning), collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on.

View File

@@ -14,6 +14,7 @@ Git 的设计非常优雅,但初学者通常因为很难理解其内部逻辑
1. 阅读这篇 [Git tutorial](https://missing.csail.mit.edu/2020/version-control/),视频的话可以看这个[尚硅谷Git教程](https://www.bilibili.com/video/BV1vy4y1s7k6) 1. 阅读这篇 [Git tutorial](https://missing.csail.mit.edu/2020/version-control/),视频的话可以看这个[尚硅谷Git教程](https://www.bilibili.com/video/BV1vy4y1s7k6)
2. 阅读这本开源书籍 [Pro Git](https://git-scm.com/book/en/v2) 的 Chapter1 - Chapter5是的没错学 Git 需要读一本书(捂脸)。 2. 阅读这本开源书籍 [Pro Git](https://git-scm.com/book/en/v2) 的 Chapter1 - Chapter5是的没错学 Git 需要读一本书(捂脸)。
3. 此时你已经掌握了 Git 的原理和绝大部分用法,接下来就可以在实践中反复巩固 Git 的命令了。但用好它同样是一门哲学,我个人觉得这篇[如何写好 Commit Message](https://chris.beams.io/posts/git-commit/) 的博客非常值得一读 3. [Learn Git Branching](https://learngitbranching.js.org/) 是一个交互式的 Git 学习网站, 可以帮助你快速上手 Git 的使用
4. 好的此时你已经爱上了 Git,你已经不满足于学会它了,你想自己实现一个 Git巧了我当年也有这样的想法[这篇 tutorial](https://wyag.thb.lt/) 可以满足你! 4. 此时你已经掌握了 Git 的原理和绝大部分用法,接下来就可以在实践中反复巩固 Git 的命令了。但用好它同样是一门哲学,我个人觉得这篇[如何写好 Commit Message](https://chris.beams.io/posts/git-commit/) 的博客非常值得一读。
5. 什么?光实现一个 Git 无法满足你?小伙子/小仙女有前途,巧的是我也喜欢造轮子,这两个 GitHub 项目 [build-your-own-x](https://github.com/danistefanovic/build-your-own-x) 和 [project-based-learning](https://github.com/tuvtran/project-based-learning) 收录了你能想到的各种造轮子教程,比如:自己造个编辑器、自己写个虚拟机、自己写个 docker、自己写个 TCP 等等等等。 5. 好的此时你已经爱上了 Git你已经不满足于学会它了你想自己实现一个 Git巧了我当年也有这样的想法[这篇 tutorial](https://wyag.thb.lt/) 可以满足你!
6. 什么?光实现一个 Git 无法满足你?小伙子/小仙女有前途,巧的是我也喜欢造轮子,这两个 GitHub 项目 [build-your-own-x](https://github.com/danistefanovic/build-your-own-x) 和 [project-based-learning](https://github.com/tuvtran/project-based-learning) 收录了你能想到的各种造轮子教程,比如:自己造个编辑器、自己写个虚拟机、自己写个 docker、自己写个 TCP 等等等等。

View File

@@ -71,11 +71,13 @@
- [Python3 Documentation](https://docs.python.org/zh-cn/3/): Official Chinese documentation for Python3. - [Python3 Documentation](https://docs.python.org/zh-cn/3/): Official Chinese documentation for Python3.
- [C++ Reference](https://en.cppreference.com/w/): C++ reference manual. - [C++ Reference](https://en.cppreference.com/w/): C++ reference manual.
- [OI Wiki](https://oi-wiki.org/): An integrated site for programming competition knowledge. - [OI Wiki](https://oi-wiki.org/): An integrated site for programming competition knowledge.
- [CTF Wiki](https://ctf-wiki.org/): An integrated site for knowledge and tools related to cybersecurity competitions.
- [Microsoft Learn](https://learn.microsoft.com/zh-cn/): Microsoft's official learning platform, containing most Microsoft product documentation. - [Microsoft Learn](https://learn.microsoft.com/zh-cn/): Microsoft's official learning platform, containing most Microsoft product documentation.
- [Arch Wiki](https://wiki.archlinux.org/): Wiki written for Arch Linux, containing a lot of Linux-related knowledge. - [Arch Wiki](https://wiki.archlinux.org/): Wiki written for Arch Linux, containing a lot of Linux-related knowledge.
- [Qt Wiki](https://wiki.qt.io/Main): Official Qt Wiki. - [Qt Wiki](https://wiki.qt.io/Main): Official Qt Wiki.
- [OpenCV Chinese Documentation](https://opencv.apachecn.org/#/): Community version of OpenCV's Chinese documentation. - [OpenCV Chinese Documentation](https://opencv.apachecn.org/#/): Community version of OpenCV's Chinese documentation.
- [npm Docs](https://docs.npmjs.com/): Official npm documentation. - [npm Docs](https://docs.npmjs.com/): Official npm documentation.
- [developer-roadmap](https://roadmap.sh/): provides roadmaps, guides and other educational content to help guide developers in picking up a path and guide their learnings.
## Communication Platforms ## Communication Platforms

View File

@@ -71,11 +71,13 @@
- [Python3 Documentation](https://docs.python.org/zh-cn/3/): Python3 官方中文文档。 - [Python3 Documentation](https://docs.python.org/zh-cn/3/): Python3 官方中文文档。
- [C++ Reference](https://en.cppreference.com/w/): C++ 参考手册。 - [C++ Reference](https://en.cppreference.com/w/): C++ 参考手册。
- [OI Wiki](https://oi-wiki.org/): 编程竞赛知识整合站点。 - [OI Wiki](https://oi-wiki.org/): 编程竞赛知识整合站点。
- [CTF Wiki](https://ctf-wiki.org/):网络安全竞赛相关知识与工具的整合站点。
- [Microsoft Learn](https://learn.microsoft.com/zh-cn/): 微软官方的学习平台,包含了绝大多数微软产品的文档。 - [Microsoft Learn](https://learn.microsoft.com/zh-cn/): 微软官方的学习平台,包含了绝大多数微软产品的文档。
- [Arch Wiki](https://wiki.archlinux.org/): 专为 Arch Linux 而写的 Wiki包含了大量 Linux 相关的知识。 - [Arch Wiki](https://wiki.archlinux.org/): 专为 Arch Linux 而写的 Wiki包含了大量 Linux 相关的知识。
- [Qt Wiki](https://wiki.qt.io/Main): Qt 官方 Wiki。 - [Qt Wiki](https://wiki.qt.io/Main): Qt 官方 Wiki。
- [OpenCV 中文文档](https://opencv.apachecn.org/#/): OpenCV 的社区版中文文档。 - [OpenCV 中文文档](https://opencv.apachecn.org/#/): OpenCV 的社区版中文文档。
- [npm Docs](https://docs.npmjs.com/): npm 官方文档。 - [npm Docs](https://docs.npmjs.com/): npm 官方文档。
- [developer-roadmap](https://roadmap.sh/):帮助开发者了解学习路径并在职业生涯中不断成长。
## 交流平台 ## 交流平台
- [GitHub](https://github.com/): 许多开源项目的托管平台,也是许多开源项目的主要交流平台,通过查看 issue 可以解决许多问题。 - [GitHub](https://github.com/): 许多开源项目的托管平台,也是许多开源项目的主要交流平台,通过查看 issue 可以解决许多问题。

View File

@@ -12,6 +12,8 @@ It is the second course of UC Berkeley's CS61 series. It mainly focuses on the d
I took the version for 2018 Spring. Josh Hug, the instructor, generously made the autograder open-source. You can use [gradescope](https://gradescope.com/) invitation code published on the website for free and easily test your implementation. I took the version for 2018 Spring. Josh Hug, the instructor, generously made the autograder open-source. You can use [gradescope](https://gradescope.com/) invitation code published on the website for free and easily test your implementation.
According to the professor's latest policy, SP2021 CS61B is now open to the public. To get everything set up, go to Gradescope and select the "Add a course" button. Enter course code **MB7ZPY** to be added.
All programming assignments in this course are done in Java. Students without Java experience don't have to worry. There will be detailed tutorials in the course from the configuration of IDEA to the core syntax and features of Java. All programming assignments in this course are done in Java. Students without Java experience don't have to worry. There will be detailed tutorials in the course from the configuration of IDEA to the core syntax and features of Java.
The quality of homework in this class is also unparalleled. The 14 labs will allow you to implement most of the data structures mentioned in the class by yourself, and the 10 homework will allow you to use data structures and algorithms to solve practical problems. The quality of homework in this class is also unparalleled. The 14 labs will allow you to implement most of the data structures mentioned in the class by yourself, and the 10 homework will allow you to use data structures and algorithms to solve practical problems.
@@ -20,7 +22,7 @@ In addition, there are 3 projects that give you the opportunity to be exposed to
## Resources ## Resources
## Course Resources ## Course Resources
- Course Website: [spring2024](https://sp24.datastructur.es/), [fall2023](https://fa23.datastructur.es/), [spring2023](https://sp23.datastructur.es/), [spring2018](https://sp18.datastructur.es/) - Course Website: [spring2024](https://sp24.datastructur.es/), [fall2023](https://fa23.datastructur.es/), [spring2023](https://sp23.datastructur.es/), [spring2021](https://sp21.datastructur.es/), [spring2018](https://sp18.datastructur.es/)
- Recordings: refer to the course website - Recordings: refer to the course website
- Textbook: None - Textbook: None
- Assignments: Slightly different every year. In the spring semester of 2018, there are 14 Labs, 10 Homework and 3 Projects. Please refer to the course website for specific requirements. - Assignments: Slightly different every year. In the spring semester of 2018, there are 14 Labs, 10 Homework and 3 Projects. Please refer to the course website for specific requirements.

View File

@@ -13,6 +13,8 @@
我上的是 2018 年春季学期的版本,该课的开课老师 Josh Hug 教授慷慨地将 autograder 开源了,大家可以通过网站公开的邀请码在 [gradescope](https://gradescope.com/) 我上的是 2018 年春季学期的版本,该课的开课老师 Josh Hug 教授慷慨地将 autograder 开源了,大家可以通过网站公开的邀请码在 [gradescope](https://gradescope.com/)
免费加入课程,从而方便地测评自己的代码。 免费加入课程,从而方便地测评自己的代码。
根据教授最新的政策SP2021 的 CS61B 也对公众开放。要设置所有内容,请前往 Gradescope 并选择"Add a course"按钮。输入课程代码 **MB7ZPY** 以添加课程。
这门课所有的编程作业都是使用 Java 完成的。没有 Java 基础的同学也不用担心,课程会有保姆级的教程,从 IDEA一款主流的 Java 编程环境)的配置讲起,把 Java 的核心语法与特性事无巨细地讲授,大家完全不用担心跟不上的问题。 这门课所有的编程作业都是使用 Java 完成的。没有 Java 基础的同学也不用担心,课程会有保姆级的教程,从 IDEA一款主流的 Java 编程环境)的配置讲起,把 Java 的核心语法与特性事无巨细地讲授,大家完全不用担心跟不上的问题。
这门课的作业质量也是绝绝子。14 个 lab 会让你自己实现课上所讲的绝大部分数据结构10 个 Homework 会让你运用数据结构和算法解决实际问题, 这门课的作业质量也是绝绝子。14 个 lab 会让你自己实现课上所讲的绝大部分数据结构10 个 Homework 会让你运用数据结构和算法解决实际问题,
@@ -20,7 +22,7 @@
## 课程资源 ## 课程资源
- 课程网站:[spring2024](https://sp24.datastructur.es/), [fall2023](https://fa23.datastructur.es/), [spring2023](https://sp23.datastructur.es/), [spring2018](https://sp18.datastructur.es/) - 课程网站:[spring2024](https://sp24.datastructur.es/), [fall2023](https://fa23.datastructur.es/), [spring2023](https://sp23.datastructur.es/), [spring2021](https://sp21.datastructur.es/), [spring2018](https://sp18.datastructur.es/)
- 课程视频原版视频参见课程网站B站有中文翻译搬运。 - 课程视频原版视频参见课程网站B站有中文翻译搬运。
- 课程教材:无 - 课程教材:无
- 课程作业每年略有不同18 年春季学期有 14 个 Lab10 个 Homework以及 3 个 Project具体要求详见课程网站。 - 课程作业每年略有不同18 年春季学期有 14 个 Lab10 个 Homework以及 3 个 Project具体要求详见课程网站。

View File

@@ -26,3 +26,5 @@ Instructors [Zico Kolter](https://zicokolter.com/) and [Tianqi Chen](https://tqc
## Resource Compilation ## Resource Compilation
All resources and assignment implementations used by @PKUFlyingPig in this course are consolidated in [PKUFlyingPig/CMU10-714 - GitHub](https://github.com/PKUFlyingPig/CMU10-714) All resources and assignment implementations used by @PKUFlyingPig in this course are consolidated in [PKUFlyingPig/CMU10-714 - GitHub](https://github.com/PKUFlyingPig/CMU10-714)
All assignment implementations by @Crazy-Ryan in this course (24 Fall offering) are consolidated in [Crazy-Ryan/CMU-10-714 - GitHub](https://github.com/Crazy-Ryan/CMU-10-714)

View File

@@ -32,3 +32,5 @@
## 资源汇总 ## 资源汇总
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/CMU10-714 - GitHub](https://github.com/PKUFlyingPig/CMU10-714) 中。 @PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/CMU10-714 - GitHub](https://github.com/PKUFlyingPig/CMU10-714) 中。
@Crazy-Ryan 在学习这门课(24 Fall)过程中的作业实现汇总在 [Crazy-Ryan/CMU-10-714 - GitHub](https://github.com/Crazy-Ryan/CMU-10-714) 中。

View File

@@ -0,0 +1,75 @@
# CSE234: Data Systems for Machine Learning
## Course Overview
- University: UCSD
- Prerequisites: Linear Algebra, Deep Learning, Operating Systems, Computer Networks, Distributed Systems
- Programming Languages: Python, Triton
- Difficulty: 🌟🌟🌟
- Estimated Workload: ~120 hours
<!-- Introduce the course in one or two paragraphs, including but not limited to:
(1) The scope of technical topics covered
(2) Its distinguishing features compared to similar courses
(3) Personal learning experience and impressions
(4) Caveats and difficulty warnings for self-study
-->
This course focuses on the design of end-to-end large language model (LLM) systems, serving as an introductory course to building efficient LLM systems in practice.
The course can be more accurately divided into three parts (with several additional guest lectures):
Part 1. Foundations: modern deep learning and computational representations
- Modern deep learning and computation graphs (framework and system fundamentals)
- Automatic differentiation and an overview of ML system architectures
- Tensor formats, in-depth matrix multiplication, and hardware accelerators
Part 2. Systems and performance optimization: from GPU kernels to compilation and memory
- GPUs and CUDA (including basic performance models)
- GPU matrix multiplication and operator-level compilation
- Triton programming, graph optimization, and compilation
- Memory management (including practical issues and techniques in training and inference)
- Quantization methods and system-level deployment
Part 3. LLM systems: training and inference
- Parallelization strategies: model parallelism, collective communication, intra-/inter-op parallelism, and auto-parallelization
- LLM fundamentals: Transformers, Attention, and MoE
- LLM training optimizations (e.g., FlashAttention-style techniques)
- LLM inference: continuous batching, paged attention, disaggregated prefill/decoding
- Scaling laws
(Guest lectures cover topics such as ML compilers, LLM pretraining and open science, fast inference, and tool use and agents, serving as complementary extensions.)
The defining characteristic of CSE234 is its strong focus on LLM systems as the core application setting. The course emphasizes real-world system design trade-offs and engineering constraints, rather than remaining at the level of algorithms or API usage. Assignments often require students to directly confront performance bottlenecks—such as memory bandwidth limitations, communication overheads, and kernel fusion—and address them through Triton or system-level optimizations. Overall, the learning experience is fairly intensive: a solid background in systems and parallel computing is important. For self-study, it is strongly recommended to prepare CUDA, parallel programming, and core systems knowledge in advance; otherwise, the learning curve becomes noticeably steep in the later parts of the course, especially around LLM optimization and inference. That said, once the pace is manageable, the course offers strong long-term value for those pursuing work in LLM infrastructure, ML systems, or AI compilers.
## Recommended Learning Path
The course itself is relatively well-structured and progressive. However, for students without prior experience in systems and parallel computing, the transition into the second part of the course may feel somewhat steep. A key aspect of this course is spending significant time implementing and optimizing systems in practice. Therefore, it is highly recommended to explore relevant open-source projects on GitHub while reading papers, and to implement related systems or kernels hands-on to deepen understanding.
- Foundations: consider studying alongside open-source projects such as [micrograd](https://github.com/karpathy/micrograd)
- Systems & performance optimization and LLM systems: consider pairing with projects such as [nanoGPT](https://github.com/karpathy/nanoGPT) and [nano-vllm](https://github.com/GeeeekExplorer/nano-vllm)
The course website itself provides a curated list of additional references and materials, which can be found here:
[Book-related documentation and courses](https://hao-ai-lab.github.io/cse234-w25/resources/#book-related-documentation-and-courses)
## Course Resources
- Course Website: https://hao-ai-lab.github.io/cse234-w25/
- Lecture Videos: https://hao-ai-lab.github.io/cse234-w25/
- Reading Materials: https://hao-ai-lab.github.io/cse234-w25/resources/
- Assignments: https://hao-ai-lab.github.io/cse234-w25/assignments/
## Resource Summary
All course materials are released in open-source form. However, the online grading infrastructure and reference solutions for assignments have not been made public.
## Additional Resources / Further Reading
- [GPUMode](https://www.youtube.com/@GPUMODE): offers in-depth explanations of GPU kernels and systems. Topics referenced in the course—such as [DistServe](https://www.youtube.com/watch?v=tIPDwUepXcA), [FlashAttention](https://www.youtube.com/watch?v=VPslgC9piIw), and [Triton](https://www.youtube.com/watch?v=njgow_zaJMw)—all have excellent extended talks available.

View File

@@ -0,0 +1,77 @@
# CSE234: Data Systems for Machine Learning
## 课程简介
- 所属大学UCSD
- 先修要求:线性代数,深度学习,操作系统,计算机网络,分布式系统
- 编程语言Python, Triton
- 课程难度:🌟🌟🌟
- 预计学时120小时
<!-- 用一两段话介绍这门课程,内容包括但不限于:
1课程覆盖的知识点范围
2与同类课程相比它的优势与特点
3学习这门课程的体验与感受
4自学这门课的注意点踩过的坑、难度预警等等
5... ...
-->
本课程专注于设计一个全面的大语言模型(LLM)系统课程作为设计高效LLM系统的入门介绍。
课程可以更准确地分为三个部分(外加若干 guest lecture
Part 1. 基础:现代深度学习与计算表示
- Modern DL 与计算图computational graph / framework 基础)
- Autodiff 与 ML system 架构概览
- Tensor format、MatMul 深入与硬件加速器accelerators
Part 2. 系统与性能优化:从 GPU Kernel 到编译与内存
- GPUs & CUDA含基本性能模型
- GPU MatMul 与算子编译operator compilation
- Triton 编程、图优化与编译graph optimization & compilation
- Memory含训练/推理中的内存问题与技巧)
- Quantization量化方法与系统落地
Part 3. LLM系统训练与推理
- 并行策略模型并行、collective communication、intra-/inter-op、自动并行化
- LLM 基础Transformer、Attention、MoE
- LLM 训练优化FlashAttention 等
- LLM 推理continuous batching、paged attention、disaggregated prefill/decoding
- Scaling law
Guest lecturesML compiler、LLM pretraining/open science、fast inference、tool use & agents 等,作为补充与扩展。)
CSE234的最大特点在于非常专注于以LLM (LLM System)为核心应用场景,强调真实系统设计中的取舍与工程约束,而非停留在算法或 API 使用层面。课程作业通常需要直接面对性能瓶颈如内存带宽、通信开销、kernel fusion 等),并通过 Triton 或系统级优化手段加以解决,对理解“为什么某些 LLM 系统设计是现在这个样子”非常有帮助。学习体验整体偏硬核,前期对系统与并行计算背景要求较高,自学时建议提前补齐 CUDA/并行编程与基础系统知识,否则在后半部分(尤其是 LLM 优化与推理相关内容)会明显感到陡峭的学习曲线。但一旦跟上节奏,这门课对从事 LLM Infra / ML Systems / AI Compiler 方向的同学具有很强的长期价值。
## 学习路线推荐
课程本身其实比较循序渐进但是对于没有系统与并行计算背景的同学来说可能到第二部分会感觉稍微陡峭一点。课程最核心的部分其实是要花很多时间动手实现与优化系统因此建议在读paper的时候就可以在Github上找一些相关的开源项目动手实现相关的系统或者Kernel加深理解。
- 基础部分:建议配合 [micrograd](https://github.com/karpathy/micrograd) 等开源项目一起学习
- 系统与性能优化 & LLM系统建议配合 [nanoGPT](https://github.com/karpathy/nanoGPT), [nano-vllm](https://github.com/GeeeekExplorer/nano-vllm) 等开源项目一起食用
课程页面本身提供了一些知识与资源,可以参考:[Book related documentation and courses](https://hao-ai-lab.github.io/cse234-w25/resources/#book-related-documentation-and-courses)
## 课程资源
- 课程网站https://hao-ai-lab.github.io/cse234-w25/
- 课程视频https://hao-ai-lab.github.io/cse234-w25/
- 课程教材https://hao-ai-lab.github.io/cse234-w25/resources/
- 课程作业https://hao-ai-lab.github.io/cse234-w25/assignments/
## 资源汇总
所有课程内容都发布了对应的开源版本,但在线测评和作业参考答案部分尚未开源。
## 其他资源/课程延伸
- [GPUMode](https://www.youtube.com/@GPUMODE): 有非常多关于GPU Kernel / System的深度讲解。课程中提到的包括[DistServe](https://www.youtube.com/watch?v=tIPDwUepXcA), [FlashAttention](https://www.youtube.com/watch?v=VPslgC9piIw), [Triton](https://www.youtube.com/watch?v=njgow_zaJMw) 都有很好的延伸

View File

@@ -13,6 +13,6 @@ Stanford's CV introductory class, led by the giant of the computer field, Fei-Fe
## Course Resources ## Course Resources
- Course Website<http://cs231n.stanford.edu/> - Course Website<http://cs231n.stanford.edu/>
- Course Video<https://www.bilibili.com/video/BV1nJ411z7fe> - Course Video[spring 2017 Bilibili (Classic)](https://www.bilibili.com/video/BV1nJ411z7fe), [spring 2025 YouTube (Latest)](https://www.youtube.com/playlist?list=PLoROMvodv4rOmsNzYBMe0gJY2XS8AQg16)
- Course Materials: None - Course Materials: None
- Coursework<http://cs231n.stanford.edu/schedule.html>3 Programming Assignments - Coursework<http://cs231n.stanford.edu/schedule.html>3 Programming Assignments

View File

@@ -13,6 +13,6 @@ Stanford 的 CV 入门课,由计算机领域的巨佬李飞飞院士领衔教
## 课程资源 ## 课程资源
- 课程网站:<http://cs231n.stanford.edu/> - 课程网站:<http://cs231n.stanford.edu/>
- 课程视频:<https://www.bilibili.com/video/BV1nJ411z7fe> - 课程视频:[spring 2017 Bilibili](https://www.bilibili.com/video/BV1nJ411z7fe), [spring 2025 YouTube (最新)](https://www.youtube.com/playlist?list=PLoROMvodv4rOmsNzYBMe0gJY2XS8AQg16)
- 课程教材:无 - 课程教材:无
- 课程作业:<http://cs231n.stanford.edu/schedule.html>3个编程作业 - 课程作业:<http://cs231n.stanford.edu/schedule.html>3个编程作业

View File

@@ -0,0 +1,20 @@
# MIT6.S184: Generative AI with Stochastic Differential Equations
## Course Introduction
- University: MIT
- Prerequisites: Basic understanding of deep learning, and be comfortable with calculus and linear algebra
- Programming Language: Python (with PyTorch)
- Course Difficulty: 🌟🌟🌟🌟
- Estimated Study Hours: 20
This course is an introductory diffusion model course offered during MIT's IAP term by MIT CSAIL. Taught by MIT students Peter Holderrieth and Ezra Erives, the course provides a clear and accessible explanation of the mathematical foundations of diffusion and flow-matching models from the perspective of differential equations. It also includes hands-on labs where students build diffusion models from scratch, concluding with lectures on applications in cutting-edge areas such as molecular design and robotics.
The accompanying lecture notes are exceptionally well-written and highly recommended for in-depth reading.
## Course Resources
- Course Website: https://diffusion.csail.mit.edu/
- Course Videos: See course website
- Course Textbook: [An Introduction to Flow Matching and Diffusion Models](https://arxiv.org/abs/2506.02070)
- Course Assignments: Three labs, see course website for details

View File

@@ -0,0 +1,20 @@
# MIT6.S184: Generative AI with Stochastic Differential Equations
## 课程简介
- 所属大学MIT
- 先修要求Basic understanding of deep learning, and be comfortable with calculus and linear algebra
- 编程语言Python (with PyTorch)
- 课程难度:🌟🌟🌟🌟
- 预计学时20
这门课程是由 MIT CSAIL 的 IAP 小学期开办的扩散模型入门课程。该课程由 MIT 学生 Peter Holderrieth 和 Ezra Erives 主讲,从微分方程的视角深入浅出地讲解了扩散模型和流匹配模型的数学理论基础,并且配以实践让学生从零构建扩散模型,最后通过讲座介绍其在分子设计和机器人学等前沿技术中的应用。
课程配套的教材笔记写得非常好,推荐仔细阅读。
## 课程资源
- 课程网站https://diffusion.csail.mit.edu/
- 课程视频:参见课程网站
- 课程教材:[An Introduction to Flow Matching and Diffusion Models](https://arxiv.org/abs/2506.02070)
- 课程作业:三个实验,具体参见课程网站

View File

@@ -6,6 +6,8 @@ In fact, LLMs are just one branch of deep generative models. Other types such as
Recommended courses for learning: Recommended courses for learning:
- [MIT 6.S184: Generative AI with Stochastic Differential Equations](./MIT6.S184.md): An introductory GenAI course offered during MIT's IAP term. It explains the mathematical foundations behind Flow Matching and Diffusion Models from the perspective of differential equations, accompanied by simple hands-on labs to help students grasp the concepts through practice. Ideal for those interested in the underlying mathematical principles.
- [MIT 6.S978: Deep Generative Models](https://mit-6s978.github.io/schedule.html): Taught by MITs rising star Prof. Kaiming He, this course covers fundamental theories and cutting-edge papers related to various generative models. The assignments include well-prepared scaffold code. While not overly difficult, they help deepen understanding and provide a quick, comprehensive view of the field. - [MIT 6.S978: Deep Generative Models](https://mit-6s978.github.io/schedule.html): Taught by MITs rising star Prof. Kaiming He, this course covers fundamental theories and cutting-edge papers related to various generative models. The assignments include well-prepared scaffold code. While not overly difficult, they help deepen understanding and provide a quick, comprehensive view of the field.
- [UCB CS294-158-SP24: Deep Unsupervised Learning](https://sites.google.com/view/berkeley-cs294-158-sp24/home): Taught by reinforcement learning giant Pieter Abbeel. Compared to the MIT course, this one is more comprehensive and includes lecture videos and slides. The homework only provides test code, so students must implement model architecture and training code themselves. Though demanding, its ideal for those who want hands-on experience in training models. As is well known, there are many practical tricks in deep learning, and the devil is often in the details. Nothing teaches those details better than training a model yourself. - [UCB CS294-158-SP24: Deep Unsupervised Learning](https://sites.google.com/view/berkeley-cs294-158-sp24/home): Taught by reinforcement learning giant Pieter Abbeel. Compared to the MIT course, this one is more comprehensive and includes lecture videos and slides. The homework only provides test code, so students must implement model architecture and training code themselves. Though demanding, its ideal for those who want hands-on experience in training models. As is well known, there are many practical tricks in deep learning, and the devil is often in the details. Nothing teaches those details better than training a model yourself.

View File

@@ -5,6 +5,8 @@
其实,大语言模型只是深度生成模型的一个分支,而其他生成模型例如 VAEGANDiffusion ModelFlow 等等,都还在“生成”这一领域占有重要地位,所谓的 AIGC就是泛指这一类技术。 其实,大语言模型只是深度生成模型的一个分支,而其他生成模型例如 VAEGANDiffusion ModelFlow 等等,都还在“生成”这一领域占有重要地位,所谓的 AIGC就是泛指这一类技术。
推荐学习下列课程: 推荐学习下列课程:
- [MIT 6.S184: Generative AI with Stochastic Differential Equations](./MIT6.S184.md): MIT IAP 小学期的 GenAI 入门课程,主要通过微分方程的视角讲解了 Flow Matching 和 Diffusion Model 背后的数学原理,并且配有简单的小实验让学生在实践中理解,适合对底层数学原理感兴趣的同学入门。
- [MIT 6.S978: Deep Generative Models](https://mit-6s978.github.io/schedule.html): MIT 新晋明星教授何恺明亲授,涵盖了各种生成模型的基础理论和相关前沿论文,几次作业都有丰富的脚手架代码,难度不高但能加深理解,能对这个领域有个快速全貌了解。 - [MIT 6.S978: Deep Generative Models](https://mit-6s978.github.io/schedule.html): MIT 新晋明星教授何恺明亲授,涵盖了各种生成模型的基础理论和相关前沿论文,几次作业都有丰富的脚手架代码,难度不高但能加深理解,能对这个领域有个快速全貌了解。
- [UCB CS294-158-SP24: Deep Unsupervised Learning](https://sites.google.com/view/berkeley-cs294-158-sp24/home): 强化学习领域的顶级巨佬 Pieter Abbeel 主讲,相比 MIT 的课程内容更加丰富全面,并且有配套课程视频和 Slides。此外课后作业只有测试代码需要学生自主编写模型架构定义和训练代码虽然硬核但很适合有志于炼丹的同学练手。众所周知深度学习理论实践中存在着很多经验技巧魔鬼往往存在于细节里。没有什么比自己上手训一个模型更能掌握这些细节了。 - [UCB CS294-158-SP24: Deep Unsupervised Learning](https://sites.google.com/view/berkeley-cs294-158-sp24/home): 强化学习领域的顶级巨佬 Pieter Abbeel 主讲,相比 MIT 的课程内容更加丰富全面,并且有配套课程视频和 Slides。此外课后作业只有测试代码需要学生自主编写模型架构定义和训练代码虽然硬核但很适合有志于炼丹的同学练手。众所周知深度学习理论实践中存在着很多经验技巧魔鬼往往存在于细节里。没有什么比自己上手训一个模型更能掌握这些细节了。

View File

@@ -13,5 +13,5 @@ Just as the course name indicated, this course will teach the missing things in
## Course Resources ## Course Resources
- Course Website: <https://missing.csail.mit.edu/> - Course Website: <https://missing.csail.mit.edu/>
- Recordings: <https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J> - Recordings: [IAP 2020](https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J), [IAP 2026](https://www.youtube.com/playlist?list=PLyzOVJj3bHQunmnnTXrNbZnBaCA-ieK4L) in YouTube
- Assignments: Some exercises after each lecture, refer to the course website. - Assignments: Some exercises after each lecture, refer to the course website.

View File

@@ -15,7 +15,7 @@
- 课程网站:<https://missing.csail.mit.edu/2020/> - 课程网站:<https://missing.csail.mit.edu/2020/>
- 课程中文网站: <https://missing-semester-cn.github.io/> - 课程中文网站: <https://missing-semester-cn.github.io/>
- 课程视频:<https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J> - 课程视频:[IAP 2020](https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J), [IAP 2026](https://www.youtube.com/playlist?list=PLyzOVJj3bHQunmnnTXrNbZnBaCA-ieK4L) in YouTube
- 课程中文字幕视频: - 课程中文字幕视频:
- Missing_Semi_中译组未完结<https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click> - Missing_Semi_中译组未完结<https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click>
- 刘黑黑a已完结<https://space.bilibili.com/518734451?spm_id_from=333.337.search-card.all.click> - 刘黑黑a已完结<https://space.bilibili.com/518734451?spm_id_from=333.337.search-card.all.click>

View File

@@ -8,7 +8,7 @@
- Difficulty: 🌟🌟🌟 - Difficulty: 🌟🌟🌟
- Class Hour: 40 hours - Class Hour: 40 hours
[Jeehoon Kang](https://cp.kaist.ac.kr/jeehoon.kang) from KAIST and his [Concurrency and Parallelism Laboratory](https://cp.kaist.ac.kr/) appear to be strong advocates of the Rust programming language. Their contributions include [CS431](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/) and [CS420](https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/) in the csidy curriculum. Naturally, they have developed an introductory course for Rust, which is this course. It covers most of the essential topics needed to get started with Rust. [Jeehoon Kang](https://cp.kaist.ac.kr/jeehoon.kang) from KAIST and his [Concurrency and Parallelism Laboratory](https://cp.kaist.ac.kr/) appear to be strong advocates of the Rust programming language. Their contributions include [CS431](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/) and [CS420](https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/) in the csdiy curriculum. Naturally, they have developed an introductory course for Rust, which is this course. It covers most of the essential topics needed to get started with Rust.
This course does not have an official textbook. The course homepage recommends using the [Rust book](https://doc.rust-lang.org/book/) for learning and provides a structured learning path in the [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p). Although there are no publicly available lecture videos, the comprehensive testing system makes this course an excellent resource for practicing Rust. Some exercises can serve as a great supplement to [CS110L](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/). If you still feel the need for more practice after completing CS110L, this course is a good choice. Some exercises are quite challenging, and Jeehoon Kang encourages the use of AI-assisted programming. However, AI is not perfect, and the core work must still be done by yourself. This course does not have an official textbook. The course homepage recommends using the [Rust book](https://doc.rust-lang.org/book/) for learning and provides a structured learning path in the [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p). Although there are no publicly available lecture videos, the comprehensive testing system makes this course an excellent resource for practicing Rust. Some exercises can serve as a great supplement to [CS110L](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/). If you still feel the need for more practice after completing CS110L, this course is a good choice. Some exercises are quite challenging, and Jeehoon Kang encourages the use of AI-assisted programming. However, AI is not perfect, and the core work must still be done by yourself.

View File

@@ -8,7 +8,7 @@
- 课程难度:🌟🌟🌟 - 课程难度:🌟🌟🌟
- 预计学时40 小时 - 预计学时40 小时
来自 KAIST 的 [Jeehoon Kang](https://cp.kaist.ac.kr/jeehoon.kang) 以及他所领导的 [Concurrency and Parallelism Laboratory](https://cp.kaist.ac.kr/) 实验室似乎是 Rust 语言的忠实拥趸csidy 之中的 [CS431](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/) 和 [CS420](https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/) 都是他们的杰作。自然,他们肯定会开发一款针对 Rust 的入门课程,也就是本课程。课程涵盖了 Rust 入门所需的绝大多数知识点。 来自 KAIST 的 [Jeehoon Kang](https://cp.kaist.ac.kr/jeehoon.kang) 以及他所领导的 [Concurrency and Parallelism Laboratory](https://cp.kaist.ac.kr/) 实验室似乎是 Rust 语言的忠实拥趸csdiy 之中的 [CS431](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/) 和 [CS420](https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/) 都是他们的杰作。自然,他们肯定会开发一款针对 Rust 的入门课程,也就是本课程。课程涵盖了 Rust 入门所需的绝大多数知识点。
本课没有指定官方教材,课程主页推荐采用 [Rust book](https://doc.rust-lang.org/book/) 学习,并在 [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p) 之中规划了大致的学习线路。虽然没有公开课程教学视频,不过完善的测试系统仍然可以使这门课作为 Rust 习题课来练手,部分习题可以作为 [CS110L](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/) 的良好补充。如果在学习完 CS110L 之后仍然觉得需要更多练习可以选择本课程。部分习题具有一定难度Jeehoon Kang 对使用 AI 辅助编程持有鼓励态度,但是 AI 并不完美,核心工作仍需自己完成。 本课没有指定官方教材,课程主页推荐采用 [Rust book](https://doc.rust-lang.org/book/) 学习,并在 [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p) 之中规划了大致的学习线路。虽然没有公开课程教学视频,不过完善的测试系统仍然可以使这门课作为 Rust 习题课来练手,部分习题可以作为 [CS110L](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/) 的良好补充。如果在学习完 CS110L 之后仍然觉得需要更多练习可以选择本课程。部分习题具有一定难度Jeehoon Kang 对使用 AI 辅助编程持有鼓励态度,但是 AI 并不完美,核心工作仍需自己完成。

View File

@@ -39,7 +39,7 @@ I personally feel that the assignments are difficult, but the gains are great. W
## Course Resources ## Course Resources
- Course Website: [https://stanford-cs242.github.io/f19/](https://stanford-cs242.github.io/f19/) - Course Website: [Latest](https://web.stanford.edu/class/cs242/) [2019 Fall](https://stanford-cs242.github.io/f19/)
- Recordings: None, the main learning resources are the course notes and assignments - Recordings: None, the main learning resources are the course notes and assignments
- Textbooks: The first half of the course is based on the famous [TAPL](https://www.cis.upenn.edu/~bcpierce/tapl/), and the second half has no fixed textbook - Textbooks: The first half of the course is based on the famous [TAPL](https://www.cis.upenn.edu/~bcpierce/tapl/), and the second half has no fixed textbook
- Assignments: [Assignment Guide](https://stanford-cs242.github.io/f19/assignments/) and [Assignment Repository](https://github.com/stanford-cs242/f19-assignments) - Assignments: [Assignment Guide](https://stanford-cs242.github.io/f19/assignments/) and [Assignment Repository](https://github.com/stanford-cs242/f19-assignments)

View File

@@ -39,7 +39,7 @@ CS242是一门讲程序语言 (Programming Language, PL) 的课程,但不是
## 课程资源 ## 课程资源
- 课程网站:[官网](https://stanford-cs242.github.io/f19/) - 课程网站:[官网](https://web.stanford.edu/class/cs242/) [2019秋](https://stanford-cs242.github.io/f19/)
- 课程视频:无,主要学习途径是课程笔记和完成作业 - 课程视频:无,主要学习途径是课程笔记和完成作业
- 课程教材:前半部分是著名的[TAPL](https://www.cis.upenn.edu/~bcpierce/tapl/),后半部分则无固定教材 - 课程教材:前半部分是著名的[TAPL](https://www.cis.upenn.edu/~bcpierce/tapl/),后半部分则无固定教材
- 课程作业:[实验指导](https://stanford-cs242.github.io/f19/assignments/)与[作业仓库](https://github.com/stanford-cs242/f19-assignments) - 课程作业:[实验指导](https://stanford-cs242.github.io/f19/assignments/)与[作业仓库](https://github.com/stanford-cs242/f19-assignments)

View File

@@ -27,7 +27,7 @@ The biggest takeaway is that there is no longer a sense of difficulty or uncerta
## Course Resources ## Course Resources
- Course Website: <http://docs.compilers.cpl.icu/> - Course Website: <http://docs.compilers.cpl.icu/>
- Recordings: <https://space.bilibili.com/479141149/channel/collectiondetail?sid=2312309> - Recordings: <https://space.bilibili.com/479141149/lists/2312309>
- Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) - Textbook: Compilers: Principles, Techniques and Tools (Dragon Book)
- Assignments: 10 written assignments + 8~10 programming labs - Assignments: 10 written assignments + 8~10 programming labs

View File

@@ -33,7 +33,7 @@ ANTLR 4 是 LL 解析器生成器,比起 LR 和 LALR 解析器生成器,它
## 课程资源 ## 课程资源
- 课程网站:<http://docs.compilers.cpl.icu/> - 课程网站:<http://docs.compilers.cpl.icu/>
- 课程视频:<https://space.bilibili.com/479141149/channel/collectiondetail?sid=2312309> - 课程视频:<https://space.bilibili.com/479141149/lists/2312309>
- 课程教材:龙书等 - 课程教材:龙书等
- 课程作业10 个书面作业 + 8 ~ 10 个编程作业带你实现一个编译器 - 课程作业10 个书面作业 + 8 ~ 10 个编程作业带你实现一个编译器

View File

@@ -10,20 +10,21 @@
The Compiler Principles course at Shanghai Jiao Tong University aims to implement a compiler for the Tiger language. In this course, you will learn about lexical analysis, grammar analysis, semantic analysis, escape analysis, activation records (stack frames), LLVM IR, liveness analysis, register allocation, garbage collection, object-oriented programming, functional programming, and many other topics. Similar to the Compiler Principles course at Peking University, this course offers you a great deal of freedom. The test programs will only check the correctness of the assembly code you output and will not impose any restrictions on the specific design of your compiler. You will need to build your own compiler step by step from scratch. The Compiler Principles course at Shanghai Jiao Tong University aims to implement a compiler for the Tiger language. In this course, you will learn about lexical analysis, grammar analysis, semantic analysis, escape analysis, activation records (stack frames), LLVM IR, liveness analysis, register allocation, garbage collection, object-oriented programming, functional programming, and many other topics. Similar to the Compiler Principles course at Peking University, this course offers you a great deal of freedom. The test programs will only check the correctness of the assembly code you output and will not impose any restrictions on the specific design of your compiler. You will need to build your own compiler step by step from scratch.
In this course, you will learn how to use frameworks such as `flexc++`, `Bisonc++`, and `LLVM`, and enhance your debugging skills through practice. The theoretical part of the course is taught by teachers from the IPADS Laboratory at Shanghai Jiao Tong University. In this course, you will learn how to use frameworks such as `Flex`, `Bison`, and `LLVM`, and enhance your debugging skills through practice. The theoretical part of the course is taught by teachers from the IPADS Laboratory at Shanghai Jiao Tong University.
## Course Resources ## Course Resources
- Course Website: <https://ipads.se.sjtu.edu.cn/courses/compilers/index.shtml> - Course Website: <https://ipads.se.sjtu.edu.cn/courses/compilers>
- Slides: See the course website - Slides: <https://ipads.se.sjtu.edu.cn/courses/compilers/Schedule.html>
- Framework Code: See GitHub - Framework Code: Not yet open-sourced. Old version: <https://gitee.com/east-china-normal-university_ttb_cs/tiger-compiler-25sp>; For the newest version, please contact to the TA.
- Course Textbook: "Tiger Book" (Modern Compiler Implementation in C) - Course Textbook: "Tiger Book" (Modern Compiler Implementation in C) <https://ipads.se.sjtu.edu.cn/courses/compilers/textbook/TigerBook-English.pdf>
- 2 Quizzes + 6 Labs - 2 Quizzes + 5 essential labs + 2 optional labs
- Lab 1: Straight-line Program Interpreter - Lab 1: Straight-line Program Interpreter
- Lab 2: Lexical Analysis - Lab 2: Lexer
- Lab 3: Parsing - Lab 3: Parser
- Lab 4: Type Checking - Lab 4: Type Checking
- Lab 5 - Lab 5
- Part 1: Escape Analysis and Translation - Part 1: Escape Analysis
- Part 2: Tiger Compiler without Register Allocation - Part 2: Translate to LLVM
- Lab 6: Register Allocation - (Optional) Lab 6: Code Generation
- (Optional) Lab 7: Register Allocation

View File

@@ -8,9 +8,9 @@
- 课程难度:🌟🌟🌟🌟 - 课程难度:🌟🌟🌟🌟
- 预计学时150 小时 - 预计学时150 小时
上海交通大学的编译原理课程旨在实现一个 Tiger 语言的编译器。在这门课上你可以学习到词法分析、文法分析、予以分析、逃逸分析、活动记录栈帧、LLVM IR、活跃分析、寄存器分配、垃圾收集、面向对象、函数式程序等众多话题。和北大的编译原理课程相似该课程给予了你极大的自由度测试程序只会对你输出的汇编代码的正确性进行测试而不会对你编译器的具体设计做任何限制。你需要从一个个空文件中一步步构建出属于你自己的编译器。 上海交通大学的编译原理课程旨在实现一个 Tiger 语言的编译器。在这门课上你可以学习到词法分析、文法分析、语义分析、逃逸分析、活动记录栈帧、LLVM IR、活跃分析、寄存器分配、垃圾收集、面向对象、函数式程序等众多话题。和北大的编译原理课程相似该课程给予了你极大的自由度测试程序只会对你输出的汇编代码的正确性进行测试而不会对你编译器的具体设计做任何限制。你需要从一个个空文件中一步步构建出属于你自己的编译器。
在这门课上你将学到`flexc++``Bisonc++``LLVM`等框架的使用方法,并在练习过程中加强自己的调试能力。 在这门课上你将学到 `Flex``Bison``LLVM` 等框架的使用方法,并在练习过程中加强自己的调试能力。
理论部分由上海交通大学 IPADS 实验室的老师讲述。 理论部分由上海交通大学 IPADS 实验室的老师讲述。
@@ -18,16 +18,17 @@
## 课程资源 ## 课程资源
- 课程网站:<https://ipads.se.sjtu.edu.cn/courses/compilers/index.shtml> - 课程网站:<https://ipads.se.sjtu.edu.cn/courses/compilers>
- 课件:参见课程网站 - 课件:<https://ipads.se.sjtu.edu.cn/courses/compilers/Schedule.html>
- 框架代码:参见 GitHub - 框架代码:暂不开源,旧版本可以见 <https://gitee.com/east-china-normal-university_ttb_cs/tiger-compiler-25sp>,新版本可以邮件联系当届助教。
- 课程教材虎书Modern Compiler Implementation in C - 课程教材虎书Modern Compiler Implementation in C<https://ipads.se.sjtu.edu.cn/courses/compilers/textbook/TigerBook-Chinese.pdf>
- 2 次Quiz + 6 个Lab - 2 次 Quiz + 5必做 Lab + 2 个选做 Lab
- Lab 1: Straight-line Program Interpreter - Lab 1: Straight-line Program Interpreter
- Lab 2: Lexical Analysis - Lab 2: Lexer
- Lab 3: Parsing - Lab 3: Parser
- Lab 4: Type Checking - Lab 4: Type Checking
- Lab 5 - Lab 5
- Part 1: Escape Analysis and Translation - Part 1: Escape Analysis
- Part 2: Tiger Compiler without register allocation - Part 2: Translate to LLVM
- Lab 6: Register Allocation - (Optional) Lab 6: Code Generation
- (Optional) Lab 7: Register Allocation

View File

@@ -264,7 +264,7 @@ nav:
- 数据科学: - 数据科学:
- "UCB Data100: Principles and Techniques of Data Science": "数据科学/Data100.md" - "UCB Data100: Principles and Techniques of Data Science": "数据科学/Data100.md"
- 人工智能: - 人工智能:
- "Neural Networks: Zero to Hero": "人工智能/Neural Networks: Zero to Hero.md" - "Neural Networks: Zero to Hero": "人工智能/Neural NetworksZero to Hero.md"
- "Harvard CS50's Introduction to AI with Python": "人工智能/CS50.md" - "Harvard CS50's Introduction to AI with Python": "人工智能/CS50.md"
- "UCB CS188: Introduction to Artificial Intelligence": "人工智能/CS188.md" - "UCB CS188: Introduction to Artificial Intelligence": "人工智能/CS188.md"
- 机器学习: - 机器学习:
@@ -276,6 +276,7 @@ nav:
- "CMU 10-414/714: Deep Learning Systems": "机器学习系统/CMU10-414.md" - "CMU 10-414/714: Deep Learning Systems": "机器学习系统/CMU10-414.md"
- "MIT6.5940: TinyML and Efficient Deep Learning Computing": "机器学习系统/EML.md" - "MIT6.5940: TinyML and Efficient Deep Learning Computing": "机器学习系统/EML.md"
- "Machine Learning Compilation": "机器学习系统/MLC.md" - "Machine Learning Compilation": "机器学习系统/MLC.md"
- "UCSD CSE234: Data Systems for Machine Learning": "机器学习系统/CSE234.md"
- 深度学习: - 深度学习:
- "Coursera: Deep Learning": "深度学习/CS230.md" - "Coursera: Deep Learning": "深度学习/CS230.md"
- "国立台湾大学: 李宏毅机器学习": "深度学习/LHY.md" - "国立台湾大学: 李宏毅机器学习": "深度学习/LHY.md"
@@ -286,6 +287,7 @@ nav:
- "UCB CS285: Deep Reinforcement Learning": "深度学习/CS285.md" - "UCB CS285: Deep Reinforcement Learning": "深度学习/CS285.md"
- 深度生成模型: - 深度生成模型:
- "学习路线图": "深度生成模型/roadmap.md" - "学习路线图": "深度生成模型/roadmap.md"
- "MIT 6.S184: Generative AI with Stochastic Differential Equations": "深度生成模型/MIT6.S184.md"
- "大语言模型": - "大语言模型":
- "CMU 11-868: Large Language Model System": "深度生成模型/大语言模型/CMU11-868.md" - "CMU 11-868: Large Language Model System": "深度生成模型/大语言模型/CMU11-868.md"
- "CMU 11-667: Large Language Models: Methods and Applications": "深度生成模型/大语言模型/CMU11-667.md" - "CMU 11-667: Large Language Models: Methods and Applications": "深度生成模型/大语言模型/CMU11-667.md"