CS Self-Learning is a curated curriculum guide that helps developers teach themselves computer science through open-source university courses and resources.
The guide addresses the challenge of self-directed CS education by organizing high-quality open courses from top universities into a structured learning path. Rather than leaving learners to navigate scattered resources and unclear progression, it curates courses across foundational and advanced topics, providing clear sequencing, difficulty expectations, and practical project guidance. The approach acknowledges that while excellent courses exist freely online, learners need direction on what to study, in what order, and how to verify their understanding through assignments and projects.
The guide suits anyone starting from a computer science foundation level who can commit sustained effort over multiple years. It works best for self-directed learners who prefer structured guidance over completely unguided exploration, and for those seeking breadth across the CS discipline rather than depth in a single specialization. The curriculum spans mathematics, multiple programming languages, algorithms, systems topics, and emerging fields like machine learning and distributed systems. The guide is available in both Chinese and English, with an online reading interface alongside the repository.
The project actively accepts contributions through pull requests for course additions, content improvements, and book recommendations, with templates and guidelines provided for contributors. The maintainer documented their personal learning journey and philosophy to establish the guide's foundation, creating a resource that reflects lessons learned from self-study rather than institutional curriculum design.