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

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 Project overview, licensing, and setup instructions
environment.yml Conda environment with Python 3, TensorFlow, PyTorch
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 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 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 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:

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:

The quiz content is stored as JSON translation files. Example: 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

tree -L 2 lessons

This reveals the module hierarchy without overwhelming detail.

Launch a Specific Notebook

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

Discover All Notebooks Programmatically

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

cd etc/quiz-app
npm install
npm run serve

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

Summary

  • Root configuration: environment.yml and requirements.txt provide reproducible Python environments
  • Curriculum organization: lessons/ uses numbered modules (0-7 plus X-Extras) with consistent 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 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.

What file should I open first to understand the repository?

Start with the root README.md for project overview and setup instructions. Then examine lessons/README.md for curriculum navigation. If you're setting up locally, 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. The Vue router in 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 to prepare the environment automatically.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →