# Where to Find the English Version of Course Materials in the cs-self-learning Repository

> Find English course materials easily in the cs-self-learning repository. Access `*.en.md` files or visit the mirrored website at https://csdiy.wiki/en/ for quick links.

- Repository: [Yinmin Zhong/cs-self-learning](https://github.com/PKUFlyingPig/cs-self-learning)
- Tags: how-to-guide
- Published: 2026-03-02

---

**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.md`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/README.md) as 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`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/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`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/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:

```python
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.md` files.
- Every course includes a parallel English file identified by the [`.en.md`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/.en.md) suffix in its directory path.
- Key English files include `docs/软件工程/CS169.en.md`, `docs/软件工程/6031.en.md`, and `docs/CS学习规划.en.md`.
- The [`mkdocs.yml`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/mkdocs.yml) configuration 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`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/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`](https://github.com/PKUFlyingPig/cs-self-learning/blob/main/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.