PKUFlyingPig/cs-self-learning
PKUFlyingPig/cs-self-learning là một hướng dẫn tự học khoa học máy tính rất phổ biến (~74k sao), tổng hợp lộ trình, tài nguyên và lời khuyên học các mảng như hệ điều hành, mạng, thuật toán, lập trình…
Kết luận: partial · Công nghệ: computer-science · self-learning · knowledge-base · developer-education · curriculum
PKUFlyingPig/cs-self-learning là một hướng dẫn tự học khoa học máy tính rất phổ biến (~74k sao), tổng hợp lộ trình, tài nguyên và lời khuyên học các mảng như hệ điều hành, mạng, thuật toán, lập trình và công cụ. Đây không phải thư viện hay nền tảng để tích hợp trực tiếp, mà phù hợp như nguồn tham chiếu để xây dựng knowledge base, onboarding roadmap và checklist học nội bộ cho lập trình viên.
📖 Giới thiệu chi tiết
🧩 Nó là gì?
PKUFlyingPig/cs-self-learning là một hướng dẫn tự học khoa học máy tính miễn phí, được đọc chủ yếu qua website https://csdiy.wiki. Bạn có thể hiểu đơn giản đây là “bản đồ học CS”: học gì trước, học ở đâu, nên làm bài tập/dự án nào, và tránh lạc giữa quá nhiều tài liệu trên mạng.
🎯 Giải quyết vấn đề gì? Dành cho ai?
Dự án này giải quyết một vấn đề rất quen thuộc: muốn tự học lập trình/khoa học máy tính nhưng không biết bắt đầu từ đâu, học theo thứ tự nào, chọn khóa nào cho đáng thời gian.
Nó đặc biệt phù hợp với:
- Người mới muốn tự học CS một cách bài bản, không chỉ học vài cú pháp lập trình.
- Sinh viên ngành khác muốn chuyển sang lập trình hoặc công nghệ.
- Sinh viên CS muốn bổ sung kiến thức còn thiếu ngoài chương trình đại học.
- Lập trình viên đã đi làm muốn xây lại nền tảng về thuật toán, hệ điều hành, mạng, database, AI, v.v.
- Team kỹ thuật muốn dùng làm knowledge base nội bộ, lộ trình onboarding hoặc checklist học tập.
Điểm quan trọng: đây không phải là một thư viện code để cài vào dự án, cũng không phải nền tảng học có bài giảng riêng từ đầu đến cuối. Nó là một repo tổng hợp, chọn lọc và sắp xếp tài nguyên học chất lượng cao.
⚙️ Hoạt động ra sao?
- Dự án gom các khóa học, sách, bài giảng, bài tập và project chất lượng từ cộng đồng mã nguồn mở, đặc biệt là các khóa CS nổi tiếng.
- Nội dung được tổ chức thành nhiều mảng như lập trình, toán cho CS, thuật toán, hệ điều hành, mạng máy tính, cơ sở dữ liệu, hệ thống phân tán, AI, machine learning, web development, công cụ lập trình, v.v.
- Mỗi phần thường gợi ý bạn nên học tài nguyên nào, vì sao nên học, độ khó ra sao và cần chuẩn bị gì.
- Người học dùng website
https://csdiy.wikiđể đọc lộ trình và chọn khóa phù hợp với mục tiêu của mình. - Repo
PKUFlyingPig/cs-self-learningchứa mã nguồn nội dung của website, nên cộng đồng có thể đóng góp bằngPull Request. - Nếu muốn thêm khóa học mới, contributor có thể tham khảo
template.mdvà cập nhật cấu hình trongmkdocs.yml. - Dự án có bản tiếng Anh tại
https://csdiy.wiki/en/.
🆚 Khi nào nên dùng / không nên
Nên dùng khi:
- Bạn muốn tự học CS nghiêm túc trong thời gian dài, ví dụ 6 tháng, 1 năm hoặc 2-3 năm.
- Bạn cần một lộ trình đáng tin cậy thay vì lưu hàng trăm link rồi không học.
- Bạn muốn học theo kiểu “hiểu bản chất + làm project”, không chỉ xem video cho biết.
- Bạn đang xây lộ trình học nội bộ cho junior developer hoặc intern.
Không nên dùng khi:
- Bạn cần một khóa học “cầm tay chỉ việc” bằng tiếng Việt từ bài 1 đến bài cuối.
- Bạn chỉ muốn học nhanh một framework cụ thể như React, Django hoặc Spring Boot để làm sản phẩm ngay.
- Bạn không muốn đọc tài liệu tiếng Anh hoặc tiếng Trung, vì nhiều tài nguyên được giới thiệu có thể dùng các ngôn ngữ này.
- Bạn cần chứng chỉ chính thức sau khi học.
So với việc tự tìm khóa học trên YouTube, Coursera hoặc edX, PKUFlyingPig/cs-self-learning giống như một người mentor đã lọc sẵn đường đi cho bạn. Tuy nhiên, bạn vẫn phải tự học, tự làm bài tập và tự giữ kỷ luật.
🚀 Bắt đầu nhanh
Bạn có thể bắt đầu theo cách đơn giản nhất là đọc trực tiếp trên website:
# 1. Mở website chính
https://csdiy.wiki
# 2. Nếu muốn đọc bản tiếng Anh
https://csdiy.wiki/en/
# 3. Nếu muốn xem repo trên GitHub
https://github.com/PKUFlyingPig/cs-self-learning
Nếu bạn muốn clone repo về máy để đọc mã nguồn nội dung hoặc đóng góp:
# Clone repo
git clone https://github.com/PKUFlyingPig/cs-self-learning.git
# Đi vào thư mục dự án
cd cs-self-learning
# Xem các file chính
ls
# Mở file README
cat README.md
Ví dụ cách dùng tối thiểu cho người mới:
1. Vào https://csdiy.wiki
2. Đọc phần CS 学习规划 để hiểu lộ trình tổng quan
3. Chọn một mảng gần mục tiêu nhất, ví dụ:
- lập trình cơ bản
- thuật toán
- hệ điều hành
- mạng máy tính
- database
4. Chọn 1 khóa học được gợi ý, không chọn quá nhiều cùng lúc
5. Học bài giảng + làm bài tập/project
6. Ghi chú lại tiến độ vào checklist cá nhân
Nếu dùng cho team onboarding, có thể biến nội dung thành checklist như sau:
# Junior Developer CS Checklist
- [ ] Hoàn thành phần lập trình cơ bản
- [ ] Học thuật toán nền tảng
- [ ] Làm ít nhất 1 project về hệ thống
- [ ] Học mạng máy tính cơ bản
- [ ] Học database cơ bản
- [ ] Viết ghi chú sau mỗi khóa học
✅ Điểm mạnh & ⚠️ Hạn chế
✅ Điểm mạnh:
- Lộ trình rộng và có hệ thống, giúp người mới bớt hoang mang khi tự học CS.
- Tập trung vào tài nguyên chất lượng cao, nhiều khóa học đến từ cộng đồng và đại học uy tín.
- Có định hướng học qua project, không chỉ học lý thuyết.
- Phù hợp để làm tài liệu tham khảo lâu dài cho cá nhân hoặc team.
- Cộng đồng quan tâm lớn, repo có khoảng
74ksao nên dễ tìm thảo luận, issue và đóng góp. - Có website đọc miễn phí tại
https://csdiy.wiki.
⚠️ Hạn chế:
- Không phải khóa học hoàn chỉnh theo kiểu “mở video lên là học từ A-Z”.
- Người học cần tự quản lý thời gian, tự chọn nhánh học và tự duy trì động lực.
- Một số tài nguyên có thể khó với người mới hoàn toàn nếu chưa quen tiếng Anh, toán hoặc lập trình cơ bản.
- Phạm vi rất rộng, dễ bị “tham học nhiều thứ” nếu không đặt mục tiêu rõ ràng.
- Không phải thư viện hay API, nên không dùng để tích hợp trực tiếp vào sản phẩm phần mềm.