Open-source project
microsoft/AI-For-Beginners avatar
microsoft/AI-For-Beginners

AI-For-Beginners pins TensorFlow and not PyTorch, for a course that teaches both

12 Weeks, 24 Lessons, AI for All!

69,258 stars13,416 forksJupyter NotebookMIT

At a glance

What is it?
AI-For-Beginners is a 12-week, 24-lesson curriculum in Jupyter notebooks, MIT licensed and translated into 50+ languages by an automated action. The interesting parts are the boundaries it draws. The requirements file pins twenty packages and PyTorch is not among them, the README states outright that it may be lacking in the state-of-the-art, and three topics are explicitly deferred to other Microsoft courses.
Who is it for?
AI-For-Beginners suits someone who wants a structured, twelve-week path through the fundamentals with exercises that run rather than a list of papers, and who is prepared to install PyTorch separately to follow the second framework. It does not suit someone chasing current models, because the README says so itself, and it is not a business or cloud course, since both are named as out of scope and pointed elsewhere.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 13 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

requirements.txt pins TensorFlow 2.17.0 and lists no PyTorch at all

The curriculum says it illustrates neural network concepts using two of the most popular frameworks, naming TensorFlow and PyTorch. The pinned requirements file contains `tensorflow==2.17.0` and `tensorboard==2.17.1`, plus `keras==3.15.0`, `tensorflow-datasets==4.9.6` and `tensorflow-hub==0.16.1`. There is no `torch` entry. The only PyTorch-related line is `torchinfo==1.8.0`, which is a library for inspecting PyTorch models and is not the framework itself.

So a learner who installs the requirements file gets TensorFlow and its ecosystem, and no PyTorch. Every notebook written against the second framework will fail on its first import, and the fix is a separate install that the repository does not spell out in the file it tells you to use.

The other twenty pins are consistent with a reinforcement learning and NLP component: `gym==0.26.2` with `pygame==2.6.0` for environments, `nltk==3.10.3` and `gensim==4.3.3` for text, `smart-open` for the data directory. One line is worth a second look regardless of framework: `huggingface==0.0.1` is a placeholder package, not the Hub client. A curriculum pinning a stub is a small reminder to read what each pin actually installs.

The README says it may be lacking in the state-of-the-art

The most useful sentence in the curriculum description is an admission. On neural architectures for images and text, it says the course will cover recent models but may be a bit lacking in the state-of-the-art.

That sentence is worth more to a reader than a claim of currency would be, because it tells you what kind of course this is before you spend a week in it. This is a fundamentals course: symbolic AI with knowledge representation and reasoning, neural networks and deep learning, architectures for images and text, and then less popular approaches such as genetic algorithms and multi-agent systems. The interesting content is the last category, which is exactly what a course written from current attention would omit.

The consequence is a mismatch if you arrive with the wrong expectation. Someone looking for current architectures and their benchmarks will find the treatment thin and correctly so, because the material was written to teach structure rather than to track a leaderboard. Someone learning what a convolution or an attention mechanism is and why it works will find the course longer than they need.

There is a mindmap linked from the description, hosted off-repository, which is the fastest way to see the shape of the twelve weeks before starting.

Three topics are declared out of scope, and two point at other Microsoft courses

The curriculum has a section headed what we will not cover, and it is more specific than a disclaimer usually is.

Business cases for using AI in business are excluded, with a pointer to an introduction to AI for business users learning path on Microsoft Learn and to an AI Business School developed with INSEAD. Classic machine learning is excluded, with a pointer to the separate Machine Learning for Beginners curriculum. Practical AI applications built with Cognitive Services are excluded, with pointers to Microsoft Learn modules for vision and natural language processing.

So the omissions are deliberate and each one has a named destination, which is more useful than a general statement that the course is introductory. What it describes is a twelve-week slice: the ideas, the two frameworks, the exercises. What it is not is a route to deploying anything, and it is not even a route to classical machine learning, which surprises people who assume a general AI course covers regression.

If you work through all twenty-four lessons and then try to ship something, three gaps remain, and the README has told you in advance exactly which three and where each is covered.

Fifty-plus translations is why the README tells you not to clone the whole thing

The translation table runs to more than fifty languages, and the reason is download size. The README says the repository includes 50+ language translations which significantly increases the download size, and gives a three-line recipe for avoiding them:

bash
git clone --filter=blob:none --sparse https://github.com/microsoft/AI-For-Beginners.git
cd AI-For-Beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

A Windows variant of the same three lines is given for CMD. What it buys is a partial clone that filters blobs and then excludes both the translated READMEs and the translated images, so you get the course and skip the bulk.

The translations are machine-generated and kept current by automation, not by review. The table sits between markers reading CO-OP TRANSLATOR LANGUAGES TABLE START and END, and the heading above it says the languages are supported via GitHub Action, automated and always up-to-date. The translator is a separate project, Azure/co-op-translator, which also maintains the list of languages it can handle.

That has two consequences. Your clone is far smaller than the repository's size suggests, which is the point of the recipe. And a translated lesson is a machine rendering that changes when the action runs, so if you are reading a translation rather than the English original, you are reading something that will be rewritten underneath you, with no version to pin it to.

Four ways to run a notebook, and the requirements file is only one of them

The repository offers at least four distinct environments, and nothing in the README says they are equivalent. There is a `requirements.txt` for pip, a conda `environment.yml` at the root, a `binder` directory wired to a mybinder badge, and a `.devcontainer` directory. A `.nojekyll` file and an `index.html` sit at the root as well, so the project also serves itself as a static site.

Each of those resolves dependencies differently. A pip install follows the twenty pinned versions exactly. A conda environment can differ, and the repository does not document where the two files diverge. Binder builds its own image in the cloud from the declared environment, which means your first run is someone else's resolution of the same declaration. A devcontainer bakes the toolchain into a container definition.

The consequence is that a question about whether the course works has four different answers depending on which path you took, and the honest response to a notebook that will not run is to check which environment you actually built rather than to assume the material is wrong.

The root also carries a `troubleshoot.md`, which is where the project puts that problem, and an `AGENTS.md` next to `CONTRIBUTING.md` and `SECURITY.md`.

There is an Untitled.ipynb at the root of a curriculum repository

The file listing of the repository root includes a notebook called `Untitled.ipynb`, sitting alongside `README.md`, `lessons`, `examples`, `data`, `etc` and `images`. It is the default filename a notebook gets when someone creates one and saves without naming it, which means somebody opened a notebook locally in this repository, ran something, and committed the result.

Nothing depends on it and nothing breaks because of it. It is worth noting anyway, for a reason specific to this project. The README instructs everyone to clone this repository, or at least the sparse version of it, and the root is the first directory a learner sees. A curriculum whose top level contains an unnamed notebook is a small signal that the top level is not curated the way the lesson material is, and that the difference between the two is visible in the file listing.

The lesson directories are the opposite: `lessons`, `examples`, `data` and `etc` are named, separated by purpose, and `data` in particular is a directory you would expect a course to pin, since notebooks that read files break when the data moves.

The repository also has no releases and no changelog, which is the subject of the last section.

No releases and no changelog, so a twelve-week course has no fixed version

The repository publishes no releases, has no tag to check out, and the root listing has no changelog file. The last push to the main branch was 2026-09-16.

For a twelve-week curriculum that is a real constraint rather than a technicality. You are being asked to spend three months working through material that lives on a branch, and the branch keeps moving. A lesson can be corrected, a notebook can be rewritten to work with a newer library, and a requirement can be bumped, and the only way to find out whether the version you started is the version you are looking at is to note the commit yourself on day one.

The pinned requirements make this worse in a specific way. Twenty exact versions describe an environment that was working when they were written, and if TensorFlow moves past 2.17.0 the notebooks are not rewritten to match, because the pins hold them in place. So the course is reproducible in its dependencies and unreproducible in its content, which is the wrong way round for something you work through slowly.

The fix is unglamorous. Clone it, note the commit hash, and keep your notes against that hash. A course that is going to change under you is still worth doing; it is just not something to start twice.

Editorial conclusion

AI-For-Beginners suits someone who wants a structured, twelve-week path through the fundamentals with exercises that run rather than a list of papers, and who is prepared to install PyTorch separately to follow the second framework. It does not suit someone chasing current models, because the README says so itself, and it is not a business or cloud course, since both are named as out of scope and pointed elsewhere. Before you start, resolve the environment question rather than discovering it at lesson one: read both requirements.txt and environment.yml, expect TensorFlow to install cleanly and PyTorch not to install at all, and clone with the sparse-checkout recipe rather than pulling fifty translations you do not intend to read.

Frequently asked questions

what is ai for beginners

It is a 12-week, 24-lesson curriculum from Microsoft, MIT licensed, made up of practical lessons, quizzes and labs in Jupyter notebooks. It covers the symbolic approach with knowledge representation and reasoning, neural networks and deep learning illustrated in TensorFlow and PyTorch, neural architectures for images and text, and less common approaches such as genetic algorithms and multi-agent systems. It is translated into more than fifty languages by an automated action.

how to use ai for beginners

Work through the lessons in order and run the notebooks. The repository offers several environments, so check which one you built: a pip requirements.txt, a conda environment.yml, a Binder badge that builds in the cloud, or a devcontainer. Note that the requirements file pins TensorFlow 2.17.0 and does not include PyTorch, so a second install is needed for the notebooks written against the other framework.

Can I learn AI for free?

The curriculum itself is free and MIT licensed, and there is nothing to buy to read it. The notebooks can run in a browser through the Binder badge at the top of the README, or locally once you have installed the environment. What is not provided is compute for training models, so the cost of the practical exercises falls on whatever machine you run them on, and the repository does not include hardware guidance.

How can a beginner start learning AI?

This curriculum is one structured route, and it is explicit about its edges. It teaches fundamentals across twelve weeks and twenty-four lessons, and it says it may be lacking in the state-of-the-art for neural architectures. It deliberately excludes classic machine learning, business cases, and applications built with cloud AI services, pointing to a separate Machine Learning for Beginners curriculum and to Microsoft Learn modules for the rest.

Official sources

  1. Official README
  2. Project repository