explaingit

pkuflyingpig/cs-self-learning

72,810HTMLAudience · generalComplexity · 1/5MaintainedLicenseSetup · easy

TLDR

A curated self-learning guide to computer science using free university courses, organized by topic with recommended materials and projects to build a strong CS foundation in 2, 3 years.

Mindmap

mindmap
  root((repo))
    What it does
      Curated course guide
      Topic organization
      Project recommendations
    Coverage areas
      Algorithms
      Operating systems
      Machine learning
      Databases
    Learning path
      Math foundations
      Coding practice
      Broad subfields
    Format
      Static website
      Free resources
      Chinese and English

Things people build with this

USE CASE 1

Build a structured self-taught CS curriculum using free university courses instead of paying for a degree.

USE CASE 2

Find recommended textbooks, projects, and assignments for topics like algorithms, databases, and machine learning.

USE CASE 3

Plan a 2, 3 year learning path from CS fundamentals to becoming a well-rounded programmer with practical experience.

Tech stack

MkDocsHTML

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

This repository is a self-learning guide for computer science, written primarily in Chinese and aimed at people who want to teach themselves CS using free online resources from top universities. The description translates roughly to "Computer Science Self-Learning Guide." The README is written in Chinese and describes the author's motivation: with many elite universities making their courses freely available online, self-learning CS has become very practical, but the challenge is knowing which courses to choose, where to find materials, and how to sequence your studies. The project works as a curated, structured reading guide rather than a code repository. It organizes recommended courses, textbooks, and projects by topic area, covering subjects like algorithms, operating systems, networking, compilers, machine learning, computer vision, databases, and more. Each entry explains what the course covers, where to find it, and what projects or assignments are worth doing. The goal described in the README is ambitious: to take someone from beginner to a well-rounded programmer with solid math foundations, practical coding experience across multiple languages, and exposure to a broad set of CS subfields within roughly two to three years. You would use this resource if you are a Chinese-speaking student, career-changer, or self-taught developer who wants a structured path through CS fundamentals using free university course materials. An English version of the site is also available. The project itself is built as a static website using MkDocs (a documentation tool) and HTML, hosted at csdiy.wiki. There is no software to run or install; it is purely educational reference material.

Copy-paste prompts

Prompt 1
I want to teach myself computer science using free online courses. What's a good order to learn algorithms, operating systems, and databases?
Prompt 2
Show me how to use this CS self-learning guide to find university courses and projects for machine learning and computer vision.
Prompt 3
I'm switching careers into programming. How can I use this guide to build a strong math foundation and coding skills over the next two years?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.