# How to Navigate the File Structure of AI For Beginners: A Complete Directory Guide

> Master the AI For Beginners file structure with our directory guide. Navigate lesson modules, notebooks, data, and quiz apps easily.

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

---

**The AI For Beginners repository organizes its 12-week curriculum into numbered lesson modules, with self-contained notebooks, data assets, and a Vue-based quiz application accessible through predictable file paths.**

This guide walks through the complete directory layout of Microsoft's **AI For Beginners** open-source educational repository. Understanding this structure helps you quickly locate Jupyter notebooks, dependency files, translation assets, and the interactive quiz frontend.

## Top-Level Directory Layout

The repository root contains configuration files and four primary directories. Here's what each component handles:

| Path | Purpose |
|------|---------|
| [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) | Project overview, licensing, and setup instructions |
| [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) | Conda environment with Python 3, TensorFlow, PyTorch |
| [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt) | Pip-compatible dependencies for notebook execution |
| `lessons/` | Core curriculum with notebooks and markdown guides |
| `etc/quiz-app/` | Vue 2.x single-page application for lesson quizzes |
| `translations/` | Community-contributed multilingual content |
| `binder/` | Cloud deployment configuration for Binder |

The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) file defines the definitive Python stack. Use this to reproduce the exact environment used throughout the course.

## The Lessons Directory Structure

The `lessons/` folder follows a 12-week curriculum progression with numbered modules:

```

lessons/
├── 0-course-setup/
├── 1-Intro/
├── 2-Symbolic/
├── 3-NeuralNetworks/
├── 4-ComputerVision/
├── 5-NLP/
├── 6-Other/
├── 7-Ethics/
└── X-Extras/

```

Each module contains a [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) that catalogs available notebooks and required datasets.

### Computer Vision Module (`lessons/4-ComputerVision/`)

This module demonstrates the typical submodule pattern:

- `08-TransferLearning/` — fine-tuning pretrained models
- `09-Autoencoders/` — dimensionality reduction and generation
- `10-GANs/` — generative adversarial networks
- `11-ObjectDetection/` — YOLO, R-CNN implementations
- `12-Segmentation/` — pixel-level classification

Each subdirectory contains `.ipynb` notebooks and an `images/` folder with embedded media. For example, `lessons/4-ComputerVision/11-ObjectDetection/images/` stores visual assets referenced in that lesson.

The entry point [`lessons/4-ComputerVision/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/4-ComputerVision/README.md) lists all notebooks and expected learning outcomes for this track.

### Natural Language Processing Module (`lessons/5-NLP/`)

The NLP section follows the same pattern, with transformer-based content such as:

```bash
lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb

```

This notebook implements a GPT-style language model using PyTorch, representing the repository's approach to state-of-the-art architectures.

### Sketchnotes Directory

Visual learning aids are stored in `lessons/sketchnotes/` as PNG files. Example: `lessons/sketchnotes/ai-neuralnetworks.png` provides a conceptual overview of neural network fundamentals.

## The Quiz Application (`etc/quiz-app/`)

The interactive quiz system is a standalone Vue 2.x project with this structure:

```

etc/quiz-app/
├── public/
│   ├── index.html
│   └── routes.json
├── src/
│   ├── main.js              # Vue application bootstrap

│   ├── router/index.js      # SPA route definitions

│   ├── App.vue
│   ├── components/Quiz.vue
│   └── assets/translations/ # Per-lesson JSON files

├── package.json             # npm dependencies

└── dist/                    # Production build output

```

Key source files to understand:

- **[`etc/quiz-app/package.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/package.json)** — declares Vue 2.x, ESLint, and build toolchain versions
- **[`etc/quiz-app/src/main.js`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/src/main.js)** — creates and mounts the Vue instance
- **[`etc/quiz-app/src/router/index.js`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/src/router/index.js)** — defines routes for Home, lesson pages, and 404 handling

The quiz content is stored as JSON translation files. Example: [`translations/en/lesson-1.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/translations/en/lesson-1.json) shows the schema for multilingual question data.

## Translations and Internationalization

Localized content lives in `translations/` with subdirectories per language code:

```

translations/
├── es/lesson-1.json
├── zh/lesson-1.json
└── ...

```

These JSON files mirror the structure used by the quiz app's `src/assets/translations/` directory, enabling synchronized multilingual support across the curriculum.

## Practical Navigation Commands

Use these terminal and Python snippets to explore the repository efficiently.

### List Curriculum Structure

```bash
tree -L 2 lessons

```

This reveals the module hierarchy without overwhelming detail.

### Launch a Specific Notebook

```bash
jupyter lab lessons/4-ComputerVision/08-TransferLearning/OxfordPets.ipynb

```

### Discover All Notebooks Programmatically

```python
import pathlib

repo_root = pathlib.Path('.')
notebooks = sorted(repo_root.rglob('*.ipynb'))

print(f"Found {len(notebooks)} notebooks:")
for nb in notebooks:
    print(f"- {nb}")

```

### Run the Quiz App Locally

```bash
cd etc/quiz-app
npm install
npm run serve

```

This starts a development server at `http://localhost:8080`.

## Summary

- **Root configuration**: [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) and [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt) provide reproducible Python environments
- **Curriculum organization**: `lessons/` uses numbered modules (0-7 plus X-Extras) with consistent [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) entry points
- **Asset colocation**: Notebooks, images, and data files reside in the same subdirectory for offline reproducibility
- **Quiz architecture**: Vue 2.x SPA in `etc/quiz-app/` with router-based navigation and JSON-driven content
- **Internationalization**: `translations/` directory with language-coded JSON files for global accessibility

## Frequently Asked Questions

### How do I find which notebook covers a specific AI topic?

Check the [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) in the relevant module directory. Each module's README catalogs all notebooks with brief descriptions of their learning objectives. For computer vision topics, start with [`lessons/4-ComputerVision/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/4-ComputerVision/README.md).

### What file should I open first to understand the repository?

Start with the root [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) for project overview and setup instructions. Then examine [`lessons/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/README.md) for curriculum navigation. If you're setting up locally, [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) contains the definitive dependency specification.

### How is the quiz content stored and loaded?

Quiz questions are stored as JSON files in `etc/quiz-app/src/assets/translations/` with filenames like [`lesson-1.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/lesson-1.json). The Vue router in [`etc/quiz-app/src/router/index.js`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/src/router/index.js) maps URLs to these content files dynamically.

### Can I run the notebooks without installing the full environment?

Yes. The `binder/` directory contains configuration for launching the repository on Binder, a free cloud-based Jupyter service. This uses [`binder/postBuild.sh`](https://github.com/microsoft/AI-For-Beginners/blob/main/binder/postBuild.sh) to prepare the environment automatically.