AI for Oceans

Learn about machine learning and ethical use of AI.

#CSforGood

Available in 25+ languages | Grades 3+

Try now

AI for Oceans

Learn about machine learning and ethical use of AI.

#CSforGood

Available in 25+ languages | Grades 3+

Try now

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.

Teacher Resources

Lesson plans and activities to help you teach AI, machine learning, training data, and bias, while exploring ethical issues.
View Resources

CS for Good

Resources to help students understand the role computer science could play in creating a more equitable world.
View Resources
In partnership with  
We thank Microsoft for supporting our vision and mission to ensure every child has the opportunity to learn computer science and the skills to succeed in the 21st century.

Videos about AI and Machine Learning

Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail

Activities Powered by AI and ML

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.

Teach and Learn about AI

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)

AI for Oceans: Behind the Scenes

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").