Where to Find the English Version of Course Materials in the cs-self-learning Repository
The PKUFlyingPig/cs-self-learning repository provides an English version of every course via dedicated *.en.md files and a mirrored website at https://csdiy.wiki/en/.
The cs-self-learning project by PKUFlyingPig is a comprehensive, open-source computer science curriculum that maintains complete bilingual support. Whether you prefer browsing a polished website or accessing raw markdown files directly in the repository, the English version of course materials is readily available through specific file naming conventions and navigation configurations.
Accessing the English Website
The primary entry point for the English edition is the dedicated subdomain that mirrors the entire guide in English.
- URL: https://csdiy.wiki/en/
- Source: Linked directly from the repository's
README.mdas the official English portal.
This site serves the same structured content as the Chinese version, automatically routing users to English pages based on the navigation configuration defined in mkdocs.yml.
Locating English Files in the Repository
Within the GitHub repository, every course maintains a parallel English translation using a consistent file naming pattern. Each English course file uses the *.en.md extension, residing in the same directory as its Chinese counterpart.
Specific File Paths
The repository contains dedicated English markdown files for individual courses and planning documents:
- UCB CS169 – Software Engineering:
docs/软件工程/CS169.en.md - MIT 6.031 – Software Construction:
docs/软件工程/6031.en.md - CS Learning Plan (English):
docs/CS学习规划.en.md
These files contain the full syllabus descriptions, prerequisites, and resource links translated into English.
Navigation Configuration
The bilingual structure is enforced through mkdocs.yml, which lists English pages side-by-side with Chinese ones. This configuration ensures that the built website automatically serves the proper English version of course materials when users select the language toggle or visit the /en/ path.
Programmatically Fetching English Course Files
You can retrieve any English course file directly from GitHub's raw content API without cloning the entire repository. This approach is useful for building custom study guides or offline readers.
The following Python example demonstrates how to fetch the English version of UCB CS169 using the requests library:
import requests
# Example: fetch the English version of CS169 (Software Engineering)
url = "https://raw.githubusercontent.com/PKUFlyingPig/cs-self-learning/master/docs/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169.en.md"
response = requests.get(url)
if response.status_code == 200:
cs169_en = response.text
print(cs169_en[:500]) # show first 500 characters
else:
print(f"Failed to fetch: {response.status_code}")
To fetch a different course, replace the path after master/ with the target *.en.md file location. For example, change the URL to docs/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031.en.md to retrieve the MIT 6.031 materials.
Summary
- The English version of course materials is hosted at https://csdiy.wiki/en/, generated from the repository's
*.en.mdfiles. - Every course includes a parallel English file identified by the
.en.mdsuffix in its directory path. - Key English files include
docs/软件工程/CS169.en.md,docs/软件工程/6031.en.md, anddocs/CS学习规划.en.md. - The
mkdocs.ymlconfiguration manages bilingual navigation, ensuring English pages are properly indexed and served. - Raw English files can be accessed programmatically via GitHub's raw content URLs using standard HTTP libraries.
Frequently Asked Questions
Is there a dedicated website for the English version of the course materials?
Yes. The repository maintains a live English site at https://csdiy.wiki/en/ that mirrors the full curriculum. This site is built from the same source files as the Chinese version but specifically renders the *.en.md content, as configured in the mkdocs.yml navigation structure.
What naming convention identifies English course files in the repository?
All English course materials use the *.en.md file extension. For example, the English version of UCB CS169 is located at docs/软件工程/CS169.en.md, while the Chinese version would be docs/软件工程/CS169.md. This pattern applies consistently across all directories in the repository.
Can I download the English course materials for offline use?
Absolutely. You can either clone the entire repository or fetch individual files programmatically. Using Python's requests library or a simple curl command against GitHub's raw user content domain (e.g., https://raw.githubusercontent.com/PKUFlyingPig/cs-self-learning/master/docs/...) allows you to save specific English markdown files locally without downloading the full repository history.
Are all courses in the repository available in English?
According to the repository structure and navigation configuration in mkdocs.yml, every listed course provides both Chinese and English versions. The *.en.md files exist for the complete curriculum, including the overarching docs/CS学习规划.en.md learning plan and individual course descriptions like MIT 6.031 and UCB CS169.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →