# What Is the Structure of the Lessons Directory in AI-For-Beginners?

> Explore the structure of the lessons directory in AI-For-Beginners. Discover its modular 12-week curriculum organized into thematic subdirectories with notebooks, assignments, and more.

- Repository: [Microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners)
- Tags: how-to-guide
- Published: 2026-08-11

---

**The `lessons` directory in Microsoft's AI-For-Beginners repository follows a modular 12-week curriculum structure organized into thematic subdirectories, each containing README files, Jupyter notebooks, assignments, and supporting assets.**

The [AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners) repository provides a comprehensive introductory course on artificial intelligence developed by Microsoft. At the heart of this educational resource lies the `lessons` folder, which houses all instructional content sequentially organized from environment setup through advanced AI concepts to ethical considerations. Understanding this directory structure is essential for navigating the curriculum effectively, whether you are a student working through the 12-week program or an educator integrating these materials into automated teaching pipelines.

## Top-Level Module Organization

According to the microsoft/AI-For-Beginners source code, the `lessons` directory contains ten primary subdirectories that correspond to the course curriculum. Each module folder follows a consistent naming convention prefixed with numbers to indicate progression, except for supplementary materials.

- **0-course-setup**: Contains introductory guidance for configuring the development environment, including conda and devcontainer configurations. Key files include [`setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/setup.md) and [`how-to-run.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/how-to-run.md).

- **1-Intro**: Covers foundations of AI, including history, terminology, and simple Python demonstrations. Contains [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) and [`assignment.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/assignment.md) with hands-on exercises.

- **2-Symbolic**: Focuses on symbolic AI, knowledge representation, and expert-system basics. Includes example notebooks such as `MSConceptGraph.ipynb` and `FamilyOntology.ipynb`.

- **3-NeuralNetworks**: Explores classical neural-network concepts, perceptrons, activation functions, and deep-learning frameworks. Features subdirectories like `05-Frameworks` containing `IntroKeras.ipynb`.

- **4-ComputerVision**: Addresses image processing, CNNs, and vision tasks including classification and segmentation. Contains segmentation notebooks such as `SemanticSegmentationTF.ipynb` and `SemanticSegmentationPytorch.ipynb` within the `12-Segmentation` subfolder.

- **5-NLP**: Dedicated to natural-language processing, tokenization, transformers, and generative models. Organized into chapter folders including `18-Transformers`, `19-NER`, and `20-LangModels`, containing notebooks like `TransformersTF.ipynb`, `NER-TF.ipynb`, and `GPT-PyTorch.ipynb`.

- **6-Other**: Contains advanced topics including deep reinforcement learning, genetic algorithms, and multi-agent systems. Includes labs such as `22-DeepRL/CartPole-RL-TF.ipynb` and `21-GeneticAlgorithms/Genetic.ipynb`.

- **7-Ethics**: Focuses on responsible AI, bias, privacy, and societal impact discussions. Contains [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) with ethical frameworks.

- **X-Extras**: Houses supplementary material, experimental labs, and bonus content. Includes `X1-MultiModal` with CLIP and VQ-GAN notebooks such as `Clip.ipynb`.

- **sketchnotes**: Contains visual "sketch-note" summaries of each major topic stored as PNG images, such as `ai-overview.png` and `ai-nlp.png`, providing quick visual reference without code.

## Internal File Organization Pattern

Each module directory follows a predictable internal structure that separates documentation, executable code, and data assets. A typical lesson folder contains:

- [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md): High-level description of learning objectives and module overview.
- [`assignment.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/assignment.md): Optional hands-on tasks and exercises for self-assessment.
- [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt): pip or conda dependencies specific to the module (often split into [`requirements-tf.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements-tf.txt) and [`requirements-pytorch.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements-pytorch.txt)).
- `<topic>/`: Optional sub-folders for specific sub-topics containing Jupyter notebooks and Python scripts.
- `data/`: Small datasets used by the notebooks for demonstrations.
- `images/`: Supporting visual assets referenced by documentation and notebooks.

All Jupyter notebooks are designed to run cell-by-cell in Jupyter Lab, with most modules providing framework-specific requirement files that list exact library versions needed for the exercises.

## Navigating the Curriculum Programmatically

You can explore the `lessons` hierarchy programmatically using Python's standard libraries. This approach is useful for automated course validation or building custom learning management integrations.

To list all top-level lesson modules:

```python

# Example: List all top-level lesson modules

from pathlib import Path

repo_root = Path(__file__).parent.parent   # adjust if run from a sub-dir

lessons_dir = repo_root / "lessons"

modules = [p.name for p in lessons_dir.iterdir() if p.is_dir()]
print("Lesson modules:", modules)

# Output: ['0-course-setup', '1-Intro', '2-Symbolic', ...]

```

To load a specific notebook as JSON for automated parsing or validation:

```python

# Example: Load a notebook as JSON (useful for automated checks)

import json

nb_path = lessons_dir / "5-NLP" / "18-Transformers" / "TransformersTF.ipynb"
with nb_path.open("r", encoding="utf-8") as f:
    notebook = json.load(f)

print("Notebook title:", notebook["metadata"]["title"])

```

## Critical Entry Points and Key Files

Several files serve as primary navigation anchors within the `lessons` structure:

- [`lessons/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/README.md): Provides the general curriculum overview and navigation tips for the entire course.
- [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md): The essential first step for anyone cloning the repository, detailing conda environment configuration.
- [`lessons/1-Intro/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/1-Intro/README.md): The entry point for beginners covering fundamental AI concepts and terminology.
- `lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb`: Demonstrates the transition from theoretical concepts to practical implementation using the Keras framework.
- `lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb`: Implements TensorFlow-based semantic segmentation, representing a core computer vision task.
- `lessons/5-NLP/18-Transformers/TransformersTF.ipynb`: Hands-on transformer implementation in TensorFlow, crucial for understanding modern NLP architectures.
- `lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb`: The classic reinforcement learning example using the CartPole environment, widely used in teaching contexts.
- [`lessons/7-Ethics/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/7-Ethics/README.md): Establishes the ethical framework underpinning the entire curriculum.
- `lessons/X-Extras/X1-MultiModal/Clip.ipynb`: Bonus multimodal lab showcasing state-of-the-art CLIP research.

## Summary

- The **AI-For-Beginners** repository organizes its educational content into the `lessons` directory, structured as a 12-week modular curriculum.
- Modules are numbered sequentially from **0-course-setup** through **7-Ethics**, plus **X-Extras** and **sketchnotes** for supplementary materials.
- Each module follows a consistent internal pattern containing [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md), optional [`assignment.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/assignment.md), framework-specific requirements files, Jupyter notebooks, and data directories.
- Key entry points include [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md) for environment configuration and [`lessons/1-Intro/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/1-Intro/README.md) for beginning the course.
- The directory structure supports programmatic navigation, enabling automated validation and integration into learning management systems.

## Frequently Asked Questions

### How are the lessons in AI-For-Beginners organized?

The lessons follow a 12-week curriculum structure organized into thematic modules numbered 0 through 7, plus an X-Extras folder for supplementary content. Each module resides in its own subdirectory within the `lessons` folder and typically contains a [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) explaining learning objectives, Jupyter notebooks with executable code, assignment files for hands-on practice, and supporting data or image assets.

### What is the purpose of the 0-course-setup folder?

The `0-course-setup` directory contains essential documentation for configuring your development environment before beginning the coursework. It includes [`setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/setup.md) with instructions for creating conda environments and [`how-to-run.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/how-to-run.md) with execution guidelines, ensuring students have the proper tools installed to run notebooks from subsequent modules like `3-NeuralNetworks` and `4-ComputerVision`.

### How can I find the notebooks for specific topics like NLP or Computer Vision?

Topic-specific notebooks are organized within numbered module folders: Computer Vision content resides in `lessons/4-ComputerVision` (including subfolders like `12-Segmentation`), while NLP materials are in `lessons/5-NLP` with subfolders such as `18-Transformers`, `19-NER`, and `20-LangModels`. Each subfolder contains relevant `.ipynb` files, such as `SemanticSegmentationTF.ipynb` for vision tasks or `TransformersTF.ipynb` for natural language processing.

### What is the difference between the numbered modules and the X-Extras folder?

The numbered modules (0-7) form the core 12-week curriculum covering essential AI concepts from setup through ethics, while `X-Extras` contains supplementary and experimental content not required for the main course progression. The extras folder includes advanced topics like multimodal AI (`X1-MultiModal/Clip.ipynb`) that showcase state-of-the-art research beyond the foundational curriculum.