# Understanding the Directory Structure in AI-For-Beginners: A Complete Guide to Microsoft's Curriculum Organization

> Explore the AI-For-Beginners directory structure. Discover how modular folders organize the 12-week curriculum, quizzes, translations, and cloud environments for seamless learning.

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

---

**The directory structure in AI-For-Beginners is architected as a self-contained learning platform that separates the 12-week curriculum, interactive quizzes, multilingual translations, and cloud execution environments into modular folders.**

Microsoft's AI-For-Beginners repository organizes educational content through a deliberate directory structure that enables learners to follow a linear progression or jump to specific AI topics without friction. This layout isolates executable notebooks, assessment tools, and localization assets so that beginners can focus on learning PyTorch, TensorFlow, and Keras concepts while educators maintain the curriculum efficiently. Understanding how these directories interact allows users to locate lesson materials, run interactive quizzes, and deploy cloud-based environments with minimal setup.

## Core Curriculum Organization in the `lessons/` Directory

The `lessons/` directory serves as the primary educational hub, containing the complete 12-week curriculum partitioned into topic-specific subdirectories.

### Modular Week-Based Structure

Each subfolder follows a numbered naming convention that maps to the course syllabus: `0-course-setup`, `1-Intro`, `2-Symbolic`, `3-NeuralNetworks`, `4-ComputerVision`, `5-NLP`, `6-Other`, `7-Ethics`, and `X-Extras`. According to the repository's [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md), this modular design lets learners pull specific topics without importing unrelated dependencies or code. Every lesson folder contains a [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) that describes theoretical concepts, learning objectives, and prerequisites for that module.

### Hands-On Implementation Files

Within each lesson directory, you will find Jupyter notebooks implementing the concepts using **PyTorch**, **TensorFlow**, or **Keras**, alongside optional lab exercises for hands-on practice. This colocation of documentation and executable code ensures that the teaching materials remain synchronized with the implementation. For example, the computer vision module at `lessons/4-ComputerVision/07-ConvNets/` contains both explanatory text and runnable `ConvNetsPyTorch.ipynb` notebooks.

## Interactive and Supportive Components

Beyond the core curriculum, the repository includes specialized directories that provide assessment capabilities, multilingual accessibility, and zero-install execution environments.

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

The `etc/quiz-app/` directory houses a Vue 2.x single-page application that delivers interactive quizzes referenced throughout the lessons. This separation allows the assessment layer to evolve independently from the curriculum content. Contributors can run the quiz app locally using standard Node.js tooling:

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

```

The application can also deploy directly to Azure Static Web Apps, creating a seamless bridge between theoretical content and knowledge assessment.

### Multilingual Support (`translations/`)

The `translations/` directory contains over 50 language packs, each maintaining localized versions of lesson text and quiz content. By isolating translations from the core curriculum, the repository remains lightweight for users who do not require multilingual support. Advanced users can employ `git sparse-checkout` to retrieve specific language packs without cloning the entire translation history, optimizing storage and fetch times.

### Cloud-Based Execution (`binder/`)

The `binder/` directory contains configuration files—specifically [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml), [`postBuild.sh`](https://github.com/microsoft/AI-For-Beginners/blob/main/postBuild.sh), and [`apt.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/apt.txt)—that define a reproducible Binder environment. This setup enables one-click, browser-based Jupyter sessions for learners who cannot configure local Python environments. The Binder badge in the top-level [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) initiates a cloud instance at `https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD`, eliminating installation barriers.

## Quick-Start Resources and Configuration

### Standalone Examples (`examples/`)

The `examples/` directory provides standalone Python scripts and notebooks that demonstrate core AI concepts—such as hello-world implementations, simple neural networks, image classifiers, and text sentiment analysis—without requiring navigation through the full 12-week structure. These serve as accelerated entry points for learners who want to experiment with code immediately before committing to the comprehensive curriculum.

### Root-Level Configuration Files

The repository root contains critical metadata that governs the entire project:

- **[`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml)**: Lists all Python dependencies including TensorFlow, PyTorch, and Keras versions required to execute the curriculum notebooks.
- **[`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md)**: Provides a high-level architectural overview and the "File Organization" diagram referenced in lines 27-34 of [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md).
- **[`CONTRIBUTING.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/CONTRIBUTING.md)**: Defines contribution guidelines for educators and developers extending the curriculum.

## Navigating the Repository Structure

Users interact with the directory structure through predictable paths that separate concerns between content consumption, environment setup, and assessment.

To explore available lessons from the command line:

```bash
ls lessons

```

To launch a specific notebook in a local Jupyter environment:

```bash
jupyter notebook lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb

```

To establish the complete Conda environment defined for the curriculum:

```bash
conda env create -f environment.yml
conda activate ai4beg

```

This structure ensures that **curriculum content** remains isolated under `lessons/`, **executable assets** stay colocated with their descriptions, **supporting services** operate independently, and **high-level metadata** provides single-source-of-truth dependency management.

## Summary

- The `lessons/` directory contains the 12-week curriculum organized by topic, with each folder including README documentation and framework-specific Jupyter notebooks.
- The `etc/quiz-app/` directory provides a Vue.js assessment tool that runs independently of the core educational content.
- The `translations/` directory hosts 50+ language packs that can be selectively checked out using sparse-checkout to minimize repository size.
- The `binder/` directory enables zero-install browser-based execution through Binder configuration files.
- The `examples/` directory offers standalone entry points for immediate hands-on experimentation with AI concepts.
- Root files including [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) and [`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md) provide centralized dependency management and architectural documentation.

## Frequently Asked Questions

### How is the AI-For-Beginners curriculum organized?

The curriculum follows a modular directory structure under `lessons/`, with subfolders numbered 0 through 7 plus an X-Extras section, each containing topic-specific README files and executable notebooks. This organization allows learners to follow a linear 12-week path or navigate directly to specific subjects like Computer Vision or Natural Language Processing without loading unrelated materials.

### What is the purpose of the `etc/quiz-app/` directory?

The `etc/quiz-app/` directory contains a Vue 2.x interactive quiz application that provides knowledge assessments referenced throughout the lessons. This separation allows the quiz interface to be developed, tested, and deployed to Azure Static Web Apps independently from the educational content, enabling seamless integration between theory and evaluation.

### How do I run the Jupyter notebooks without installing Python locally?

You can use the Binder configuration located in the `binder/` directory, which includes [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml), [`postBuild.sh`](https://github.com/microsoft/AI-For-Beginners/blob/main/postBuild.sh), and [`apt.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/apt.txt) files that define a reproducible cloud environment. Clicking the Binder badge in the root [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) launches a browser-based Jupyter instance at `https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD`, eliminating the need for local Python installation.

### Where are the translation files located in the repository?

All multilingual content resides in the `translations/` directory at the repository root, containing over 50 language packs with localized README files and quiz content. This isolation keeps the core curriculum lightweight while allowing users to access specific translations through Git sparse-checkout when needed.