CS Self-Learning Guide: A Curated CS Curriculum
CS Self-Learning Guide is a free curriculum built by one PKU student who mapped out the open-source university courses that got them through a self-taught computer science education. It isn't software you install. It's a sequenced reading list with commentary, hosted at csdiy.wiki. Reach for it if you want a vetted starting point instead of guessing which open course to trust; skip it if you need grading, deadlines, or a credential at the end.
Why Self-Learning CS is Challenging
Elite universities abroad have open-sourced entire CS courses, so the raw material for a self-taught degree already exists — the hard part is sequencing it. A newcomer facing dozens of unconnected course pages has no way to judge which ones build on each other, how hard the assignments actually are, or how to keep up with a real degree program's coursework at the same time. CS Self-Learning Guide's own origin, per its README, is one student's answer to exactly that: a multi-year record of which courses to take, in what order, condensed into a single site.
About the CS Self-Learning Guide
CS Self-Learning Guide is a book-style website (csdiy.wiki) that walks through a sequence of open university CS courses instead of hosting any course content itself. Its author wrote it during their fourth year at Peking University to record which open-sourced courses were worth taking and why, aiming to take a beginner from zero to a broad, self-taught CS background over roughly two to three years, per the README.
Who Benefits from This Guide?
CS Self-Learning Guide suits someone who already has some study discipline and wants a sequenced list of open university courses instead of picking blindly — the README's own target reader is a near-beginner willing to commit two to three years to building a broad CS background across languages, math, and systems topics. It's a weaker fit if you read Chinese poorly, since the primary site is Chinese and the README says the English edition can trail it, or if you need outside deadlines and grading to stay on track rather than self-paced study.
What the Guide Offers
- ✓A sequenced course list rather than a flat directory — the README frames it as the author's own path through open university courses during their degree.
- ✓Programming-language coverage named in the README's own goal: C/C++, Java, JavaScript, Python, Go, and Rust.
- ✓Systems and theory topics including algorithms, computer architecture, operating systems, compilers, and computer networks.
- ✓Applied and research areas: AI, machine learning, computer vision, NLP, reinforcement learning, cryptography, information theory, game theory, numerical analysis, statistics, distributed systems, databases, computer graphics, web development, and cloud services.
- ✓A separate book-recommendations page (好书推荐) with its own contribution format for supplementary reading.
- ✓A CS学习规划 (CS learning-plan) document giving a short blurb per subject area.
- ✓Per-course comment threads plus reader-organized QQ/WeChat study groups, some already linked from past GitHub issues.
- ✓A bilingual site: the Chinese original at csdiy.wiki and an English edition at csdiy.wiki/en/.
Strengths
- ✓Written by someone who actually went through the sequence, per the README's own account, not just a links page assembled from other lists.
- ✓Organized as a learning path with per-course context instead of a flat list.
- ✓Free to read online, no signup, available in both Chinese and English.
- ✓A community layer built in: per-course comments plus reader-organized study groups.
- ✓The contribution process is spelled out — template.md, mkdocs.yml navigation, and a slot in the learning-plan document.
Considerations for Self-Learners
- △The primary site is Chinese-language (csdiy.wiki); an English edition exists at csdiy.wiki/en/, but the README asks new contributions to include an English translation, which suggests the English edition can lag the Chinese source.
- △It curates rather than hosts: the actual course videos, assignments, and materials sit on outside university or MOOC platforms, and the README notes those keep whatever license their original authors set, separate from the MIT license on the guide's own written content.
- △There's no described grading, certification, or progress tracking; how you judge your own completion of a course isn't documented in the README.
- △The stated ambition is broad — the author's own goal for the guide spans everything from circuits and compilers to reinforcement learning and distributed systems — which is a lot of ground for someone just starting out.
Comparing Self-Study with Traditional Education
Common Questions
CS Self-Learning Guide is free to read online at csdiy.wiki, with no signup or payment mentioned anywhere in the README.
Per its README, CS Self-Learning Guide's course list spans programming languages such as C/C++, Java, JavaScript, Python, Go, and Rust, plus algorithms, computer architecture, operating systems, compilers, computer networks, AI, machine learning, computer vision, NLP, cryptography, distributed systems, databases, computer graphics, web development, and cloud services.
Yes, CS Self-Learning Guide takes pull requests. Adding a new course means following the repo's template.md format, registering it in mkdocs.yml, and adding a short blurb to the CS learning-plan document; book recommendations follow a separate format described in the README.
Yes, CS Self-Learning Guide has an English edition at csdiy.wiki/en/ alongside the primary Chinese site, though the README asks contributors to supply an English translation for new content.
CS Self-Learning Guide's own written material is MIT-licensed, matching the MIT license GitHub shows for the repo, but the README says the external courses, open-source books, and videos it links to keep whatever license their original authors set.
CS Self-Learning Guide's site has a comment section on each course page; the README describes readers starting their own QQ or WeChat study group and posting how to join in the comments, and some past groups organized through GitHub issues can still be joined directly.
Best use cases
- •Following a sequence of open-source university CS courses that's already been chosen for you, instead of hunting for them one by one.
- •Chinese-reading self-learners who want per-course commentary written by someone who actually took the courses, per the README's own origin story.
- •Finding a study group for a specific course through the comment section and QQ/WeChat groups readers organize themselves.
- •Cross-referencing supplementary reading through the guide's book-recommendations page (好书推荐).
- •Contributing a write-up of a course you've completed yourself, if it fits the guide's existing course list.
Want a second opinion on cs-self-learning?
Ask an AI that can read this page — one click and you get its take on cs-self-learning.
