TrendWhat rose on GitHub, every day at 07:30 KST · 한국어

GitHub · as of November 8, 2026 · View on GitHub →

PKUFlyingPig/cs-self-learning

Computer science self-learning guide

Build a 2-3 year computer science path from scattered university lectures

If you have ever felt overwhelmed by the sheer number of online courses and textbooks, not knowing where to start, this guide helps. It organizes scattered resources into a systematic path, allowing you to learn from basics to advanced topics in order. It goes beyond listing lectures by clearly showing what competencies you need to develop at each stage.

A 2-3 year growth plan from beginner to practitioner

The goal of this guide is for a computer science beginner to build a solid foundation within 2-3 years. It emphasizes the process of building skills by implementing projects of several thousand lines after acquiring mathematical basics and coding abilities. It covers major programming languages such as C, C++, Java, JavaScript, Python, Go, and Rust, and is structured to help you understand the boundary between hardware and software, going beyond algorithms and data structures. It encompasses a wide range of topics including networks, operating systems, compilers, artificial intelligence, machine learning, computer vision, natural language processing, reinforcement learning, cryptography, information theory, game theory, numerical analysis, statistics, distributed systems, databases, graphics, web development, cloud services, and supercomputing. This learning path helps you grow into a versatile programmer with competitiveness in both research and employment.

A learning structure that prevents you from getting lost

The biggest barrier to self-studying computer science is that materials are scattered and difficulty levels are unclear. Simply having many good lectures is not enough; the guide directs you on what order to follow and to what depth to study. It utilizes lectures from top world universities and open-source materials provided online for free, allowing you to receive high-quality education without tuition fees. It is designed to reduce difficulties and mistakes encountered during the learning process, enabling you to build skills efficiently.

Knowledge completed with the community

This guide is not a static document but a living resource that continues to evolve through contributor participation. If you need to supplement a specific chapter or want to recommend a new lecture, you can add content via a pull request. When proposing a new lecture, refer to the template in the repository and register the navigation in the mkdocs.yml file. You can also add to the recommended book list according to the specified format. Additionally, you can use the comment feature at the bottom of the page to communicate with other learners with similar goals or join study groups formed from existing issues. When contributing, you must also provide an English translation, and if you find typos or conceptual errors, you should report them via an issue.

Things to know before starting

This guide is aimed at beginners with almost no basic knowledge of computer science. Therefore, a minimum interest and willingness in mathematical basics and coding are required. Since all resources are provided online for free, you can start anytime as long as you have an internet connection. However, having the time and self-management ability to continue studying consistently over the 2-3 year period is important. In terms of licensing, parts written by project contributors follow the MIT license, while external lectures, books, and video materials mentioned in the book must comply with the licenses of their original authors. Therefore, you must always check the usage conditions of the source when reusing or distributing materials.

Written by AI from this repository's README on October 6, 2026. For the facts, the original on GitHub is the reference.

By the numbers

GitHub trending history
1 day between Jun 19, when Trend began recording, and Nov 8, 2026 · first on Jul 19 · best daily rank #18 (Jul 19)

Read from GitHub, as of November 7, 2026. None were read on November 8, 2026.

Language
HTML
Stars
76,647
Contributors
178
Forks
8,029
Latest release
v1.2.0 · June 8, 2025
Commits
576
Last commit
September 17, 2026
Open issues
132
Open pull requests
35

View on GitHub → · Homepage

README badge

trend.ondo.sh · GitHub daily trending #18 · July 19, 2026

The badge above shows the highest this repository has ranked on GitHub's daily trending since June 19, 2026, and the day it did. Paste the Markdown below into your README. The badge opens this page, and it updates by itself when the repository climbs higher.

[![trend.ondo.sh](https://trend.ondo.sh/github/r/PKUFlyingPig--cs-self-learning/badge.en.svg)](https://trend.ondo.sh/github/r/PKUFlyingPig--cs-self-learning/en.html)