# Key Files Within the AI-For-Beginners Repository: Curriculum Structure Explained

> Explore the key files in the AI-For-Beginners repository. Understand the curriculum structure with README, environment, lessons, examples, and app files.

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

---

**The key files within the AI-For-Beginners repository include the [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) for curriculum navigation, [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) for Conda dependency management, executable Jupyter notebooks in `lessons/` and Python scripts in `examples/`, the Vue.js quiz application in `etc/quiz-app/`, and infrastructure configurations in `.devcontainer/` and `.github/workflows/`.**

The AI-For-Beginners repository is a comprehensive, self-contained curriculum developed by Microsoft that combines documentation, runnable code, and interactive assessments. Understanding the key files within the AI-For-Beginners repository allows learners to navigate the course efficiently, set up reproducible environments, and progress from basic "Hello AI" scripts to advanced transformer implementations.

## Course Metadata and Navigation Files

The repository root contains essential files that define the learning environment and provide entry points into the curriculum.

**[`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md)** serves as the primary landing page, listing every lesson, linking to community resources, and mapping the progression from introductory concepts to advanced topics like multi-agent systems.

**[`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml)** defines the Conda environment with pinned package versions—including `tensorflow==2.17.0`, `torch==2.3.0`, Keras, and OpenCV—ensuring that all notebooks execute without version conflicts. Learners activate this environment using:

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

```

**[`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt)** provides a pip-based fallback for the same dependencies, offering flexibility for users who prefer pip over Conda.

**[`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md)** contains the step-by-step environment configuration guide, referencing the [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) file and verifying installations before learners proceed to coding exercises.

## Executable Learning Materials

The curriculum separates lightweight quick-start scripts from comprehensive lesson notebooks, accommodating different learning styles and time constraints.

### Quick-Start Examples

The **`examples/`** directory contains standalone Python scripts that demonstrate end-to-end workflows without navigating the full lesson hierarchy:

- **[`examples/01-hello-ai-world.py`](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/01-hello-ai-world.py)** — A minimal "Hello AI" starter that imports `numpy`, creates a tiny dataset, trains a perceptron, and outputs a simple classification prediction.
- **[`examples/02-simple-neural-network.py`](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/02-simple-neural-network.py)** — Builds a tiny neural network from scratch using only NumPy, illustrating forward and backward propagation without framework abstractions.
- **`examples/03-image-classifier.ipynb`** — A fully-commented Jupyter notebook demonstrating image classification with data loading, model definition, and visualization cells.
- **[`examples/04-text-sentiment.py`](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/04-text-sentiment.py)** — Implements sentiment analysis on a small text corpus, showing natural language processing fundamentals.

### Structured Lesson Notebooks

The **`lessons/`** directory organizes content by AI domain, with each folder containing theory explanations in [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) files followed by executable notebooks:

- **`lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb`** — A classic perceptron implementation that visualizes decision boundaries and loss convergence.
- **`lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb`** — A complete CNN implementation in PyTorch, structured into **Data Loading**, **Model Definition**, **Training Loop**, and **Visualization** sections.
- **`lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb`** — A BERT-style transformer example demonstrating attention mechanisms and fine-tuning for text classification.

Launching a specific lesson requires navigating to the file path and starting Jupyter:

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

```

## Quiz Application and Assessment Tools

The **`etc/quiz-app/`** directory contains a Vue 2.x application that validates learner knowledge through interactive multiple-choice questions synchronized with lesson content.

**[`etc/quiz-app/src/main.js`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/src/main.js)** serves as the JavaScript entry point, initializing the Vue application and routing configuration.

**[`etc/quiz-app/src/components/Quiz.vue`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/src/components/Quiz.vue)** contains the core quiz component logic, handling question rendering, answer validation, and score tracking.

**`etc/quiz-app/src/assets/translations/`** stores JSON localization files (e.g., [`en.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/en.json), [`es.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/es.json)) that enable multilingual support, keeping quiz content accessible to global learners.

To run the assessment tool locally:

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

```

The application serves at `http://localhost:8080` and reads translation files to present questions derived directly from the lesson metadata.

## Infrastructure and Development Environment

Microsoft includes configuration files that ensure reproducibility across VS Code, GitHub Codespaces, and Binder.

**[`.devcontainer/devcontainer.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/.devcontainer/devcontainer.json)** defines the VS Code development container, specifying Docker image requirements, extensions, and post-create commands that automatically install the Conda environment when users click **Reopen in Container**.

**[`.github/workflows/scorecard.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/.github/workflows/scorecard.yml)** implements the OpenSSF Scorecard workflow, continuously monitoring repository security posture and dependency vulnerabilities.

**[`binder/environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/binder/environment.yml)** and **[`binder/postBuild.sh`](https://github.com/microsoft/AI-For-Beginners/blob/main/binder/postBuild.sh)** configure the repository for deployment on Binder, allowing learners to launch Jupyter notebooks in the cloud without local installation.

## Summary

- **Navigation and setup** rely on [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md), [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml), and [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md) to orient learners and establish consistent Python environments.
- **Hands-on coding** occurs in `examples/` for quick experiments and `lessons/` for deep-dive notebooks covering perceptrons, CNNs, and transformers.
- **Knowledge assessment** happens through the Vue.js quiz application located in `etc/quiz-app/`, featuring localized content in `src/assets/translations/`.
- **Reproducibility** is guaranteed by [`.devcontainer/devcontainer.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/.devcontainer/devcontainer.json) for local containerized development and `binder/` configurations for cloud execution.

## Frequently Asked Questions

### What is the purpose of the environment.yml file in AI-For-Beginners?

The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) file defines a Conda environment named `ai4beg` that pins exact package versions including TensorFlow 2.17.0 and PyTorch 2.3.0. This ensures that all Jupyter notebooks and Python scripts execute identically across different machines, preventing version drift that commonly breaks machine learning tutorials.

### How do I run the quiz application locally?

Navigate to the `etc/quiz-app` directory, run `npm install` to install Vue.js dependencies, then execute `npm run serve` to start the development server on port 8080. The application reads translation files from `src/assets/translations/` to present questions based on lesson content.

### What is the difference between the examples/ and lessons/ folders?

The `examples/` folder contains lightweight, standalone scripts like [`01-hello-ai-world.py`](https://github.com/microsoft/AI-For-Beginners/blob/main/01-hello-ai-world.py) that demonstrate complete workflows in single files, while the `lessons/` folder contains comprehensive Jupyter notebooks organized by AI domain (Neural Networks, Computer Vision, NLP) with detailed markdown explanations and extended exercises.

### Which file should I open first to start the AI-For-Beginners course?

Begin with the [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) in the repository root to understand the curriculum structure, then follow the setup instructions in [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md) to configure your environment using [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) before running [`examples/01-hello-ai-world.py`](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/01-hello-ai-world.py) or opening any lesson notebooks.