# How the AI For Beginners Curriculum Is Updated: The Complete Open Source Workflow

> Discover how the AI For Beginners curriculum is updated via a transparent, open-source GitHub workflow. Learn about community contributions, automated checks, and synchronized translations.

- Repository: [Microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners)
- Tags: internals
- Published: 2026-08-19

---

**The AI For Beginners curriculum is updated through a community-driven GitHub workflow where pull requests pass automated CLA verification, CI testing, and translation synchronization before merging into `main`.**

The Microsoft `AI-For-Beginners` repository is a continuously evolving educational resource maintained by open-source contributors. Because the curriculum spans dozens of languages and interactive Jupyter notebooks, updates rely on heavy automation to ensure every lesson stays accurate and runnable. Understanding exactly how the AI For Beginners curriculum is updated helps contributors submit effective changes and assures learners that content is actively maintained.

## The Community Update Pipeline

According to the `microsoft/AI-For-Beginners` source code, the entire refresh process is coordinated through five core stages.

### Step 1: Fork and Edit Lesson Content

Every update begins when a contributor forks the repository and edits files inside the `lessons/` directory—such as `lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb`—or modifies markdown documentation. The [`CONTRIBUTING.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/CONTRIBUTING.md) guide defines this workflow explicitly: "Fork the repository … Fix the typo or broken link … Submit a Pull Request" ([`CONTRIBUTING.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/CONTRIBUTING.md), lines 13-18). Contributors may add examples, patch bugs, or clarify explanations.

### Step 2: CLA Verification

Before human review begins, an automated **CLA-bot** checks whether the contributor has signed the Microsoft Contributor License Agreement. This requirement is enforced for every pull request and documented in [`CONTRIBUTING.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/CONTRIBUTING.md) (lines 5-10). If the agreement is missing, the bot blocks the PR until the contributor completes the signing process.

### Step 3: Automated CI Validation

Once a pull request is open, GitHub Actions workflows inside `.github/workflows/` execute continuous integration checks. Files such as [`codeql.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/codeql.yml) and [`scorecard.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/scorecard.yml) enforce code quality and security standards, while notebook execution tests verify that Jupyter files run without errors. This pipeline ensures that no change to the AI For Beginners curriculum breaks existing educational content.

### Step 4: Translation Synchronization

The curriculum is published in more than 50 languages, and manual translation updates would be impractical at scale. Instead, the repository runs the **Co-op Translator** GitHub Action. Whenever a PR updates the English source, the action regenerates translated markdown files inside the `translations/` directory. The [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) describes this as "Supported via GitHub Action (Automated & Always Up‑to‑Date)" ([`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md), lines 24-28).

### Step 5: Review, Merge, and Distribution

After all automated gates pass, maintainers review the changes and merge the PR into the `main` branch. The updated curriculum is then immediately available to all learners. Users can pull the latest content with `git pull`, or clone a lightweight copy using the sparse-checkout instructions in [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) (lines 31-40) to skip the `translations/` and `translated_images/` folders.

## Practical Example: Preparing a Curriculum Update

The script below demonstrates the exact commands a contributor uses to clone the repository, patch a notebook, and push a branch that triggers the full update pipeline.

```bash

# 1️⃣ Clone the repo (sparse checkout to skip heavy translation files)

git clone --filter=blob:none --sparse https://github.com/microsoft/AI-For-Beginners.git
cd AI-For-Beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

# 2️⃣ Create a new branch for your fix

git checkout -b update-perceptron-notebook

# 3️⃣ Edit a notebook (example: add a missing import)

sed -i '/import torch/a import torch.nn as nn' lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb

# 4️⃣ Commit and push

git add lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
git commit -m "Add missing nn import to Perceptron notebook"
git push origin update-perceptron-notebook

# 5️⃣ Open a Pull Request on GitHub (the UI will trigger CLA-bot & CI)

```

When this PR is submitted, the repository’s GitHub Actions automatically run notebook execution checks, regenerate translated copies via the Co-op Translator action, and prompt the CLA-bot if the contributor has not yet signed the agreement.

## Key Files Controlling Curriculum Updates

Several source files govern how the AI For Beginners curriculum is updated:

- **[`CONTRIBUTING.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/CONTRIBUTING.md)** — Outlines the contributor workflow, from forking to opening a pull request.
- **[`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md)** — Documents multilingual support, the Co-op Translator integration, and sparse-checkout cloning instructions.
- **`.github/workflows/`** — Hosts CI pipelines including [`codeql.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/codeql.yml) and [`scorecard.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/scorecard.yml) that validate notebooks and code quality.
- **`lessons/`** — Contains core educational assets such as `lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb`, which are executed during CI.
- **`translations/`** — Stores auto-generated localized content that is kept in sync by the Co-op Translator GitHub Action.

## Summary

- The AI For Beginners curriculum is refreshed by **open-source pull requests** submitted through GitHub.
- Every contribution must pass automated **CLA verification** before maintainer review.
- **GitHub Actions** in `.github/workflows/` test that Jupyter notebooks run without errors and that code meets security standards.
- The **Co-op Translator** action automatically synchronizes English updates to more than 50 language folders inside `translations/`.
- Once merged into `main`, curriculum changes are instantly available via standard `git pull` or a sparse checkout.

## Frequently Asked Questions

### How often is the AI For Beginners curriculum updated?

There is no fixed release schedule. Because the project is community-driven, updates are merged into `main` continuously as soon as contributors submit passing pull requests and maintainers approve them.

### Do I need to update translations manually when I edit an English lesson?

No. The **Co-op Translator** GitHub Action regenerates all translated markdown files automatically when a pull request modifies the English source. This keeps every language version synchronized without manual effort.

### What automated checks run on a new pull request?

Pull requests trigger **CLA-bot** verification, notebook execution tests, and quality scans via workflows such as [`codeql.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/codeql.yml) and [`scorecard.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/scorecard.yml) in `.github/workflows/`. These checks confirm that new changes do not break existing content.

### Can I clone the curriculum without downloading all 50+ language translations?

Yes. The [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) documents a **sparse checkout** command that excludes the `translations` and `translated_images` directories, letting you download only the core English content for faster cloning and updating.