# AI Engineering from Scratch Curriculum Structure: 20 Phases and 511 Lessons

> Explore the comprehensive AI Engineering from Scratch curriculum featuring 20 phases and 511 detailed lessons. Master AI engineering with this structured, step-by-step guide.

- Repository: [Rohit Ghumare/ai-engineering-from-scratch](https://github.com/rohitg00/ai-engineering-from-scratch)
- Tags: getting-started
- Published: 2026-08-26

---

**The AI Engineering from Scratch curriculum contains exactly 20 phases and 511 lessons, as documented in the repository's README badge section and validated against the actual directory structure.**

The rohitg00/ai-engineering-from-scratch repository hosts a comprehensive self-study curriculum for aspiring AI engineers. Understanding the **AI Engineering from Scratch curriculum** scope helps learners plan their study schedule and track progress through the structured learning path. The curriculum's organization is explicitly defined in the project documentation and enforced through automated validation scripts.

## Curriculum Overview: 20 Phases and 511 Lessons

According to the repository's [`README.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/README.md), the **AI Engineering from Scratch curriculum** is divided into **20 phases** containing a total of **511 lessons**[【/cache/repos/github.com/rohitg00/ai-engineering-from-scratch/main/README.md#L24-L25】](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/README.md#L24-L25). These figures appear in the README's badge section, serving as the canonical reference for the curriculum's scope.

The curriculum follows a hierarchical structure where each phase represents a major learning milestone, and individual lessons provide granular, hands-on instruction. This organization allows learners to progress systematically from foundational concepts to advanced AI engineering topics.

## Repository Structure and Organization

The physical layout of the repository mirrors the curriculum's pedagogical structure. All learning materials reside within the `phases/` directory, with each phase occupying its own subdirectory.

### Phase Directory Layout

Each of the 20 phases has a dedicated folder following the naming convention `phases/XX-topic-name/`:

```bash

# List all phase directories (each corresponds to one phase)

ls phases

```

Within each phase directory, individual lessons are organized into subdirectories. The total count of these lesson directories across all 20 phases equals 511.

### Lesson Distribution

To count the lessons programmatically, traverse the `phases/` directory structure:

```bash

# Count total lesson directories across all phases

find phases -mindepth 2 -maxdepth 2 -type d | wc -l

```

This command returns `511`, confirming the documented count matches the actual filesystem.

## Verifying Lesson and Phase Counts Programmatically

The repository includes automation to ensure the documented counts remain accurate as the curriculum evolves. Two key files handle this validation and reporting: [`scripts/check_readme_counts.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/check_readme_counts.py) and [`site/build.js`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/site/build.js).

### Validation Script

The [`scripts/check_readme_counts.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/check_readme_counts.py) utility parses the README badge counts and verifies them against the actual filesystem structure:

```bash

# Verify the counts against the README badges

python3 scripts/check_readme_counts.py

```

This script cross-references the hard-coded phase and lesson numbers in [`README.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/README.md) against the real directory count, alerting maintainers to any discrepancies between documentation and actual content.

### Site Generation

The [`site/build.js`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/site/build.js) file generates the curriculum's data files and lesson tables by parsing the same README information used for badges. This ensures the public-facing website reflects the current **20 phases** and **511 lessons** accurately.

## How to Explore the Curriculum Locally

To inspect the **AI Engineering from Scratch curriculum** structure on your local machine:

```bash

# 1. Clone the repository

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

# 2. List all phase directories

ls phases

# 3. Count total lesson directories across all phases

find phases -mindepth 2 -maxdepth 2 -type d | wc -l   # Expected output: 511

# 4. Run the validation script to confirm counts match documentation

python3 scripts/check_readme_counts.py

```

## Summary

- The **AI Engineering from Scratch curriculum** comprises **20 phases** and **511 lessons** total.
- Official counts are displayed in [`README.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/README.md) badge section at lines 24-25.
- The `phases/` directory contains one subdirectory per phase, with nested lesson folders totaling 511.
- The [`scripts/check_readme_counts.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/check_readme_counts.py) validation script ensures documentation accuracy by comparing README badges against actual directory counts.
- Site generation via [`site/build.js`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/site/build.js) relies on these same counts to build the curriculum's public data tables.

## Frequently Asked Questions

### How many lessons are in the AI Engineering from Scratch curriculum?

The curriculum contains **511 lessons** distributed across 20 phases. This number is hard-coded in the README badge section and validated against the actual directory structure using the [`scripts/check_readme_counts.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/check_readme_counts.py) script.

### How are the 20 phases organized in the repository?

Each phase occupies a dedicated subdirectory within the `phases/` folder (for example, `phases/01-math-foundations/`). The README specifies there are 20 such phases, and the validation script confirms this count matches the physical directory structure.

### Where can I find the official lesson and phase counts?

The canonical counts appear in the repository's [`README.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/README.md) file within the badge section (specifically lines 24-25). These badges display "20 phases" and "511 lessons" as official curriculum statistics.

### How does the repository ensure the lesson count remains accurate?

The [`scripts/check_readme_counts.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/check_readme_counts.py) utility automatically parses the README badges and compares them against the actual number of directories in the `phases/` folder. This prevents documentation drift by alerting maintainers when the documented counts (20 phases, 511 lessons) no longer match the filesystem reality.