Teach
About
Privacy & Legal
Learn about machine learning and ethical use of AI.
#CSforGood
Available in 25+ languages | Grades 3+
Learn about machine learning and ethical use of AI.
#CSforGood
Available in 25+ languages | Grades 3+
Computer science is about so much more than coding! Learn about artificial intelligence (AI), machine learning, training data, and bias, while exploring ethical issues and how AI can be used to address world problems. Enjoy Code.org's first step in a new journey to teach more about AI. When you use the AI for Oceans activity you are training real machine learning models. Learn more.
Activity | Description |
Seeing AI | A free app that narrates the world around you in a variety of languages. |
Quick, Draw! | Can a neural network learn to recognize doodling? |
Teachable Machine | Train a computer to recognize your own images, sounds, and poses. |
AI Experiments with Google | Start exploring machine learning through pictures, drawings, language, music, and more. |
Zooniverse - Snapshot Mountain Zebra | Help protect the endangered Cape Mountain Zebra by identifying the different animals in the images. |
Name | Description | Audience |
Minecraft AI for Good | Access free resources including a lesson plan, videos, computer science curriculum, and teacher trainings. (Requires Minecraft: Education Edition) | K-12 (Reading required) |
Machine Learning for Kids | Train a machine learning model with text, numbers, or images, and use it to make games in Scratch. | K-12 (Reading required) |
IBM: Machine Learning for Kids | IBM: Machine Learning for Kids | K-12 (Reading required) |
ECS: Artificial Intelligence (AI) | A new alternate curriculum unit for the Exploring Computer Science (ECS) curriculum. | High school |
Elements of AI | A series of free online courses created by Reaktor and the University of Helsinki. | High school |
Cognimates | An AI education platform for building games, programming robots and training. | K-12 (Reading required) |
Levels 2-4 use a pretrained model provided by the TensorFlow MobileNet project. A MobileNet model is a convolutional neural network that has been trained on ImageNet, a dataset of over 14 million images hand-annotated with words such as "balloon" or "strawberry". In order to customize this model with the labeled training data the student generates in this activity, we use a technique called Transfer Learning. Each image in the training dataset is fed to MobileNet, as pixels, to obtain a list of annotations that are most likely to apply to it. Then, for a new image, we feed it to MobileNet and compare its resulting list of annotations to those from the training dataset. We classify the new image with the same label (such as "fish" or "not fish") as the images from the training set with the most similar results.
Levels 6-8 use a Support-Vector Machine (SVM). We look at each component of the fish (such as eyes, mouth, body) and assemble all of the metadata for the components (such as number of teeth, body shape) into a vector of numbers for each fish. We use these vectors to train the SVM. Based on the training data, the SVM separates the "space" of all possible fish into two parts, which correspond to the classes we are trying to learn (such as "blue" or "not blue").