Contributing to Zero to AIΒΆ

Thank you for contributing to this repository. The goal of this project is to make AI/ML learning structured, practical, and maintainable for self-learners.

What Contributions Help MostΒΆ

  • Fix broken links, stale APIs, and outdated instructions

  • Improve explanations in notebooks and READMEs

  • Add exercises, assignments, and challenge prompts

  • Add or improve 00_START_HERE.ipynb guidance in modules

  • Contribute new notebooks only when they clearly fit the existing curriculum

Before You StartΒΆ

  1. Read README.md for the repo overview

  2. Read MASTER_STUDY_GUIDE.md to understand the intended learning flow

  3. Check checklist.md if your change affects the curriculum path

  4. Search existing issues and pull requests before starting overlapping work

Repo StructureΒΆ

This repo uses numbered folders for the learning path:

  • 00-course-setup/

  • 01-python/

  • 02-data-science/

  • 03-maths/

  • 04-token/

  • 05-embeddings/

  • 06-neural-networks/

  • 07-vector-databases/

  • 08-rag/

  • 09-mlops/

  • 10-specializations/

  • 11-prompt-engineering/

  • 12-llm-finetuning/

  • 13-multimodal/

  • 14-local-llms/

  • 15-ai-agents/

  • 16-model-evaluation/

  • 17-debugging-troubleshooting/

  • 18-low-code-ai-tools/

  • 19-ai-safety-redteaming/

  • 20-real-time-streaming/

  • 21-quizzes/

  • 22-references/

  • 23-glossary/

  • 24-advanced-deep-learning/

  • 25-reinforcement-learning/

  • 26-time-series-analysis/

  • 27-causal-inference/

  • 28-practical-data-science/

  • 29-ai-hardware-llm-validation/

  • 30-inference-optimization/

Getting StartedΒΆ

Fork and CloneΒΆ

git clone https://github.com/YOUR_USERNAME/zero-to-ai.git
cd zero-to-ai

Set Up the EnvironmentΒΆ

Use the repo’s current setup docs:

Fast path:

./install_dependencies.sh
source .venv/bin/activate

Create a BranchΒΆ

git checkout -b docs/fix-rag-links

Standards for Curriculum ChangesΒΆ

Prefer curriculum consistency over noveltyΒΆ

A smaller, coherent learning path is better than a larger repo with overlapping or stale material.

If you add a notebookΒΆ

  • Place it in the correct numbered module

  • Add or update that module’s README.md

  • Update checklist.md if it becomes part of the intended path

  • Update MASTER_STUDY_GUIDE.md only if it changes the recommended flow

If you update documentationΒΆ

  • Check local links

  • Remove stale file references

  • Avoid exact counts unless you have verified them

  • Prefer β€œfirst pass / optional depth” guidance when a module is large

If you update code in notebooksΒΆ

  • Make sure the notebook still runs top-to-bottom when practical

  • Keep explanations beginner-readable

  • Explain why a technique is used, not just what the code does

Pull Request ChecklistΒΆ

Before opening a PR:

  • Run the changed notebook or verify the changed doc paths

  • Check for broken local links in edited markdown

  • Confirm you did not introduce old folder names or stale file references

  • Keep unrelated cleanup out of the PR unless it is obviously generated clutter

Commit StyleΒΆ

Use clear, narrow commit messages:

git commit -m "docs: fix root setup instructions"
git commit -m "fix: update checklist paths for cs229 notebooks"
git commit -m "docs: refresh vector database module README"

Reporting Bugs or Content IssuesΒΆ

When opening an issue, include:

  • file path

  • what is wrong

  • expected behavior

  • reproduction steps if code is involved

LicenseΒΆ

By contributing, you agree that your contributions will be licensed under the MIT License in LICENSE.md.